From 77905291643ce1de0ad0fcf451406452f28c68ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Verschelde?= Date: Mon, 8 Sep 2025 16:20:52 +0200 Subject: [PATCH] Sync Sphinx and Weblate templates with current docs (4.5) --- docs | 2 +- sphinx/templates/about/list_of_features.pot | 190 +- .../templates/about/system_requirements.pot | 2 +- .../development/code_style_guidelines.pot | 2 +- .../compiling/compiling_for_linuxbsd.pot | 4 +- .../compiling/compiling_for_visionos.pot | 28 + .../compiling/compiling_for_windows.pot | 168 +- .../development/compiling/index.pot | 4 +- .../configuring_an_ide/kdevelop.pot | 2 +- .../configuring_an_ide/visual_studio_code.pot | 78 +- .../development/editor/creating_icons.pot | 36 +- .../first_3d_game/01.game_setup.pot | 4 +- .../first_3d_game/05.spawning_mobs.pot | 144 +- .../first_3d_game/06.jump_and_squash.pot | 92 +- .../first_3d_game/09.adding_animations.pot | 316 +- .../step_by_step/instancing.pot | 106 +- .../step_by_step/nodes_and_scenes.pot | 2 +- .../step_by_step/scripting_first_script.pot | 24 +- .../step_by_step/scripting_player_input.pot | 2 +- .../getting_started/step_by_step/signals.pot | 116 +- sphinx/templates/tutorials/2d/2d_meshes.pot | 2 +- .../tutorials/3d/particles/collision.pot | 2 +- .../templates/tutorials/3d/using_gridmaps.pot | 110 +- .../tutorials/animation/2d_skeletons.pot | 2 +- .../tutorials/animation/animation_tree.pot | 2 +- .../tutorials/animation/creating_movies.pot | 280 +- .../import_configuration.pot | 204 +- .../export/exporting_for_visionos.pot | 32 + .../tutorials/export/feature_tags.pot | 2 +- .../i18n/internationalizing_games.pot | 90 +- .../migrating/upgrading_to_godot_4.4.pot | 324 +- .../navigation/navigation_introduction_2d.pot | 2 +- .../navigation_optimizing_performance.pot | 2 +- .../performance/pipeline_compilations.pot | 56 + .../tutorials/physics/using_jolt_physics.pot | 160 +- .../android/android_in_app_purchases.pot | 86 +- ...aclasswrapper_and_androidruntimeplugin.pot | 12 + .../plugins/editor/making_plugins.pot | 2 +- .../plugins/running_code_in_the_editor.pot | 50 +- .../rendering/multiple_resolutions.pot | 12 +- .../tutorials/rendering/renderers.pot | 8 +- .../scripting/c_sharp/c_sharp_exports.pot | 26 +- .../scripting/creating_script_templates.pot | 4 +- .../scripting/gdscript/static_typing.pot | 110 +- .../tutorials/shaders/compute_shaders.pot | 2 +- .../shader_reference/canvas_item_shader.pot | 196 +- .../tutorials/ui/bbcode_in_richtextlabel.pot | 776 +- .../tutorials/xr/basic_xr_locomotion.pot | 2 +- .../tutorials/xr/openxr_settings.pot | 24 +- .../templates/tutorials/xr/setting_up_xr.pot | 76 +- .../templates/tutorials/xr/xr_action_map.pot | 4 +- templates_list.txt | 18 +- weblate/docs.pot | 7599 +++++++++-------- 53 files changed, 6169 insertions(+), 5430 deletions(-) create mode 100644 sphinx/templates/contributing/development/compiling/compiling_for_visionos.pot create mode 100644 sphinx/templates/tutorials/export/exporting_for_visionos.pot diff --git a/docs b/docs index 897f6ab7d9..2df068f087 160000 --- a/docs +++ b/docs @@ -1 +1 @@ -Subproject commit 897f6ab7d918abb05f55b364a093a6ddd2322dad +Subproject commit 2df068f087f2ec3da84b74ac59aae344d9391c20 diff --git a/sphinx/templates/about/list_of_features.pot b/sphinx/templates/about/list_of_features.pot index 8a8c4485af..380875fb3b 100644 --- a/sphinx/templates/about/list_of_features.pot +++ b/sphinx/templates/about/list_of_features.pot @@ -1386,286 +1386,294 @@ msgstr "" msgid "Support for advertisements using third-party modules." msgstr "" -#: ../../docs/about/list_of_features.rst:656 +#: ../../docs/about/list_of_features.rst:658 msgid "XR support (AR and VR)" msgstr "" -#: ../../docs/about/list_of_features.rst:658 +#: ../../docs/about/list_of_features.rst:660 msgid "Out of the box :ref:`support for OpenXR `." msgstr "" -#: ../../docs/about/list_of_features.rst:660 +#: ../../docs/about/list_of_features.rst:662 msgid "Including support for popular desktop headsets like the Valve Index, WMR headsets, and Quest over Link." msgstr "" -#: ../../docs/about/list_of_features.rst:662 +#: ../../docs/about/list_of_features.rst:664 msgid "Support for :ref:`Android-based headsets ` using OpenXR through a plugin." msgstr "" -#: ../../docs/about/list_of_features.rst:664 +#: ../../docs/about/list_of_features.rst:666 msgid "Including support for popular stand alone headsets like the Meta Quest 1/2/3 and Pro, Pico 4, Magic Leap 2, and Lynx R1." msgstr "" -#: ../../docs/about/list_of_features.rst:666 -msgid "Other devices supported through an XR plugin structure." -msgstr "" - -#: ../../docs/about/list_of_features.rst:667 -msgid "Various advanced toolkits are available that implement common features required by XR applications." +#: ../../docs/about/list_of_features.rst:668 +msgid "Out of the box limited support for visionOS Apple headsets." msgstr "" #: ../../docs/about/list_of_features.rst:670 -msgid "GUI system" +msgid "Currently only exporting an application for use on a flat plane within the headset is supported. Immersive experiences are not supported." msgstr "" -#: ../../docs/about/list_of_features.rst:672 -msgid "Godot's GUI is built using the same Control nodes used to make games in Godot. The editor UI can easily be extended in many ways using add-ons." +#: ../../docs/about/list_of_features.rst:673 +msgid "Other devices supported through an XR plugin structure." msgstr "" -#: ../../docs/about/list_of_features.rst:675 -msgid "**Nodes:**" +#: ../../docs/about/list_of_features.rst:674 +msgid "Various advanced toolkits are available that implement common features required by XR applications." msgstr "" #: ../../docs/about/list_of_features.rst:677 -msgid "Buttons." -msgstr "" - -#: ../../docs/about/list_of_features.rst:678 -msgid "Checkboxes, check buttons, radio buttons." +msgid "GUI system" msgstr "" #: ../../docs/about/list_of_features.rst:679 -msgid "Text entry using :ref:`class_LineEdit` (single line) and :ref:`class_TextEdit` (multiple lines). TextEdit also supports code editing features such as displaying line numbers and syntax highlighting." +msgid "Godot's GUI is built using the same Control nodes used to make games in Godot. The editor UI can easily be extended in many ways using add-ons." msgstr "" #: ../../docs/about/list_of_features.rst:682 -msgid "Dropdown menus using :ref:`class_PopupMenu` and :ref:`class_OptionButton`." -msgstr "" - -#: ../../docs/about/list_of_features.rst:683 -msgid "Scrollbars." +msgid "**Nodes:**" msgstr "" #: ../../docs/about/list_of_features.rst:684 -msgid "Labels." +msgid "Buttons." msgstr "" #: ../../docs/about/list_of_features.rst:685 -msgid "RichTextLabel for :ref:`text formatted using BBCode `, with support for animated custom effects." +msgid "Checkboxes, check buttons, radio buttons." msgstr "" -#: ../../docs/about/list_of_features.rst:687 -msgid "Trees (can also be used to represent tables)." -msgstr "" - -#: ../../docs/about/list_of_features.rst:688 -msgid "Color picker with RGB and HSV modes." +#: ../../docs/about/list_of_features.rst:686 +msgid "Text entry using :ref:`class_LineEdit` (single line) and :ref:`class_TextEdit` (multiple lines). TextEdit also supports code editing features such as displaying line numbers and syntax highlighting." msgstr "" #: ../../docs/about/list_of_features.rst:689 -msgid "Controls can be rotated and scaled." +msgid "Dropdown menus using :ref:`class_PopupMenu` and :ref:`class_OptionButton`." +msgstr "" + +#: ../../docs/about/list_of_features.rst:690 +msgid "Scrollbars." msgstr "" #: ../../docs/about/list_of_features.rst:691 -msgid "**Sizing:**" +msgid "Labels." msgstr "" -#: ../../docs/about/list_of_features.rst:693 -msgid "Anchors to keep GUI elements in a specific corner, edge or centered." +#: ../../docs/about/list_of_features.rst:692 +msgid "RichTextLabel for :ref:`text formatted using BBCode `, with support for animated custom effects." msgstr "" #: ../../docs/about/list_of_features.rst:694 -msgid "Containers to place GUI elements automatically following certain rules." +msgid "Trees (can also be used to represent tables)." +msgstr "" + +#: ../../docs/about/list_of_features.rst:695 +msgid "Color picker with RGB and HSV modes." msgstr "" #: ../../docs/about/list_of_features.rst:696 -msgid ":ref:`Stack ` layouts." -msgstr "" - -#: ../../docs/about/list_of_features.rst:697 -msgid ":ref:`Grid ` layouts." +msgid "Controls can be rotated and scaled." msgstr "" #: ../../docs/about/list_of_features.rst:698 -msgid ":ref:`Flow ` layouts (similar to autowrapping text)." +msgid "**Sizing:**" msgstr "" -#: ../../docs/about/list_of_features.rst:699 -msgid ":ref:`Margin `, :ref:`centered ` and :ref:`aspect ratio ` layouts." +#: ../../docs/about/list_of_features.rst:700 +msgid "Anchors to keep GUI elements in a specific corner, edge or centered." msgstr "" #: ../../docs/about/list_of_features.rst:701 -msgid ":ref:`Draggable splitter ` layouts." +msgid "Containers to place GUI elements automatically following certain rules." msgstr "" #: ../../docs/about/list_of_features.rst:703 -msgid "Scale to :ref:`multiple resolutions ` using the ``canvas_items`` or ``viewport`` stretch modes." +msgid ":ref:`Stack ` layouts." +msgstr "" + +#: ../../docs/about/list_of_features.rst:704 +msgid ":ref:`Grid ` layouts." msgstr "" #: ../../docs/about/list_of_features.rst:705 +msgid ":ref:`Flow ` layouts (similar to autowrapping text)." +msgstr "" + +#: ../../docs/about/list_of_features.rst:706 +msgid ":ref:`Margin `, :ref:`centered ` and :ref:`aspect ratio ` layouts." +msgstr "" + +#: ../../docs/about/list_of_features.rst:708 +msgid ":ref:`Draggable splitter ` layouts." +msgstr "" + +#: ../../docs/about/list_of_features.rst:710 +msgid "Scale to :ref:`multiple resolutions ` using the ``canvas_items`` or ``viewport`` stretch modes." +msgstr "" + +#: ../../docs/about/list_of_features.rst:712 msgid "Support any aspect ratio using anchors and the ``expand`` stretch aspect." msgstr "" -#: ../../docs/about/list_of_features.rst:707 +#: ../../docs/about/list_of_features.rst:714 msgid "**Theming:**" msgstr "" -#: ../../docs/about/list_of_features.rst:709 +#: ../../docs/about/list_of_features.rst:716 msgid "Built-in theme editor." msgstr "" -#: ../../docs/about/list_of_features.rst:711 +#: ../../docs/about/list_of_features.rst:718 msgid "Generate a theme based on the current editor theme settings." msgstr "" -#: ../../docs/about/list_of_features.rst:713 +#: ../../docs/about/list_of_features.rst:720 msgid "Procedural vector-based theming using :ref:`class_StyleBoxFlat`." msgstr "" -#: ../../docs/about/list_of_features.rst:715 +#: ../../docs/about/list_of_features.rst:722 msgid "Supports rounded/beveled corners, drop shadows, per-border widths and antialiasing." msgstr "" -#: ../../docs/about/list_of_features.rst:717 +#: ../../docs/about/list_of_features.rst:724 msgid "Texture-based theming using :ref:`class_StyleBoxTexture`." msgstr "" -#: ../../docs/about/list_of_features.rst:719 +#: ../../docs/about/list_of_features.rst:726 msgid "Godot's small distribution size can make it a suitable alternative to frameworks like Electron or Qt." msgstr "" -#: ../../docs/about/list_of_features.rst:723 +#: ../../docs/about/list_of_features.rst:730 msgid "Animation" msgstr "" -#: ../../docs/about/list_of_features.rst:725 +#: ../../docs/about/list_of_features.rst:732 msgid "Direct kinematics and inverse kinematics." msgstr "" -#: ../../docs/about/list_of_features.rst:726 +#: ../../docs/about/list_of_features.rst:733 msgid "Support for animating any property with customizable interpolation." msgstr "" -#: ../../docs/about/list_of_features.rst:727 +#: ../../docs/about/list_of_features.rst:734 msgid "Support for calling methods in animation tracks." msgstr "" -#: ../../docs/about/list_of_features.rst:728 +#: ../../docs/about/list_of_features.rst:735 msgid "Support for playing sounds in animation tracks." msgstr "" -#: ../../docs/about/list_of_features.rst:729 +#: ../../docs/about/list_of_features.rst:736 msgid "Support for Bézier curves in animation." msgstr "" -#: ../../docs/about/list_of_features.rst:732 +#: ../../docs/about/list_of_features.rst:739 msgid "File formats" msgstr "" -#: ../../docs/about/list_of_features.rst:734 +#: ../../docs/about/list_of_features.rst:741 msgid "Scenes and resources can be saved in :ref:`text-based ` or binary formats." msgstr "" -#: ../../docs/about/list_of_features.rst:736 +#: ../../docs/about/list_of_features.rst:743 msgid "Text-based formats are human-readable and more friendly to version control." msgstr "" -#: ../../docs/about/list_of_features.rst:737 +#: ../../docs/about/list_of_features.rst:744 msgid "Binary formats are faster to save/load for large scenes/resources." msgstr "" -#: ../../docs/about/list_of_features.rst:739 +#: ../../docs/about/list_of_features.rst:746 msgid "Read and write text or binary files using :ref:`class_FileAccess`." msgstr "" -#: ../../docs/about/list_of_features.rst:741 +#: ../../docs/about/list_of_features.rst:748 msgid "Can optionally be compressed or encrypted." msgstr "" -#: ../../docs/about/list_of_features.rst:743 +#: ../../docs/about/list_of_features.rst:750 msgid "Read and write :ref:`class_JSON` files." msgstr "" -#: ../../docs/about/list_of_features.rst:744 +#: ../../docs/about/list_of_features.rst:751 msgid "Read and write INI-style configuration files using :ref:`class_ConfigFile`." msgstr "" -#: ../../docs/about/list_of_features.rst:746 +#: ../../docs/about/list_of_features.rst:753 msgid "Can (de)serialize any Godot datatype, including Vector2/3, Color, ..." msgstr "" -#: ../../docs/about/list_of_features.rst:748 +#: ../../docs/about/list_of_features.rst:755 msgid "Read XML files using :ref:`class_XMLParser`." msgstr "" -#: ../../docs/about/list_of_features.rst:749 +#: ../../docs/about/list_of_features.rst:756 msgid ":ref:`Load and save images, audio/video, fonts and ZIP archives ` in an exported project without having to go through Godot's import system." msgstr "" -#: ../../docs/about/list_of_features.rst:751 +#: ../../docs/about/list_of_features.rst:758 msgid "Pack game data into a PCK file (custom format optimized for fast seeking), into a ZIP archive, or directly into the executable for single-file distribution." msgstr "" -#: ../../docs/about/list_of_features.rst:753 +#: ../../docs/about/list_of_features.rst:760 msgid ":ref:`Export additional PCK files` that can be read by the engine to support mods and DLCs." msgstr "" -#: ../../docs/about/list_of_features.rst:757 +#: ../../docs/about/list_of_features.rst:764 msgid "Miscellaneous" msgstr "" -#: ../../docs/about/list_of_features.rst:759 +#: ../../docs/about/list_of_features.rst:766 msgid ":ref:`Video playback ` with built-in support for Ogg Theora." msgstr "" -#: ../../docs/about/list_of_features.rst:760 +#: ../../docs/about/list_of_features.rst:767 msgid ":ref:`Movie Maker mode ` to record videos from a running project with synchronized audio and perfect frame pacing." msgstr "" -#: ../../docs/about/list_of_features.rst:762 +#: ../../docs/about/list_of_features.rst:769 msgid ":ref:`Low-level access to servers ` which allows bypassing the scene tree's overhead when needed." msgstr "" -#: ../../docs/about/list_of_features.rst:764 +#: ../../docs/about/list_of_features.rst:771 msgid ":ref:`Command line interface ` for automation." msgstr "" -#: ../../docs/about/list_of_features.rst:766 +#: ../../docs/about/list_of_features.rst:773 msgid "Export and deploy projects using continuous integration platforms." msgstr "" -#: ../../docs/about/list_of_features.rst:767 +#: ../../docs/about/list_of_features.rst:774 msgid "`Shell completion scripts `__ are available for Bash, zsh and fish." msgstr "" -#: ../../docs/about/list_of_features.rst:769 +#: ../../docs/about/list_of_features.rst:776 msgid "Print colored text to standard output on all platforms using :ref:`print_rich `." msgstr "" -#: ../../docs/about/list_of_features.rst:772 +#: ../../docs/about/list_of_features.rst:779 msgid "Support for :ref:`C++ modules ` statically linked into the engine binary." msgstr "" -#: ../../docs/about/list_of_features.rst:774 +#: ../../docs/about/list_of_features.rst:781 msgid "Engine and editor written in C++17." msgstr "" -#: ../../docs/about/list_of_features.rst:776 +#: ../../docs/about/list_of_features.rst:783 msgid "Can be :ref:`compiled ` using GCC, Clang and MSVC. MinGW is also supported." msgstr "" -#: ../../docs/about/list_of_features.rst:778 +#: ../../docs/about/list_of_features.rst:785 msgid "Friendly towards packagers. In most cases, system libraries can be used instead of the ones provided by Godot. The build system doesn't download anything. Builds can be fully reproducible." msgstr "" -#: ../../docs/about/list_of_features.rst:782 +#: ../../docs/about/list_of_features.rst:789 msgid "Licensed under the permissive MIT license." msgstr "" -#: ../../docs/about/list_of_features.rst:784 +#: ../../docs/about/list_of_features.rst:791 msgid "Open development process with :ref:`contributions welcome `." msgstr "" -#: ../../docs/about/list_of_features.rst:788 +#: ../../docs/about/list_of_features.rst:795 msgid "The `Godot proposals repository `__ lists features that have been requested by the community and may be implemented in future Godot releases." msgstr "" diff --git a/sphinx/templates/about/system_requirements.pot b/sphinx/templates/about/system_requirements.pot index 7b7d5123cd..9e52aa31f4 100644 --- a/sphinx/templates/about/system_requirements.pot +++ b/sphinx/templates/about/system_requirements.pot @@ -98,7 +98,7 @@ msgstr "" #: ../../docs/about/system_requirements.rst:45 #: ../../docs/about/system_requirements.rst:228 #: ../../docs/about/system_requirements.rst:233 -msgid "*Example: Intel HD Graphics 5500 (Broadwell), AMD Radeon R5 Graphics (Kaveri)*" +msgid "*Example: Intel HD Graphics 510 (Skylake), AMD Radeon R5 Graphics (Kaveri)*" msgstr "" #: ../../docs/about/system_requirements.rst:43 diff --git a/sphinx/templates/contributing/development/code_style_guidelines.pot b/sphinx/templates/contributing/development/code_style_guidelines.pot index 1adfd53700..5924f8fae1 100644 --- a/sphinx/templates/contributing/development/code_style_guidelines.pot +++ b/sphinx/templates/contributing/development/code_style_guidelines.pot @@ -253,7 +253,7 @@ msgid "You can apply ``ruff`` manually to one or more files with the following c msgstr "" #: ../../docs/contributing/development/code_style_guidelines.rst:298 -msgid "``-l 120`` means that the allowed number of characters per line is 120. This number was agreed upon by the developers." +msgid "``--line-length 120`` means that the allowed number of characters per line is 120. This number was agreed upon by the developers." msgstr "" #: ../../docs/contributing/development/code_style_guidelines.rst:300 diff --git a/sphinx/templates/contributing/development/compiling/compiling_for_linuxbsd.pot b/sphinx/templates/contributing/development/compiling/compiling_for_linuxbsd.pot index 6265f3ae4d..558daa00b3 100644 --- a/sphinx/templates/contributing/development/compiling/compiling_for_linuxbsd.pot +++ b/sphinx/templates/contributing/development/compiling/compiling_for_linuxbsd.pot @@ -206,7 +206,7 @@ msgid "Building export templates" msgstr "" #: ../../docs/contributing/development/compiling/compiling_for_linuxbsd.rst:332 -msgid "Linux binaries usually won't run on distributions that are older than the distribution they were built on. If you wish to distribute binaries that work on most distributions, you should build them on an old distribution such as Ubuntu 16.04. You can use a virtual machine or a container to set up a suitable build environment." +msgid "Linux binaries usually won't run on distributions that are older than the distribution they were built on. If you wish to distribute binaries that work on most distributions, you should build them on an old distribution such as Ubuntu 20.04. You can use a virtual machine or a container to set up a suitable build environment." msgstr "" #: ../../docs/contributing/development/compiling/compiling_for_linuxbsd.rst:340 @@ -250,7 +250,7 @@ msgid "To cross-compile Godot for RISC-V devices, we need to setup the following msgstr "" #: ../../docs/contributing/development/compiling/compiling_for_linuxbsd.rst:396 -msgid "`riscv-gnu-toolchain `__. While we are not going to use this directly, it provides us with a sysroot, as well as header and libraries files that we will need. There are many versions to choose from, however, the older the toolchain, the more compatible our final binaries will be. If in doubt, `use this version `__, and download ``riscv64-glibc-ubuntu-18.04-nightly-2021.12.22-nightly.tar.gz``. Extract it somewhere and remember its path." +msgid "`riscv-gnu-toolchain `__. While we are not going to use this directly, it provides us with a sysroot, as well as header and libraries files that we will need. There are many versions to choose from, however, the older the toolchain, the more compatible our final binaries will be. If in doubt, `use this version `__, and download ``riscv64-glibc-ubuntu-20.04-gcc-nightly-2023.07.07-nightly.tar.gz``. Extract it somewhere and remember its path." msgstr "" #: ../../docs/contributing/development/compiling/compiling_for_linuxbsd.rst:403 diff --git a/sphinx/templates/contributing/development/compiling/compiling_for_visionos.pot b/sphinx/templates/contributing/development/compiling/compiling_for_visionos.pot new file mode 100644 index 0000000000..0714c3b6e3 --- /dev/null +++ b/sphinx/templates/contributing/development/compiling/compiling_for_visionos.pot @@ -0,0 +1,28 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2014-present Juan Linietsky, Ariel Manzur and the Godot community (CC BY 3.0) +# This file is distributed under the same license as the Godot Engine package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Godot Engine latest\n" +"Report-Msgid-Bugs-To: \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" + +#: ../../docs/contributing/development/compiling/compiling_for_visionos.rst:4 +msgid "Compiling for visionOS" +msgstr "" + +#: ../../docs/contributing/development/compiling/compiling_for_visionos.rst:8 +msgid "This page describes how to compile visionOS export template binaries from source. If you're looking to export your project to visionOS instead, see :ref:`doc_exporting_for_visionos`." +msgstr "" + +#: ../../docs/contributing/development/compiling/compiling_for_visionos.rst:11 +msgid "Compiling instructions for visionOS are currently identical to :ref:`doc_compiling_for_ios`, except you should replace instances of ``platform=ios`` with ``platform=visionos`` in the SCons options. See the linked page for details." +msgstr "" diff --git a/sphinx/templates/contributing/development/compiling/compiling_for_windows.pot b/sphinx/templates/contributing/development/compiling/compiling_for_windows.pot index b4c02aff40..7f8d4127aa 100644 --- a/sphinx/templates/contributing/development/compiling/compiling_for_windows.pot +++ b/sphinx/templates/contributing/development/compiling/compiling_for_windows.pot @@ -67,338 +67,338 @@ msgstr "" msgid "If you have `MSYS2 `_ installed, you can easily install MinGW and other dependencies using the following command:" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:56 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:55 msgid "For each MSYS2 MinGW subsystem, you should then run `pip3 install scons` in its shell." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:59 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:58 msgid "To get the Godot source code for compiling, see :ref:`doc_getting_source`." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:62 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:61 msgid "For a general overview of SCons usage for Godot, see :ref:`doc_introduction_to_the_buildsystem`." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:66 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:65 msgid "Setting up SCons" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:68 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:67 msgid "To install SCons, open the command prompt and run the following command:" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:74 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:73 msgid "If you are prompted with the message ``Defaulting to user installation because normal site-packages is not writeable``, you may have to run that command again using elevated permissions. Open a new command prompt as an Administrator then run the command again to ensure that SCons is available from the ``PATH``." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:80 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:79 msgid "To check whether you have installed Python and SCons correctly, you can type ``python --version`` and ``scons --version`` into a command prompt (``cmd.exe``)." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:84 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:83 msgid "If the commands above don't work, make sure to add Python to your ``PATH`` environment variable after installing it, then check again. You can do so by running the Python installer again and enabling the option to add Python to the ``PATH``." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:89 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:88 msgid "If SCons cannot detect your Visual Studio installation, it might be that your SCons version is too old. Update it to the latest version with ``python -m pip install --upgrade scons``." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:96 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:95 msgid "Downloading Godot's source" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:98 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:97 msgid "Refer to :ref:`doc_getting_source` for detailed instructions." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:100 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:99 msgid "The tutorial will assume from now on that you placed the source code in ``C:\\godot``." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:105 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:104 msgid "To prevent slowdowns caused by continuous virus scanning during compilation, add the Godot source folder to the list of exceptions in your antivirus software." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:109 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:108 msgid "For Windows Defender, hit the :kbd:`Windows` key, type \"Windows Security\" then hit :kbd:`Enter`. Click on **Virus & threat protection** on the left panel. Under **Virus & threat protection settings** click on **Manage Settings** and scroll down to **Exclusions**. Click **Add or remove exclusions** then add the Godot source folder." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:116 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:115 msgid "Compiling" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:119 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:118 msgid "Selecting a compiler" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:121 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:120 msgid "SCons will automatically find and use an existing Visual Studio installation. If you do not have Visual Studio installed, it will attempt to use MinGW instead. If you already have Visual Studio installed and want to use MinGW-w64, pass ``use_mingw=yes`` to the SCons command line. Note that MSVC builds cannot be performed from the MSYS2 or MinGW shells. Use either ``cmd.exe`` or PowerShell instead. If you are using MinGW-LLVM, pass both ``use_mingw=yes`` and ``use_llvm=yes`` to the SCons command line." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:131 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:130 msgid "During development, using the Visual Studio compiler is usually a better idea, as it links the Godot binary much faster than MinGW. However, MinGW can produce more optimized binaries using link-time optimization (see below), making it a better choice for production use. This is particularly the case for the GDScript VM which performs much better with MinGW compared to MSVC. Therefore, it's recommended to use MinGW to produce builds that you distribute to players." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:139 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:138 msgid "All official Godot binaries are built in `custom containers `__ using MinGW." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:144 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:143 msgid "Running SCons" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:146 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:145 msgid "After opening a command prompt, change to the root directory of the engine source code (using ``cd``) and type:" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:153 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:152 msgid "When compiling with multiple CPU threads, SCons may warn about pywin32 being missing. You can safely ignore this warning." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:157 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:156 msgid "If you are compiling Godot to make changes or contribute to the engine, you may want to use the SCons options ``dev_build=yes`` or ``dev_mode=yes``. See :ref:`doc_introduction_to_the_buildsystem_development_and_production_aliases` for more info." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:162 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:161 msgid "If all goes well, the resulting binary executable will be placed in ``C:\\godot\\bin\\`` with the name ``godot.windows.editor.x86_32.exe`` or ``godot.windows.editor.x86_64.exe``. By default, SCons will build a binary matching your CPU architecture, but this can be overridden using ``arch=x86_64``, ``arch=x86_32``, or ``arch=arm64``." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:168 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:167 msgid "This executable file contains the whole engine and runs without any dependencies. Running it will bring up the Project Manager." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:171 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:170 msgid "If you are compiling Godot for production use, you can make the final executable smaller and faster by adding the SCons option ``production=yes``. This enables additional compiler optimizations and link-time optimization." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:176 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:175 msgid "LTO takes some time to run and requires up to 30 GB of available RAM while compiling (depending on toolchain). If you're running out of memory with the above option, use ``production=yes lto=none`` or ``production=yes lto=thin`` (LLVM only) for a lightweight but less effective form of LTO." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:181 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:180 msgid "If you want to use separate editor settings for your own Godot builds and official releases, you can enable :ref:`doc_data_paths_self_contained_mode` by creating a file called ``._sc_`` or ``_sc_`` in the ``bin/`` folder." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:187 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:186 msgid "Compiling with support for Direct3D 12" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:189 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:188 msgid "By default, builds of Godot do not contain support for the Direct3D 12 graphics API." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:192 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:191 msgid "You can install the required dependencies by running ``python misc/scripts/install_d3d12_sdk_windows.py`` in the Godot source repository. After running this script, add the ``d3d12=yes`` SCons option to enable Direct3D 12 support. This will use the default paths for the various dependencies, which match the ones used in the script." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:198 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:197 msgid "You can find the detailed steps below if you wish to set up dependencies manually, but the above script handles everything for you (including the optional PIX and Agility SDK components)." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:202 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:201 msgid "`godot-nir-static library `_. We compile the Mesa libraries you will need into a static library. Download it anywhere, unzip it and remember the path to the unzipped folder, you will need it below." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:207 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:206 msgid "You can optionally build the godot-nir-static libraries yourself with the following steps:" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:210 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:209 msgid "Install the Python package `mako `_ which is needed to generate some files." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:212 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:211 msgid "Clone the `godot-nir-static `_ directory and navigate to it." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:214 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:213 msgid "Run the following:" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:235 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:234 msgid "Optionally, you can compile with the following for additional features:" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:237 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:236 msgid "`PIX `_ is a performance tuning and debugging application for Direct3D12 applications. If you compile-in support for it, you can get much more detailed information through PIX that will help you optimize your game and troubleshoot graphics bugs. To use it, download the WinPixEventRuntime package. You will be taken to a NuGet package page where you can click \"Download package\" to get it. Once downloaded, change the file extension to .zip and unzip the file to some path." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:244 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:243 msgid "`Agility SDK `_ can be used to provide access to the latest Direct3D 12 features without relying on driver updates. To use it, download the latest Agility SDK package. You will be taken to a NuGet package page where you can click \"Download package\" to get it. Once downloaded, change the file extension to .zip and unzip the file to some path." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:251 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:250 msgid "If you use a preview version of the Agility SDK, remember to enable developer mode in Windows; otherwise it won't be used." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:254 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:253 msgid "If you want to use a PIX with MinGW build, navigate to PIX runtime directory and use the following commands to generate import library:" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:267 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:266 msgid "When building Godot, you will need to tell SCons to use Direct3D 12 and where to look for the additional libraries:" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:274 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:273 msgid "Or, with all options enabled:" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:280 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:279 msgid "For the Agility SDK's DLLs you have to explicitly choose the kind of workflow. Single-arch is the default (DLLs copied to ``bin/``). If you pass ``agility_sdk_multi_arch=yes`` to SCons, you'll opt-in for multi-arch. DLLs will be copied to the appropriate ``bin//`` subdirectories and at runtime the right one will be loaded." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:287 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:286 msgid "Compiling with ANGLE support" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:289 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:288 msgid "ANGLE provides a translation layer from OpenGL ES 3.x to Direct3D 11 and can be used to improve support for the Compatibility renderer on some older GPUs with outdated OpenGL drivers and on Windows for ARM." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:293 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:292 msgid "By default, Godot is built with dynamically linked ANGLE, you can use it by placing ``libEGL.dll`` and ``libGLESv2.dll`` alongside the executable." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:296 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:295 msgid "You can use dynamically linked ANGLE with export templates as well, rename aforementioned DLLs to ``libEGL.{architecture}.dll`` and ``libGLESv2.{architecture}.dll`` and place them alongside export template executables, and libraries will be automatically copied during the export process." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:301 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:300 msgid "To compile Godot with statically linked ANGLE:" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:303 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:302 msgid "Download pre-built static libraries from `godot-angle-static library `_, and unzip them." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:304 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:303 msgid "When building Godot, add ``angle_libs={path}`` to tell SCons where to look for the ANGLE libraries:" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:310 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:309 msgid "You can optionally build the godot-angle-static libraries yourself with the following steps:" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:313 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:312 msgid "Clone the `godot-angle-static `_ directory and navigate to it." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:315 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:314 msgid "Run the following command:" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:337 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:336 msgid "Development in Visual Studio" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:339 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:338 msgid "Using an IDE is not required to compile Godot, as SCons takes care of everything. But if you intend to do engine development or debugging of the engine's C++ code, you may be interested in configuring a code editor or an IDE." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:343 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:342 msgid "Folder-based editors don't require any particular setup to start working with Godot's codebase. To edit projects with Visual Studio they need to be set up as a solution." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:346 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:345 msgid "You can create a Visual Studio solution via SCons by running SCons with the ``vsproj=yes`` parameter, like this:" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:353 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:352 msgid "You will be able to open Godot's source in a Visual Studio solution now, and able to build Godot using Visual Studio's **Build** button." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:356 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:355 msgid "See :ref:`doc_configuring_an_ide_vs` for further details." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:359 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:358 msgid "Cross-compiling for Windows from other operating systems" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:361 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:360 msgid "If you are a Linux or macOS user, you need to install `MinGW-w64 `__, which typically comes in 32-bit and 64-bit variants, or `MinGW-LLVM `_, which comes as a single archive for all target architectures. The package names may differ based on your distribution, here are some known ones:" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:368 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:367 msgid "**Arch Linux**" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:372 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:371 msgid "**Debian** / **Ubuntu**" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:376 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:375 msgid "**Fedora**" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:381 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:380 msgid "**macOS**" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:385 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:384 msgid "**Mageia**" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:391 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:390 msgid "Before attempting the compilation, SCons will check for the following binaries in your ``PATH`` environment variable:" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:405 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:404 msgid "If the binaries are not located in the ``PATH`` (e.g. ``/usr/bin``), you can define the following environment variable to give a hint to the build system:" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:413 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:412 msgid "Where ``/path/to/mingw`` is the path containing the ``bin`` directory where ``i686-w64-mingw32-gcc`` and ``x86_64-w64-mingw32-gcc`` are located (e.g. ``/opt/mingw-w64`` if the binaries are located in ``/opt/mingw-w64/bin``)." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:417 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:416 msgid "To make sure you are doing things correctly, executing the following in the shell should result in a working compiler (the version output may differ based on your system):" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:426 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:425 msgid "If you are building with MinGW-LLVM, add ``use_llvm=yes`` to the ``scons`` command." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:427 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:426 msgid "When cross-compiling for Windows using MinGW-w64, keep in mind only ``x86_64`` and ``x86_32`` architectures are supported. MinGW-LLVM supports ``arm64`` as well. Be sure to specify the right ``arch=`` option when invoking SCons if building from a different architecture." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:433 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:432 msgid "Troubleshooting" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:435 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:434 msgid "Cross-compiling from some Ubuntu versions may lead to `this bug `_, due to a default configuration lacking support for POSIX threading." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:439 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:438 msgid "You can change that configuration following those instructions, for 64-bit:" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:448 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:447 msgid "And for 32-bit:" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:458 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:457 msgid "Creating Windows export templates" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:460 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:459 msgid "Windows export templates are created by compiling Godot without the editor, with the following flags:" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:472 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:471 msgid "If you plan on replacing the standard export templates, copy these to the following location, replacing ```` with the version identifier (such as ``4.2.1.stable`` or ``4.3.dev``):" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:480 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:479 msgid "With the following names:" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:497 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:496 msgid "However, if you are using custom modules or custom engine code, you may instead want to configure your binaries as custom export templates in the project export menu. You must have **Advanced Options** enabled to set this." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:504 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:503 msgid "You don't need to copy them in this case, just reference the resulting files in the ``bin\\`` directory of your Godot source folder, so the next time you build, you will automatically have the custom templates referenced." msgstr "" diff --git a/sphinx/templates/contributing/development/compiling/index.pot b/sphinx/templates/contributing/development/compiling/index.pot index 215d600de9..8d2be17623 100644 --- a/sphinx/templates/contributing/development/compiling/index.pot +++ b/sphinx/templates/contributing/development/compiling/index.pot @@ -51,10 +51,10 @@ msgstr "" msgid "Other compilation targets and options" msgstr "" -#: ../../docs/contributing/development/compiling/index.rst:61 +#: ../../docs/contributing/development/compiling/index.rst:62 msgid "Some additional universal compilation options require further setup. Namely, while Godot does have C#/.NET support as a part of its main codebase, it does not get compiled by default to reduce the executable size for users who don't need C# for their projects." msgstr "" -#: ../../docs/contributing/development/compiling/index.rst:65 +#: ../../docs/contributing/development/compiling/index.rst:66 msgid "Articles below explain how to configure the buildsystem for cases like this, and also cover some optimization techniques." msgstr "" diff --git a/sphinx/templates/contributing/development/configuring_an_ide/kdevelop.pot b/sphinx/templates/contributing/development/configuring_an_ide/kdevelop.pot index 0d56bd30b8..fed66f3421 100644 --- a/sphinx/templates/contributing/development/configuring_an_ide/kdevelop.pot +++ b/sphinx/templates/contributing/development/configuring_an_ide/kdevelop.pot @@ -108,7 +108,7 @@ msgid "Click **Add** to create a new launch configuration." msgstr "" #: ../../docs/contributing/development/configuring_an_ide/kdevelop.rst:78 -msgid "Select **Executable** option and specify the path to your executable located in the ``/bin`` folder. The name depends on your build configuration, e.g. ``godot.linuxbsd.editor.dev.x86_64`` for 64-bit LinuxBSD platform with ``platform=editor`` and ``dev_build=yes``." +msgid "Select **Executable** option and specify the path to your executable located in the ``/bin`` folder. The name depends on your build configuration, e.g. ``godot.linuxbsd.editor.dev.x86_64`` for 64-bit LinuxBSD platform with ``platform=linuxbsd``, ``target=editor``, and ``dev_build=yes``." msgstr "" #: ../../docs/contributing/development/configuring_an_ide/kdevelop.rst:87 diff --git a/sphinx/templates/contributing/development/configuring_an_ide/visual_studio_code.pot b/sphinx/templates/contributing/development/configuring_an_ide/visual_studio_code.pot index fdca7c2a63..b4c210b0fe 100644 --- a/sphinx/templates/contributing/development/configuring_an_ide/visual_studio_code.pot +++ b/sphinx/templates/contributing/development/configuring_an_ide/visual_studio_code.pot @@ -20,157 +20,157 @@ msgid "Visual Studio Code" msgstr "" #: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:8 -msgid "This documentation is for contributions to the game engine, and not using Visual Studio Code as a C# or GDScript editor. To code C# or GDScript in an external editor, see :ref:`the C# guide to configure an external editor `." +msgid "This documentation is for contributions to the game engine, and not using Visual Studio Code as a C# or GDScript editor. To code C# or GDScript in an external editor, see :ref:`the C# guide to configure an external editor ` or :ref:`the GDScript guide to using an external text editor `." msgstr "" -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:12 +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:13 msgid "`Visual Studio Code `_ is a free cross-platform code editor by `Microsoft `_ (not to be confused with :ref:`doc_configuring_an_ide_vs`)." msgstr "" -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:16 +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:17 msgid "Importing the project" msgstr "" -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:18 +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:19 msgid "Make sure the C/C++ extension is installed. You can find instructions in the `official documentation `_. Alternatively, `clangd `_ can be used instead." msgstr "" -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:22 +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:23 msgid "When using the clangd extension, run ``scons compiledb=yes``." msgstr "" -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:23 +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:24 msgid "From the Visual Studio Code's main screen open the Godot root folder with **File > Open Folder...**." msgstr "" -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:25 +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:26 msgid "Press :kbd:`Ctrl + Shift + P` to open the command prompt window and enter *Configure Task*." msgstr "" -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:30 +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:31 msgid "Select the **Create tasks.json file from template** option." msgstr "" -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:35 +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:36 msgid "Then select **Others**." msgstr "" -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:40 +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:41 msgid "If there is no such option as **Create tasks.json file from template** available, either delete the file if it already exists in your folder or create a ``.vscode/tasks.json`` file manually. See `Tasks in Visual Studio Code `_ for more details on tasks." msgstr "" -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:42 +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:43 msgid "Within the ``tasks.json`` file find the ``\"tasks\"`` array and add a new section to it:" msgstr "" -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:44 +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:45 msgid ".vscode/tasks.json" msgstr "" -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:63 +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:64 msgid "An example of a filled out ``tasks.json``." msgstr "" -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:65 +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:66 msgid "Arguments can be different based on your own setup and needs. See :ref:`doc_introduction_to_the_buildsystem` for a full list of arguments." msgstr "" -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:69 +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:70 msgid "Debugging the project" msgstr "" -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:71 +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:72 msgid "To run and debug the project you need to create a new configuration in the ``launch.json`` file." msgstr "" -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:73 +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:74 msgid "Press :kbd:`Ctrl + Shift + D` to open the Run panel." msgstr "" -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:74 +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:75 msgid "If ``launch.json`` file is missing you will be prompted to create a new one." msgstr "" -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:79 +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:80 msgid "Select **C++ (GDB/LLDB)**. There may be another platform-specific option here. If selected, adjust the configuration example provided accordingly." msgstr "" -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:81 +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:82 msgid "Within the ``launch.json`` file find the ``\"configurations\"`` array and add a new section to it:" msgstr "" -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:181 +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:182 msgid "An example of a filled out ``launch.json``." msgstr "" -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:186 +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:187 msgid "Due to sporadic performance issues, it is recommended to use LLDB over GDB on Unix-based systems. Make sure that the `CodeLLDB extension `_ is installed for configurations using `lldb`." msgstr "" -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:190 +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:191 msgid "If you encounter issues with lldb, you may consider using gdb (see the LinuxBSD_gdb configuration)." msgstr "" -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:192 +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:193 msgid "Do note that lldb may work better with LLVM-based builds. See :ref:`doc_compiling_for_linuxbsd` for further information." msgstr "" -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:194 +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:195 msgid "The name under ``program`` depends on your build configuration, e.g. ``godot.linuxbsd.editor.dev.x86_64`` for 64-bit LinuxBSD platform with ``target=editor`` and ``dev_build=yes``." msgstr "" -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:199 +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:200 msgid "Configuring Intellisense" msgstr "" -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:201 +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:202 msgid "For the C/C++ extension:" msgstr "" -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:203 +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:204 msgid "To fix include errors you may be having, you need to configure some settings in the ``c_cpp_properties.json`` file." msgstr "" -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:205 +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:206 msgid "First, make sure to build the project since some files need to be generated." msgstr "" -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:207 +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:208 msgid "Edit the C/C++ Configuration file either with the UI or with text:" msgstr "" -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:212 +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:213 msgid "Add an include path for your platform, for example, ``${workspaceFolder}/platform/windows``." msgstr "" -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:214 +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:215 msgid "Add defines for the editor ``TOOLS_ENABLED``, debug builds ``DEBUG_ENABLED``, and tests ``TESTS_ENABLED``." msgstr "" -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:216 +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:217 msgid "Make sure the compiler path is configured correctly to the compiler you are using. See :ref:`doc_introduction_to_the_buildsystem` for further information on your platform." msgstr "" -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:218 +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:219 msgid "The ``c_cpp_properties.json`` file should look similar to this for Windows:" msgstr "" -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:220 +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:221 msgid ".vscode/c_cpp_properties.json" msgstr "" -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:249 +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:250 msgid "Alternatively, you can use the scons argument ``compiledb=yes`` and set the compile commands setting ``compileCommands`` to ``compile_commands.json``, found in the advanced section of the C/C++ Configuration UI." msgstr "" -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:251 +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:252 msgid "This argument can be added to your build task in ``tasks.json`` since it will need to be run whenever files are added or moved." msgstr "" -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:253 +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:254 msgid "If you run into any issues, ask for help in one of `Godot's community channels `__." msgstr "" -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:258 +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:259 msgid "To get linting on class reference XML files, install the `vscode-xml extension `__." msgstr "" diff --git a/sphinx/templates/contributing/development/editor/creating_icons.pot b/sphinx/templates/contributing/development/editor/creating_icons.pot index 79f7139536..cc3c60ce15 100644 --- a/sphinx/templates/contributing/development/editor/creating_icons.pot +++ b/sphinx/templates/contributing/development/editor/creating_icons.pot @@ -60,53 +60,65 @@ msgid "If the user has configured their editor to use a light theme, Godot will msgstr "" #: ../../docs/contributing/development/editor/creating_icons.rst:47 -msgid "Icon optimization" +msgid "To enable color conversion for light editor themes:" +msgstr "" + +#: ../../docs/contributing/development/editor/creating_icons.rst:48 +msgid ":ui:`Import > Import As > Texture2D`" msgstr "" #: ../../docs/contributing/development/editor/creating_icons.rst:49 +msgid "Set ``editor/convert_colors_with_editor_theme`` to ``true``" +msgstr "" + +#: ../../docs/contributing/development/editor/creating_icons.rst:52 +msgid "Icon optimization" +msgstr "" + +#: ../../docs/contributing/development/editor/creating_icons.rst:54 msgid "Because the editor renders SVGs once at load time, they need to be small in size so they can be efficiently parsed. When the :ref:`pre-commit hook ` runs, it automatically optimizes the SVG using `svgo `_." msgstr "" -#: ../../docs/contributing/development/editor/creating_icons.rst:56 +#: ../../docs/contributing/development/editor/creating_icons.rst:61 msgid "While this optimization step won't impact the icon's quality noticeably, it will still remove editor-only information such as guides. Therefore, it's recommended to keep the source SVG around if you need to make further changes." msgstr "" -#: ../../docs/contributing/development/editor/creating_icons.rst:62 +#: ../../docs/contributing/development/editor/creating_icons.rst:67 msgid "Integrating and sharing the icons" msgstr "" -#: ../../docs/contributing/development/editor/creating_icons.rst:64 +#: ../../docs/contributing/development/editor/creating_icons.rst:69 msgid "If you're contributing to the engine itself, you should make a pull request to add optimized icons to ``editor/icons`` in the main repository. Recompile the engine to make it pick up new icons for classes." msgstr "" -#: ../../docs/contributing/development/editor/creating_icons.rst:68 +#: ../../docs/contributing/development/editor/creating_icons.rst:73 msgid "It's also possible to create custom icons within a module. If you're creating your own module and don't plan to integrate it with Godot, you don't need to make a separate pull request for your icons to be available within the editor as they can be self-contained." msgstr "" -#: ../../docs/contributing/development/editor/creating_icons.rst:73 +#: ../../docs/contributing/development/editor/creating_icons.rst:78 msgid "For specific instructions on how to create module icons, refer to :ref:`Creating custom module icons`." msgstr "" -#: ../../docs/contributing/development/editor/creating_icons.rst:77 +#: ../../docs/contributing/development/editor/creating_icons.rst:82 msgid "Troubleshooting" msgstr "" -#: ../../docs/contributing/development/editor/creating_icons.rst:79 +#: ../../docs/contributing/development/editor/creating_icons.rst:84 msgid "If icons don't appear in the editor, make sure that:" msgstr "" -#: ../../docs/contributing/development/editor/creating_icons.rst:81 +#: ../../docs/contributing/development/editor/creating_icons.rst:86 msgid "Each icon's filename matches the naming requirement as described previously." msgstr "" -#: ../../docs/contributing/development/editor/creating_icons.rst:83 +#: ../../docs/contributing/development/editor/creating_icons.rst:88 msgid "``modules/svg`` is enabled (it should be enabled by default). Without it, icons won't appear in the editor at all." msgstr "" -#: ../../docs/contributing/development/editor/creating_icons.rst:87 +#: ../../docs/contributing/development/editor/creating_icons.rst:92 msgid "References" msgstr "" -#: ../../docs/contributing/development/editor/creating_icons.rst:89 +#: ../../docs/contributing/development/editor/creating_icons.rst:94 msgid "`editor/icons `__" msgstr "" diff --git a/sphinx/templates/getting_started/first_3d_game/01.game_setup.pot b/sphinx/templates/getting_started/first_3d_game/01.game_setup.pot index f2ef5b25a6..3e680ba7cc 100644 --- a/sphinx/templates/getting_started/first_3d_game/01.game_setup.pot +++ b/sphinx/templates/getting_started/first_3d_game/01.game_setup.pot @@ -40,7 +40,7 @@ msgid "Click *Import* to open the project in the editor." msgstr "" #: ../../docs/getting_started/first_3d_game/01.game_setup.rst:29 -msgid "A window notifying you that the project was generated by an older Godot version may appear. Click *Convert Full Project* to convert the project to your current Godot version." +msgid "A window notifying you that the project was generated by an older Godot version may appear. Click *OK* to convert the project to your current Godot version." msgstr "" #: ../../docs/getting_started/first_3d_game/01.game_setup.rst:34 @@ -140,7 +140,7 @@ msgid "We need to move and rotate the :ref:`DirectionalLight3D Enabled* by clicking the checkbox." +msgid "In the *Inspector*, turn on *Shadow* by clicking the checkbox." msgstr "" #: ../../docs/getting_started/first_3d_game/01.game_setup.rst:154 diff --git a/sphinx/templates/getting_started/first_3d_game/05.spawning_mobs.pot b/sphinx/templates/getting_started/first_3d_game/05.spawning_mobs.pot index 5710a13d92..3c346da0a4 100644 --- a/sphinx/templates/getting_started/first_3d_game/05.spawning_mobs.pot +++ b/sphinx/templates/getting_started/first_3d_game/05.spawning_mobs.pot @@ -27,7 +27,7 @@ msgstr "" msgid "|image0|" msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:348 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:346 msgid "image0" msgstr "" @@ -47,7 +47,7 @@ msgstr "" msgid "|image1|" msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:349 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:347 msgid "image1" msgstr "" @@ -56,14 +56,14 @@ msgid "If you still have *Input Map* open, switch to the *General* tab." msgstr "" #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:23 -msgid "In the left menu, navigate down to *Display -> Window*. On the right, set the *Width* to ``720`` and the *Height* to ``540``." +msgid "In the left menu, navigate down to *Display -> Window*. On the right, set the *Viewport Width* to ``720`` and the *Viewport Height* to ``540``." msgstr "" #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:26 msgid "|image2|" msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:350 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:348 msgid "image2" msgstr "" @@ -87,7 +87,7 @@ msgstr "" msgid "|image3|" msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:351 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:349 msgid "image3" msgstr "" @@ -103,7 +103,7 @@ msgstr "" msgid "|image4|" msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:352 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:350 msgid "image4" msgstr "" @@ -115,7 +115,7 @@ msgstr "" msgid "|image5|" msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:353 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:351 msgid "image5" msgstr "" @@ -127,7 +127,7 @@ msgstr "" msgid "|image6|" msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:354 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:352 msgid "image6" msgstr "" @@ -139,7 +139,7 @@ msgstr "" msgid "|image7|" msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:355 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:353 msgid "image7" msgstr "" @@ -151,7 +151,7 @@ msgstr "" msgid "|image8|" msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:356 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:354 msgid "image8" msgstr "" @@ -163,7 +163,7 @@ msgstr "" msgid "|image9|" msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:357 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:355 msgid "image9" msgstr "" @@ -179,7 +179,7 @@ msgstr "" msgid "|image10|" msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:358 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:356 msgid "image10" msgstr "" @@ -191,7 +191,7 @@ msgstr "" msgid "|image11|" msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:359 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:357 msgid "image11" msgstr "" @@ -211,7 +211,7 @@ msgstr "" msgid "|image12|" msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:360 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:358 msgid "image12" msgstr "" @@ -223,234 +223,234 @@ msgstr "" msgid "|image13|" msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:361 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:359 msgid "image13" msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:111 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:109 msgid "Click the sphere icon to open the material resource. You get a preview of the material and a long list of sections filled with properties. You can use these to create all sorts of surfaces, from metal to rock or water." msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:115 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:113 msgid "Expand the *Albedo* section." msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:119 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:117 msgid "Set the color to something that contrasts with the background, like a bright orange." msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:122 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:120 msgid "|image14|" msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:362 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:360 msgid "image14" msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:124 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:122 msgid "We can now use the cylinders as guides. Fold them in the *Scene* dock by clicking the grey arrow next to them. Moving forward, you can also toggle their visibility by clicking the eye icon next to *Cylinders*." msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:128 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:126 msgid "|image15|" msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:363 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:361 msgid "image15" msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:130 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:128 msgid "Add a child node :ref:`Path3D ` to ``Main`` node. In the toolbar, four icons appear. Click the *Add Point* tool, the icon with the green \"+\" sign." msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:133 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:131 msgid "|image16|" msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:364 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:362 msgid "image16" msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:135 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:133 msgid "You can hover any icon to see a tooltip describing the tool." msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:137 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:135 msgid "Click in the center of each cylinder to create a point. Then, click the *Close Curve* icon in the toolbar to close the path. If any point is a bit off, you can click and drag on it to reposition it." msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:141 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:139 msgid "|image17|" msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:365 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:363 msgid "image17" msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:143 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:141 msgid "Your path should look like this." msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:145 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:143 msgid "|image18|" msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:366 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:364 msgid "image18" msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:147 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:145 msgid "To sample random positions on it, we need a :ref:`PathFollow3D ` node. Add a :ref:`PathFollow3D ` as a child of the ``Path3D``. Rename the two nodes to ``SpawnLocation`` and ``SpawnPath``, respectively. It's more descriptive of what we'll use them for." msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:151 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:149 msgid "|image19|" msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:367 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:365 msgid "image19" msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:153 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:151 msgid "With that, we're ready to code the spawn mechanism." msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:156 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:154 msgid "Spawning monsters randomly" msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:158 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:156 msgid "Right-click on the ``Main`` node and attach a new script to it." msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:160 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:158 msgid "We first export a variable to the *Inspector* so that we can assign ``mob.tscn`` or any other monster to it." msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:182 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:180 msgid "We want to spawn mobs at regular time intervals. To do this, we need to go back to the scene and add a timer. Before that, though, we need to assign the ``mob.tscn`` file to the ``mob_scene`` property above (otherwise it's null!)" msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:186 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:184 msgid "Head back to the 3D screen and select the ``Main`` node. Drag ``mob.tscn`` from the *FileSystem* dock to the *Mob Scene* slot in the *Inspector*." msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:189 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:187 msgid "|image20|" msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:368 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:366 msgid "image20" msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:191 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:189 msgid "Add a new :ref:`Timer ` node as a child of ``Main``. Name it ``MobTimer``." msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:193 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:191 msgid "|image21|" msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:369 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:367 msgid "image21" msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:195 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:193 msgid "In the *Inspector*, set its *Wait Time* to ``0.5`` seconds and turn on *Autostart* so it automatically starts when we run the game." msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:198 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:196 msgid "|image22|" msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:370 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:368 msgid "image22" msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:200 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:198 msgid "Timers emit a ``timeout`` signal every time they reach the end of their *Wait Time*. By default, they restart automatically, emitting the signal in a cycle. We can connect to this signal from the *Main* node to spawn monsters every ``0.5`` seconds." msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:205 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:203 msgid "With the *MobTimer* still selected, head to the *Node* dock on the right, and double-click the ``timeout`` signal." msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:208 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:206 msgid "|image23|" msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:371 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:369 msgid "image23" msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:210 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:208 msgid "Connect it to the *Main* node." msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:212 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:210 msgid "|image24|" msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:372 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:370 msgid "image24" msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:214 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:212 msgid "This will take you back to the script, with a new empty ``_on_mob_timer_timeout()`` function." msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:217 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:215 msgid "Let's code the mob spawning logic. We're going to:" msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:219 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:217 msgid "Instantiate the mob scene." msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:220 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:218 msgid "Sample a random position on the spawn path." msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:221 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:219 msgid "Get the player's position." msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:222 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:220 msgid "Call the mob's ``initialize()`` method, passing it the random position and the player's position." msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:224 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:222 msgid "Add the mob as a child of the *Main* node." msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:266 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:264 msgid "Above, ``randf()`` produces a random value between ``0`` and ``1``, which is what the *PathFollow* node's ``progress_ratio`` expects: 0 is the start of the path, 1 is the end of the path. The path we have set is around the camera's viewport, so any random value between 0 and 1 is a random position alongside the edges of the viewport!" msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:272 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:270 msgid "Note that if you remove the ``Player`` from the main scene, the following line" msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:284 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:282 msgid "gives an error because there is no $Player!" msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:286 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:284 msgid "Here is the complete ``main.gd`` script so far, for reference." msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:340 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:338 msgid "You can test the scene by pressing :kbd:`F6`. You should see the monsters spawn and move in a straight line." msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:343 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:341 msgid "|image25|" msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:373 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:371 msgid "image25" msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:345 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:343 msgid "For now, they bump and slide against one another when their paths cross. We'll address this in the next part." msgstr "" diff --git a/sphinx/templates/getting_started/first_3d_game/06.jump_and_squash.pot b/sphinx/templates/getting_started/first_3d_game/06.jump_and_squash.pot index 04b1b7929a..1a3f2a3a68 100644 --- a/sphinx/templates/getting_started/first_3d_game/06.jump_and_squash.pot +++ b/sphinx/templates/getting_started/first_3d_game/06.jump_and_squash.pot @@ -67,7 +67,7 @@ msgstr "" msgid "|image0|" msgstr "" -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:370 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:375 msgid "image0" msgstr "" @@ -79,7 +79,7 @@ msgstr "" msgid "|image1|" msgstr "" -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:371 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:376 msgid "image1" msgstr "" @@ -99,7 +99,7 @@ msgstr "" msgid "|image2|" msgstr "" -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:372 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:377 msgid "image2" msgstr "" @@ -111,7 +111,7 @@ msgstr "" msgid "|image3|" msgstr "" -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:373 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:378 msgid "image3" msgstr "" @@ -127,7 +127,7 @@ msgstr "" msgid "|image4|" msgstr "" -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:374 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:379 msgid "image4" msgstr "" @@ -143,7 +143,7 @@ msgstr "" msgid "|image5|" msgstr "" -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:375 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:380 msgid "image5" msgstr "" @@ -159,7 +159,7 @@ msgstr "" msgid "|image6|" msgstr "" -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:376 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:381 msgid "image6" msgstr "" @@ -216,109 +216,129 @@ msgid "We need to detect collisions with a monster and to differentiate them fro msgstr "" #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:181 -msgid "Open the scene ``mob.tscn`` again and select the *Mob* node. Go to the *Node* dock on the right to see a list of signals. The *Node* dock has two tabs: *Signals*, which you've already used, and *Groups*, which allows you to assign tags to nodes." +msgid "Open the scene ``mob.tscn`` again and select the *Mob* node. Go to the *Node* dock on the right to see a list of signals. The *Node* dock has two tabs: *Signals*, which you've already used, and *Groups*, which allows you to assign tags to nodes. Click on the *+* button to open the *Create new Group* dialog." msgstr "" #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:186 -msgid "Click on it to reveal a field where you can write a tag name. Enter \"mob\" in the field and click the *Add* button." -msgstr "" - -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:189 msgid "|image7|" msgstr "" -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:377 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:382 msgid "image7" msgstr "" -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:191 -msgid "An icon appears in the *Scene* dock to indicate the node is part of at least one group." +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:188 +msgid "Enter \"mob\" in the *Name* field and click the *Ok* button." msgstr "" -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:194 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:190 msgid "|image8|" msgstr "" -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:378 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:383 msgid "image8" msgstr "" +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:192 +msgid "The \"mob\" group is now shown under the *Scene Groups* section." +msgstr "" + +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:194 +msgid "|image9|" +msgstr "" + +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:384 +msgid "image9" +msgstr "" + #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:196 +msgid "An icon appears in the *Scene* dock to indicate the node is part of at least one group." +msgstr "" + +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:199 +msgid "|image10|" +msgstr "" + +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:385 +msgid "image10" +msgstr "" + +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:201 msgid "We can now use the group from the code to distinguish collisions with monsters from collisions with the floor." msgstr "" -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:200 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:205 msgid "Coding the squash mechanic" msgstr "" -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:202 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:207 msgid "Head back to the *Player* script to code the squash and bounce." msgstr "" -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:204 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:209 msgid "At the top of the script, we need another property, ``bounce_impulse``. When squashing an enemy, we don't necessarily want the character to go as high up as when jumping." msgstr "" -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:223 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:228 msgid "Then, after the **Jumping** codeblock we added above in ``_physics_process()``, add the following loop. With ``move_and_slide()``, Godot makes the body move sometimes multiple times in a row to smooth out the character's motion. So we have to loop over all collisions that may have happened." msgstr "" -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:228 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:233 msgid "In every iteration of the loop, we check if we landed on a mob. If so, we kill it and bounce." msgstr "" -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:231 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:236 msgid "With this code, if no collisions occurred on a given frame, the loop won't run." msgstr "" -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:293 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:298 msgid "That's a lot of new functions. Here's some more information about them." msgstr "" -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:295 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:300 msgid "The functions ``get_slide_collision_count()`` and ``get_slide_collision()`` both come from the :ref:`CharacterBody3D ` class and are related to ``move_and_slide()``." msgstr "" -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:299 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:304 msgid "``get_slide_collision()`` returns a :ref:`KinematicCollision3D` object that holds information about where and how the collision occurred. For example, we use its ``get_collider`` property to check if we collided with a \"mob\" by calling ``is_in_group()`` on it: ``collision.get_collider().is_in_group(\"mob\")``." msgstr "" -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:307 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:312 msgid "The method ``is_in_group()`` is available on every :ref:`Node`." msgstr "" -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:309 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:314 msgid "To check that we are landing on the monster, we use the vector dot product: ``Vector3.UP.dot(collision.get_normal()) > 0.1``. The collision normal is a 3D vector that is perpendicular to the plane where the collision occurred. The dot product allows us to compare it to the up direction." msgstr "" -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:314 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:319 msgid "With dot products, when the result is greater than ``0``, the two vectors are at an angle of fewer than 90 degrees. A value higher than ``0.1`` tells us that we are roughly above the monster." msgstr "" -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:318 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:323 msgid "After handling the squash and bounce logic, we terminate the loop early via the ``break`` statement to prevent further duplicate calls to ``mob.squash()``, which may otherwise result in unintended bugs such as counting the score multiple times for one kill." msgstr "" -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:322 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:327 msgid "We are calling one undefined function, ``mob.squash()``, so we have to add it to the Mob class." msgstr "" -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:325 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:330 msgid "Open the script ``mob.gd`` by double-clicking on it in the *FileSystem* dock. At the top of the script, we want to define a new signal named ``squashed``. And at the bottom, you can add the squash function, where we emit the signal and destroy the mob." msgstr "" -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:361 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:366 msgid "When using C#, Godot will create the appropriate events automatically for all Signals ending with `EventHandler`, see :ref:`C# Signals `." msgstr "" -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:363 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:368 msgid "We will use the signal to add points to the score in the next lesson." msgstr "" -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:365 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:370 msgid "With that, you should be able to kill monsters by jumping on them. You can press :kbd:`F5` to try the game and set ``main.tscn`` as your project's main scene." msgstr "" -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:368 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:373 msgid "However, the player won't die yet. We'll work on that in the next part." msgstr "" diff --git a/sphinx/templates/getting_started/first_3d_game/09.adding_animations.pot b/sphinx/templates/getting_started/first_3d_game/09.adding_animations.pot index e87410201e..c45f49142b 100644 --- a/sphinx/templates/getting_started/first_3d_game/09.adding_animations.pot +++ b/sphinx/templates/getting_started/first_3d_game/09.adding_animations.pot @@ -27,7 +27,7 @@ msgstr "" msgid "|image0|" msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:618 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:616 msgid "image0" msgstr "" @@ -55,7 +55,7 @@ msgstr "" msgid "|image1|" msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:619 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:617 msgid "image1" msgstr "" @@ -71,7 +71,7 @@ msgstr "" msgid "|image2|" msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:620 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:618 msgid "image2" msgstr "" @@ -83,7 +83,7 @@ msgstr "" msgid "|image3|" msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:621 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:619 msgid "image3" msgstr "" @@ -95,7 +95,7 @@ msgstr "" msgid "|image4|" msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:622 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:620 msgid "image4" msgstr "" @@ -107,7 +107,7 @@ msgstr "" msgid "To do so, you can click the autoplay button (|Autoplay|) in the animation toolbar and the looping arrows, respectively." msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:644 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:641 msgid "Autoplay" msgstr "" @@ -115,7 +115,7 @@ msgstr "" msgid "|image5|" msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:623 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:621 msgid "image5" msgstr "" @@ -127,7 +127,7 @@ msgstr "" msgid "|image6|" msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:624 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:622 msgid "image6" msgstr "" @@ -136,341 +136,333 @@ msgid "Set the animation duration to ``1.2`` seconds in the top-right of the doc msgstr "" #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:59 -msgid "|image7|" -msgstr "" - -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:625 -msgid "image7" -msgstr "" - -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:61 msgid "You should see the gray ribbon widen a bit. It shows you the start and end of your animation and the vertical blue line is your time cursor." msgstr "" +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:62 +msgid "|image7|" +msgstr "" + +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:623 +msgid "image7" +msgstr "" + #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:64 -msgid "|image8|" -msgstr "" - -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:626 -msgid "image8" -msgstr "" - -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:66 msgid "You can click and drag the slider in the bottom-right to zoom in and out of the timeline." msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:69 -msgid "|image9|" +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:67 +msgid "|image8|" msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:627 -msgid "image9" +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:624 +msgid "image8" msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:72 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:70 msgid "The float animation" msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:74 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:72 msgid "With the animation player node, you can animate most properties on as many nodes as you need. Notice the key icon next to properties in the *Inspector*. You can click any of them to create a keyframe, a time and value pair for the corresponding property. The keyframe gets inserted where your time cursor is in the timeline." msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:80 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:78 msgid "Let's insert our first keys. Here, we will animate both the position and the rotation of the ``Character`` node." msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:83 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:81 msgid "Select the ``Character`` and in the *Inspector* expand the *Transform* section. Click the key icon next to *Position*, and *Rotation*." msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:85 -msgid "|image10|" +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:83 +msgid "|image9|" msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:628 -msgid "image10" +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:625 +msgid "image9" msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:89 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:87 msgid "For this tutorial, just create RESET Track(s) which is the default choice" msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:91 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:89 msgid "Two tracks appear in the editor with a diamond icon representing each keyframe." msgstr "" +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:91 +msgid "|image10|" +msgstr "" + +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:626 +msgid "image10" +msgstr "" + #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:93 -msgid "|image11|" -msgstr "" - -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:629 -msgid "image11" -msgstr "" - -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:95 msgid "You can click and drag on the diamonds to move them in time. Move the position key to ``0.3`` seconds and the rotation key to ``0.1`` seconds." msgstr "" +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:96 +msgid "|image11|" +msgstr "" + +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:627 +msgid "image11" +msgstr "" + #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:98 -msgid "|image12|" +msgid "Move the time cursor to ``0.5`` seconds by clicking and dragging on the gray timeline, or by entering it into the input field." msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:630 -msgid "image12" -msgstr "" - -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:100 -msgid "Move the time cursor to ``0.5`` seconds by clicking and dragging on the gray timeline." -msgstr "" - -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:103 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:101 msgid "|timeline_05_click|" msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:643 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:640 msgid "timeline_05_click" msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:105 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:103 msgid "In the *Inspector*, set the *Position*'s *Y* axis to ``0.65`` meters and the *Rotation*' *X* axis to ``8``." msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:108 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:106 msgid "If you don't see the properties in the *Inspector* panel, first click on the ``Character`` node again in the *Scene* dock." msgstr "" +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:109 +msgid "|image12|" +msgstr "" + +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:628 +msgid "image12" +msgstr "" + #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:111 -msgid "|image13|" -msgstr "" - -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:631 -msgid "image13" -msgstr "" - -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:113 msgid "Create a keyframe for both properties" msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:115 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:113 msgid "|second_keys_both|" msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:642 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:639 msgid "second_keys_both" msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:117 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:115 msgid "Now, move the position keyframe to ``0.7`` seconds by dragging it on the timeline." msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:120 -msgid "|image14|" +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:118 +msgid "|image13|" msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:632 -msgid "image14" +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:629 +msgid "image13" msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:124 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:122 msgid "A lecture on the principles of animation is beyond the scope of this tutorial. Just note that you don't want to time and space everything evenly. Instead, animators play with timing and spacing, two core animation principles. You want to offset and contrast in your character's motion to make them feel alive." msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:130 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:128 msgid "Move the time cursor to the end of the animation, at ``1.2`` seconds. Set the Y position to about ``0.35`` and the X rotation to ``-9`` degrees. Once again, create a key for both properties." msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:134 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:132 msgid "|animation_final_keyframes|" msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:641 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:638 msgid "animation_final_keyframes" msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:136 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:134 msgid "You can preview the result by clicking the play button or pressing :kbd:`Shift + D`. Click the stop button or press :kbd:`S` to stop playback." msgstr "" +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:137 +msgid "|image14|" +msgstr "" + +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:630 +msgid "image14" +msgstr "" + #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:139 -msgid "|image15|" -msgstr "" - -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:633 -msgid "image15" -msgstr "" - -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:141 msgid "You can see that the engine interpolates between your keyframes to produce a continuous animation. At the moment, though, the motion feels very robotic. This is because the default interpolation is linear, causing constant transitions, unlike how living things move in the real world." msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:146 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:144 msgid "We can control the transition between keyframes using easing curves." msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:148 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:146 msgid "Click and drag around the first two keys in the timeline to box select them." msgstr "" +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:148 +msgid "|image15|" +msgstr "" + +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:631 +msgid "image15" +msgstr "" + #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:150 -msgid "|image16|" -msgstr "" - -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:634 -msgid "image16" -msgstr "" - -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:152 msgid "You can edit the properties of both keys simultaneously in the *Inspector*, where you can see an *Easing* property." msgstr "" +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:153 +msgid "|image16|" +msgstr "" + +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:632 +msgid "image16" +msgstr "" + #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:155 -msgid "|image17|" -msgstr "" - -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:635 -msgid "image17" -msgstr "" - -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:157 msgid "Click and drag on the curve, pulling it towards the left. This will make it ease-out, that is to say, transition fast initially and slow down as the time cursor reaches the next keyframe." msgstr "" +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:159 +msgid "|image17|" +msgstr "" + +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:633 +msgid "image17" +msgstr "" + #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:161 -msgid "|image18|" -msgstr "" - -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:636 -msgid "image18" -msgstr "" - -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:163 msgid "Play the animation again to see the difference. The first half should already feel a bit bouncier." msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:166 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:164 msgid "Apply an ease-out to the second keyframe in the rotation track." msgstr "" +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:166 +msgid "|image18|" +msgstr "" + +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:634 +msgid "image18" +msgstr "" + #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:168 -msgid "|image19|" -msgstr "" - -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:637 -msgid "image19" -msgstr "" - -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:170 msgid "Do the opposite for the second position keyframe, dragging it to the right." msgstr "" +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:170 +msgid "|image19|" +msgstr "" + +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:635 +msgid "image19" +msgstr "" + #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:172 -msgid "|image20|" -msgstr "" - -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:638 -msgid "image20" -msgstr "" - -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:174 msgid "Your animation should look something like this." msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:176 -msgid "|image21|" +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:174 +msgid "|image20|" msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:639 -msgid "image21" +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:636 +msgid "image20" msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:180 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:178 msgid "Animations update the properties of the animated nodes every frame, overriding initial values. If we directly animated the *Player* node, it would prevent us from moving it in code. This is where the *Pivot* node comes in handy: even though we animated the *Character*, we can still move and rotate the *Pivot* and layer changes on top of the animation in a script." msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:187 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:185 msgid "If you play the game, the player's creature will now float!" msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:189 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:187 msgid "If the creature is a little too close to the floor, you can move the ``Pivot`` up to offset it." msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:193 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:191 msgid "Controlling the animation in code" msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:195 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:193 msgid "We can use code to control the animation playback based on the player's input. Let's change the animation speed when the character is moving." msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:198 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:196 msgid "Open the ``Player``'s script by clicking the script icon next to it." msgstr "" +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:198 +msgid "|image21|" +msgstr "" + +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:637 +msgid "image21" +msgstr "" + #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:200 -msgid "|image22|" -msgstr "" - -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:640 -msgid "image22" -msgstr "" - -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:202 msgid "In ``_physics_process()``, after the line where we check the ``direction`` vector, add the following code." msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:232 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:230 msgid "This code makes it so when the player moves, we multiply the playback speed by ``4``. When they stop, we reset it to normal." msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:235 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:233 msgid "We mentioned that the ``Pivot`` could layer transforms on top of the animation. We can make the character arc when jumping using the following line of code. Add it at the end of ``_physics_process()``." msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:256 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:254 msgid "Animating the mobs" msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:258 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:256 msgid "Here's another nice trick with animations in Godot: as long as you use a similar node structure, you can copy them to different scenes." msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:261 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:259 msgid "For example, both the ``Mob`` and the ``Player`` scenes have a ``Pivot`` and a ``Character`` node, so we can reuse animations between them." msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:264 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:262 msgid "Open the *Player* scene, select the AnimationPlayer node and then click on **Animation > Manage Animations...**. Click the *Copy animation to clipboard* button (two small squares) alongside the *float* animation. Click OK to close the window." msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:268 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:266 msgid "Then open ``mob.tscn``, create an :ref:`AnimationPlayer ` child node and select it. Click **Animation > Manage Animations**, then **New Library**. You should see the message \"Global library will be created.\" Leave the text field blank and click OK. Click the *Paste* icon (clipboard) and it should appear in the window. Click OK to close the window." msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:274 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:272 msgid "Next, make sure that the autoplay button (|Autoplay|) and the looping arrows (Animation looping) are also turned on in the animation editor in the bottom panel. That's it; all monsters will now play the float animation." msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:278 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:276 msgid "We can change the playback speed based on the creature's ``random_speed``. Open the *Mob*'s script and at the end of the ``initialize()`` function, add the following line." msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:296 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:294 msgid "And with that, you finished coding your first complete 3D game." msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:298 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:296 msgid "**Congratulations**!" msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:300 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:298 msgid "In the next part, we'll quickly recap what you learned and give you some links to keep learning more. But for now, here are the complete ``player.gd`` and ``mob.gd`` so you can check your code against them." msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:304 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:302 msgid "Here's the *Player* script." msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:519 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:517 msgid "And the *Mob*'s script." msgstr "" diff --git a/sphinx/templates/getting_started/step_by_step/instancing.pot b/sphinx/templates/getting_started/step_by_step/instancing.pot index 65f27fded5..09a384b09a 100644 --- a/sphinx/templates/getting_started/step_by_step/instancing.pot +++ b/sphinx/templates/getting_started/step_by_step/instancing.pot @@ -60,185 +60,185 @@ msgid "Let's use instancing in practice to see how it works in Godot. We invite msgstr "" #: ../../docs/getting_started/step_by_step/instancing.rst:54 -msgid "Extract the archive on your computer. To import it, you need the Project Manager. The Project Manager is accessed by opening Godot, or if you already have Godot opened, click on *Project -> Quit to Project List* (:kbd:`Ctrl + Shift + Q`, :kbd:`Ctrl + Option + Cmd + Q` on macOS)" +msgid "Extract the archive on your computer. To import it, you need the Project Manager. The Project Manager is accessed by opening Godot, or if you already have Godot opened, click on :menu:`Project > Quit to Project List` (:kbd:`Ctrl + Shift + Q`, :kbd:`Ctrl + Option + Cmd + Q` on macOS)" msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:57 -msgid "In the Project Manager, click the *Import* button to import the project." +#: ../../docs/getting_started/step_by_step/instancing.rst:58 +msgid "In the Project Manager, click the :button:`Import` button to import the project." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:61 +#: ../../docs/getting_started/step_by_step/instancing.rst:62 msgid "In the pop-up that appears navigate to the folder you extracted. Double-click the ``project.godot`` file to open it." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:66 -msgid "Finally, click the Import & Edit button." +#: ../../docs/getting_started/step_by_step/instancing.rst:67 +msgid "Finally, click the :button:`Import` button." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:70 -msgid "A window notifying you that the project was last opened in an older Godot version may appear, that's not an issue. Click *Ok* to open the project." +#: ../../docs/getting_started/step_by_step/instancing.rst:71 +msgid "A window notifying you that the project was last opened in an older Godot version may appear, that's not an issue. Click :button:`Ok` to open the project." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:73 +#: ../../docs/getting_started/step_by_step/instancing.rst:74 msgid "The project contains two packed scenes: ``main.tscn``, containing walls against which the ball collides, and ``ball.tscn``. The Main scene should open automatically. If you're seeing an empty 3D scene instead of the main scene, click the 2D button at the top of the screen." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:81 +#: ../../docs/getting_started/step_by_step/instancing.rst:82 msgid "Let's add a ball as a child of the Main node. In the Scene dock, select the Main node. Then, click the link icon at the top of the scene dock. This button allows you to add an instance of a scene as a child of the currently selected node." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:87 +#: ../../docs/getting_started/step_by_step/instancing.rst:88 msgid "Double-click the ball scene to instance it." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:91 +#: ../../docs/getting_started/step_by_step/instancing.rst:92 msgid "The ball appears in the top-left corner of the viewport." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:95 +#: ../../docs/getting_started/step_by_step/instancing.rst:96 msgid "Click on it and drag it towards the center of the view." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:99 +#: ../../docs/getting_started/step_by_step/instancing.rst:100 msgid "Play the game by pressing :kbd:`F5` (:kbd:`Cmd + B` on macOS). You should see it fall." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:101 +#: ../../docs/getting_started/step_by_step/instancing.rst:102 msgid "Now, we want to create more instances of the Ball node. With the ball still selected, press :kbd:`Ctrl + D` (:kbd:`Cmd + D` on macOS) to call the duplicate command. Click and drag to move the new ball to a different location." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:107 +#: ../../docs/getting_started/step_by_step/instancing.rst:108 msgid "You can repeat this process until you have several in the scene." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:111 +#: ../../docs/getting_started/step_by_step/instancing.rst:112 msgid "Play the game again. You should now see every ball fall independently from one another. This is what instances do. Each is an independent reproduction of a template scene." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:116 +#: ../../docs/getting_started/step_by_step/instancing.rst:117 msgid "Editing scenes and instances" msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:118 +#: ../../docs/getting_started/step_by_step/instancing.rst:119 msgid "There is more to instances. With this feature, you can:" msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:120 -msgid "Change the properties of one ball without affecting the others using the Inspector." +#: ../../docs/getting_started/step_by_step/instancing.rst:121 +msgid "Change the properties of one ball without affecting the others using the :ui:`Inspector`." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:122 +#: ../../docs/getting_started/step_by_step/instancing.rst:123 msgid "Change the default properties of every Ball by opening the ``ball.tscn`` scene and making a change to the Ball node there. Upon saving, all instances of the Ball in the project will see their values update." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:126 +#: ../../docs/getting_started/step_by_step/instancing.rst:127 msgid "Changing a property on an instance always overrides values from the corresponding packed scene." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:129 +#: ../../docs/getting_started/step_by_step/instancing.rst:130 msgid "Let's try this. Double-click ``ball.tscn`` in the FileSystem to open it." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:133 -msgid "In the Scene dock on the left, select the Ball node. Then, in the Inspector on the right, click on the PhysicsMaterial property to expand it." +#: ../../docs/getting_started/step_by_step/instancing.rst:134 +msgid "In the Scene dock on the left, select the Ball node. Then, in the :ui:`Inspector` on the right, click on the :inspector:`PhysicsMaterial` property to expand it." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:138 +#: ../../docs/getting_started/step_by_step/instancing.rst:139 msgid "Set its Bounce property to ``0.5`` by clicking on the number field, typing ``0.5``, and pressing :kbd:`Enter`." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:143 +#: ../../docs/getting_started/step_by_step/instancing.rst:144 msgid "Play the game by pressing :kbd:`F5` (:kbd:`Cmd + B` on macOS) and notice how all balls now bounce a lot more. As the Ball scene is a template for all instances, modifying it and saving causes all instances to update accordingly." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:147 +#: ../../docs/getting_started/step_by_step/instancing.rst:148 msgid "Let's now adjust an individual instance. Head back to the Main scene by clicking on the corresponding tab above the viewport." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:152 -msgid "Select one of the instanced Ball nodes and, in the Inspector, set its Gravity Scale value to ``10``." +#: ../../docs/getting_started/step_by_step/instancing.rst:153 +msgid "Select one of the instanced Ball nodes and, in the :ui:`Inspector`, set its :inspector:`Gravity Scale` value to ``10``." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:157 +#: ../../docs/getting_started/step_by_step/instancing.rst:158 msgid "A grey \"revert\" button appears next to the adjusted property." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:161 +#: ../../docs/getting_started/step_by_step/instancing.rst:162 msgid "This icon indicates you are overriding a value from the source packed scene. Even if you modify the property in the original scene, the value override will be preserved in the instance. Clicking the revert icon will restore the property to the value in the saved scene." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:166 +#: ../../docs/getting_started/step_by_step/instancing.rst:167 msgid "Rerun the game and notice how this ball now falls much faster than the others." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:170 -msgid "You may notice you are unable to change the values of the PhysicsMaterial of the ball. This is because PhysicsMaterial is a *resource*, and needs to be made unique before you can edit it in a scene that is linking to its original scene. To make a resource unique for one instance, right-click on the **Physics Material** property in the Inspector and click **Make Unique** in the context menu." +#: ../../docs/getting_started/step_by_step/instancing.rst:171 +msgid "You may notice you are unable to change the values of the :inspector:`PhysicsMaterial` of the ball. This is because :inspector:`PhysicsMaterial` is a *resource*, and needs to be made unique before you can edit it in a scene that is linking to its original scene. To make a resource unique for one instance, right-click on the :inspector:`Physics Material` property in the :ui:`Inspector` and click :button:`Make Unique` in the context menu." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:177 +#: ../../docs/getting_started/step_by_step/instancing.rst:178 msgid "Resources are another essential building block of Godot games we will cover in a later lesson." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:181 +#: ../../docs/getting_started/step_by_step/instancing.rst:182 msgid "Scene instances as a design language" msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:183 +#: ../../docs/getting_started/step_by_step/instancing.rst:184 msgid "Instances and scenes in Godot offer an excellent design language, setting the engine apart from others out there. We designed Godot around this concept from the ground up." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:187 +#: ../../docs/getting_started/step_by_step/instancing.rst:188 msgid "We recommend dismissing architectural code patterns when making games with Godot, such as Model-View-Controller (MVC) or Entity-Relationship diagrams. Instead, you can start by imagining the elements players will see in your game and structure your code around them." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:192 +#: ../../docs/getting_started/step_by_step/instancing.rst:193 msgid "For example, you could break down a shooter game like so:" msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:196 +#: ../../docs/getting_started/step_by_step/instancing.rst:197 msgid "You can come up with a diagram like this for almost any type of game. Each rectangle represents an entity that's visible in the game from the player's perspective. The arrows point towards the instantiator of each scene." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:200 +#: ../../docs/getting_started/step_by_step/instancing.rst:201 msgid "Once you have a diagram, we recommend creating a scene for each element listed in it to develop your game. You'll use instancing, either by code or directly in the editor, to build your tree of scenes." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:204 +#: ../../docs/getting_started/step_by_step/instancing.rst:205 msgid "Programmers tend to spend a lot of time designing abstract architectures and trying to fit components into it. Designing based on scenes makes development faster and more straightforward, allowing you to focus on the game logic itself. Because most game components map directly to a scene, using a design based on scene instantiation means you need little other architectural code." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:210 +#: ../../docs/getting_started/step_by_step/instancing.rst:211 msgid "Here's the example of a scene diagram for an open-world game with tons of assets and nested elements:" msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:215 +#: ../../docs/getting_started/step_by_step/instancing.rst:216 msgid "Imagine we started by creating the room. We could make a couple of different room scenes, with unique arrangements of furniture in them. Later, we could make a house scene that uses multiple room instances for the interior. We would create a citadel out of many instanced houses and a large terrain on which we would place the citadel. Each of these would be a scene instancing one or more sub-scenes." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:221 +#: ../../docs/getting_started/step_by_step/instancing.rst:222 msgid "Later, we could create scenes representing guards and add them to the citadel. They would be indirectly added to the overall game world." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:224 +#: ../../docs/getting_started/step_by_step/instancing.rst:225 msgid "With Godot, it's easy to iterate on your game like this, as all you need to do is create and instantiate more scenes. We designed the editor to be accessible to programmers, designers, and artists alike. A typical team development process can involve 2D or 3D artists, level designers, game designers, and animators, all working with the Godot editor." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:231 +#: ../../docs/getting_started/step_by_step/instancing.rst:232 msgid "Summary" msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:233 +#: ../../docs/getting_started/step_by_step/instancing.rst:234 msgid "Instancing, the process of producing an object from a blueprint, has many handy uses. With scenes, it gives you:" msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:236 +#: ../../docs/getting_started/step_by_step/instancing.rst:237 msgid "The ability to divide your game into reusable components." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:237 +#: ../../docs/getting_started/step_by_step/instancing.rst:238 msgid "A tool to structure and encapsulate complex systems." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:238 +#: ../../docs/getting_started/step_by_step/instancing.rst:239 msgid "A language to think about your game project's structure in a natural way." msgstr "" diff --git a/sphinx/templates/getting_started/step_by_step/nodes_and_scenes.pot b/sphinx/templates/getting_started/step_by_step/nodes_and_scenes.pot index 8de77d3d0b..e61e72d9d9 100644 --- a/sphinx/templates/getting_started/step_by_step/nodes_and_scenes.pot +++ b/sphinx/templates/getting_started/step_by_step/nodes_and_scenes.pot @@ -100,7 +100,7 @@ msgid "Let's create our first scene with a single node. To do so, you will need msgstr "" #: ../../docs/getting_started/step_by_step/nodes_and_scenes.rst:75 -msgid "In an empty scene, the Scene dock on the left shows several options to add a root node quickly. :button:`2D Scene` adds a :ref:`Node2D ` node, :button:`3D Scene` adds a :ref:`Node3D ` node, and :button:`User Interface` adds a :ref:`Control ` node. These presets are here for convenience; they are not mandatory. :button:`Other Node` lets you select any node to be the root node. In an empty scene, :button:`Other Node` is equivalent to pressing the :button:`Add Child Node` button at the top-left of the Scene dock, which usually adds a new node as a child of the currently selected node." +msgid "In an empty scene, the :ui:`Scene` dock on the left shows several options to add a root node quickly. :button:`2D Scene` adds a :ref:`Node2D ` node, :button:`3D Scene` adds a :ref:`Node3D ` node, and :button:`User Interface` adds a :ref:`Control ` node. These presets are here for convenience; they are not mandatory. :button:`Other Node` lets you select any node to be the root node. In an empty scene, :button:`Other Node` is equivalent to pressing the :button:`Add Child Node` button at the top-left of the Scene dock, which usually adds a new node as a child of the currently selected node." msgstr "" #: ../../docs/getting_started/step_by_step/nodes_and_scenes.rst:85 diff --git a/sphinx/templates/getting_started/step_by_step/scripting_first_script.pot b/sphinx/templates/getting_started/step_by_step/scripting_first_script.pot index e14ccd1578..f0eb8f5a47 100644 --- a/sphinx/templates/getting_started/step_by_step/scripting_first_script.pot +++ b/sphinx/templates/getting_started/step_by_step/scripting_first_script.pot @@ -40,7 +40,7 @@ msgid "Please :ref:`create a new project ` msgstr "" #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:44 -msgid "We need to create a Sprite2D node to display it in the game. In the Scene dock, click the **Other Node** button." +msgid "We need to create a Sprite2D node to display it in the game. In the :ui:`Scene` dock, click the :button:`Other Node` button." msgstr "" #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:49 @@ -48,11 +48,11 @@ msgid "Type \"Sprite2D\" in the search bar to filter nodes and double-click on S msgstr "" #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:54 -msgid "Your Scene tab should now only have a Sprite2D node." +msgid "Your :ui:`Scene` tab should now only have a Sprite2D node." msgstr "" #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:58 -msgid "A Sprite2D node needs a texture to display. In the Inspector on the right, you can see that the **Texture** property says ````. To display the Godot icon, click and drag the file ``icon.svg`` from the FileSystem dock onto the Texture slot." +msgid "A Sprite2D node needs a texture to display. In the :ui:`Inspector` on the right, you can see that the :inspector:`Texture` property says ````. To display the Godot icon, click and drag the file ``icon.svg`` from the FileSystem dock onto the Texture slot." msgstr "" #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:67 @@ -68,15 +68,15 @@ msgid "Creating a new script" msgstr "" #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:77 -msgid "To create and attach a new script to our node, right-click on Sprite2D in the Scene dock and select **Attach Script**." +msgid "To create and attach a new script to our node, right-click on Sprite2D in the Scene dock and select :button:`Attach Script`." msgstr "" #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:82 -msgid "The **Attach Node Script** window appears. It allows you to select the script's language and file path, among other options." +msgid "The :ui:`Attach Node Script` window appears. It allows you to select the script's language and file path, among other options." msgstr "" #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:85 -msgid "Change the **Template** field from ``Node: Default`` to ``Object: Empty`` to start with a clean file. Leave the other options set to their default values and click the **Create** button to create the script." +msgid "Change the :ui:`Template` field from ``Node: Default`` to ``Object: Empty`` to start with a clean file. Leave the other options set to their default values and click the :button:`Create` button to create the script." msgstr "" #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:93 @@ -84,7 +84,7 @@ msgid "C# script names need to match their class name. In this case, you should msgstr "" #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:96 -msgid "The Script workspace should appear with your new ``sprite_2d.gd`` file open and the following line of code:" +msgid "The :ui:`Script` workspace should appear with your new ``sprite_2d.gd`` file open and the following line of code:" msgstr "" #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:113 @@ -96,15 +96,15 @@ msgid "In GDScript, if you omit the line with the ``extends`` keyword, your clas msgstr "" #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:123 -msgid "Inherited properties include the ones you can see in the Inspector dock, like our node's ``texture``." +msgid "Inherited properties include the ones you can see in the :ui:`Inspector` dock, like our node's ``texture``." msgstr "" #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:128 -msgid "By default, the Inspector displays a node's properties in \"Title Case\", with capitalized words separated by a space. In GDScript code, these properties are in \"snake_case\", which is lowercase with words separated by an underscore." +msgid "By default, the :ui:`Inspector` displays a node's properties in \"Title Case\", with capitalized words separated by a space. In GDScript code, these properties are in \"snake_case\", which is lowercase with words separated by an underscore." msgstr "" #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:132 -msgid "You can hover over any property's name in the Inspector to see a description and its identifier in code." +msgid "You can hover over any property's name in the :ui:`Inspector` to see a description and its identifier in code." msgstr "" #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:136 @@ -128,7 +128,7 @@ msgid "GDScript is an indent-based language. The tab at the start of the line th msgstr "" #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:167 -msgid "Save the scene as ``sprite_2d.tscn`` if you haven't already, then press :kbd:`F6` (:kbd:`Cmd + R` on macOS) to run it. Look at the **Output** bottom panel that expands. It should display \"Hello, world!\"." +msgid "Save the scene as ``sprite_2d.tscn`` if you haven't already, then press :kbd:`F6` (:kbd:`Cmd + R` on macOS) to run it. Look at the :ui:`Output` bottom panel that expands. It should display \"Hello, world!\"." msgstr "" #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:173 @@ -140,7 +140,7 @@ msgid "Turning around" msgstr "" #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:179 -msgid "It's time to make our node move and rotate. To do so, we're going to add two member variables to our script: the movement speed in pixels per second and the angular speed in radians per second. Add the following after the ``extends Sprite2D`` line." +msgid "It's time to make our node move and rotate. To do so, we're going to add two member variables to our script: the movement speed in pixels per second and the angular speed in radians per second. Add the following after the ``extends Sprite2D`` line." msgstr "" #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:194 diff --git a/sphinx/templates/getting_started/step_by_step/scripting_player_input.pot b/sphinx/templates/getting_started/step_by_step/scripting_player_input.pot index 8dbc96f88b..0be42c44ed 100644 --- a/sphinx/templates/getting_started/step_by_step/scripting_player_input.pot +++ b/sphinx/templates/getting_started/step_by_step/scripting_player_input.pot @@ -60,7 +60,7 @@ msgid "The two actions we use above, \"ui_left\" and \"ui_right\", are predefine msgstr "" #: ../../docs/getting_started/step_by_step/scripting_player_input.rst:77 -msgid "You can see and edit input actions in your project by going to Project -> Project Settings and clicking on the Input Map tab." +msgid "You can see and edit input actions in your project by going to :menu:`Project > Project Settings` and clicking on the :ui:`Input Map` tab." msgstr "" #: ../../docs/getting_started/step_by_step/scripting_player_input.rst:80 diff --git a/sphinx/templates/getting_started/step_by_step/signals.pot b/sphinx/templates/getting_started/step_by_step/signals.pot index d27b9b59b2..4a479fd035 100644 --- a/sphinx/templates/getting_started/step_by_step/signals.pot +++ b/sphinx/templates/getting_started/step_by_step/signals.pot @@ -68,11 +68,11 @@ msgid "To add a button to our game, we will create a new scene which will includ msgstr "" #: ../../docs/getting_started/step_by_step/signals.rst:61 -msgid "Create a new scene by going to the menu Scene -> New Scene." +msgid "Create a new scene by going to the menu :menu:`Scene > New Scene`." msgstr "" #: ../../docs/getting_started/step_by_step/signals.rst:65 -msgid "In the Scene dock, click the 2D Scene button. This will add a :ref:`Node2D ` as our root." +msgid "In the Scene dock, click the :button:`2D Scene` button. This will add a :ref:`Node2D ` as our root." msgstr "" #: ../../docs/getting_started/step_by_step/signals.rst:70 @@ -80,7 +80,7 @@ msgid "In the FileSystem dock, click and drag the ``sprite_2d.tscn`` file you sa msgstr "" #: ../../docs/getting_started/step_by_step/signals.rst:75 -msgid "We want to add another node as a sibling of the Sprite2D. To do so, right-click on Node2D and select Add Child Node." +msgid "We want to add another node as a sibling of the Sprite2D. To do so, right-click on Node2D and select :button:`Add Child Node`." msgstr "" #: ../../docs/getting_started/step_by_step/signals.rst:80 @@ -100,7 +100,7 @@ msgid "Click and drag on the button itself to move it closer to the sprite." msgstr "" #: ../../docs/getting_started/step_by_step/signals.rst:95 -msgid "You can also write a label on the Button by editing its Text property in the Inspector. Enter ``Toggle motion``." +msgid "You can also write a label on the Button by editing its :inspector:`Text` property in the :ui:`Inspector`. Enter ``Toggle motion``." msgstr "" #: ../../docs/getting_started/step_by_step/signals.rst:100 @@ -120,201 +120,201 @@ msgid "Here, we want to connect the Button's \"pressed\" signal to our Sprite2D, msgstr "" #: ../../docs/getting_started/step_by_step/signals.rst:117 -msgid "You can connect signals in the Node dock. Select the Button node and, on the right side of the editor, click on the tab named \"Node\" next to the Inspector." +msgid "You can connect signals in the :ui:`Node` dock. Select the Button node and, on the right side of the editor, click on the tab named :ui:`Node` next to the :ui:`Inspector`." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:122 +#: ../../docs/getting_started/step_by_step/signals.rst:123 msgid "The dock displays a list of signals available on the selected node." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:126 +#: ../../docs/getting_started/step_by_step/signals.rst:127 msgid "Double-click the \"pressed\" signal to open the node connection window." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:130 +#: ../../docs/getting_started/step_by_step/signals.rst:131 msgid "There, you can connect the signal to the Sprite2D node. The node needs a receiver method, a function that Godot will call when the Button emits the signal. The editor generates one for you. By convention, we name these callback methods \"_on_node_name_signal_name\". Here, it'll be \"_on_button_pressed\"." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:137 +#: ../../docs/getting_started/step_by_step/signals.rst:138 msgid "When connecting signals via the editor's Node dock, you can use two modes. The simple one only allows you to connect to nodes that have a script attached to them and creates a new callback function on them." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:143 -msgid "The advanced view lets you connect to any node and any built-in function, add arguments to the callback, and set options. You can toggle the mode in the window's bottom-right by clicking the Advanced button." +#: ../../docs/getting_started/step_by_step/signals.rst:144 +msgid "The advanced view lets you connect to any node and any built-in function, add arguments to the callback, and set options. You can toggle the mode in the window's bottom-right by clicking the :button:`Advanced` button." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:150 +#: ../../docs/getting_started/step_by_step/signals.rst:151 msgid "If you are using an external editor (such as VS Code), this automatic code generation might not work. In this case, you need to connect the signal via code as explained in the next section." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:154 -msgid "Click the Connect button to complete the signal connection and jump to the Script workspace. You should see the new method with a connection icon in the left margin." +#: ../../docs/getting_started/step_by_step/signals.rst:155 +msgid "Click the :button:`Connect` button to complete the signal connection and jump to the :ui:`Script` workspace. You should see the new method with a connection icon in the left margin." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:160 +#: ../../docs/getting_started/step_by_step/signals.rst:161 msgid "If you click the icon, a window pops up and displays information about the connection. This feature is only available when connecting nodes in the editor." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:165 +#: ../../docs/getting_started/step_by_step/signals.rst:166 msgid "Let's replace the line with the ``pass`` keyword with code that'll toggle the node's motion." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:168 +#: ../../docs/getting_started/step_by_step/signals.rst:169 msgid "Our Sprite2D moves thanks to code in the ``_process()`` function. Godot provides a method to toggle processing on and off: :ref:`Node.set_process() `. Another method of the Node class, ``is_processing()``, returns ``true`` if idle processing is active. We can use the ``not`` keyword to invert the value." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:188 +#: ../../docs/getting_started/step_by_step/signals.rst:189 msgid "This function will toggle processing and, in turn, the icon's motion on and off upon pressing the button." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:191 +#: ../../docs/getting_started/step_by_step/signals.rst:192 msgid "Before trying the game, we need to simplify our ``_process()`` function to move the node automatically and not wait for user input. Replace it with the following code, which we saw two lessons ago:" msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:212 +#: ../../docs/getting_started/step_by_step/signals.rst:213 msgid "Your complete ``sprite_2d.gd`` code should look like the following." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:255 +#: ../../docs/getting_started/step_by_step/signals.rst:256 msgid "Run the current scene by pressing :kbd:`F6` (:kbd:`Cmd + R` on macOS), and click the button to see the sprite start and stop." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:259 +#: ../../docs/getting_started/step_by_step/signals.rst:260 msgid "Connecting a signal via code" msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:261 +#: ../../docs/getting_started/step_by_step/signals.rst:262 msgid "You can connect signals via code instead of using the editor. This is necessary when you create nodes or instantiate scenes inside of a script." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:264 +#: ../../docs/getting_started/step_by_step/signals.rst:265 msgid "Let's use a different node here. Godot has a :ref:`Timer ` node that's useful to implement skill cooldown times, weapon reloading, and more." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:267 +#: ../../docs/getting_started/step_by_step/signals.rst:268 msgid "Head back to the 2D workspace. You can either click the \"2D\" text at the top of the window or press :kbd:`Ctrl + F1` (:kbd:`Ctrl + Cmd + 1` on macOS)." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:270 +#: ../../docs/getting_started/step_by_step/signals.rst:271 msgid "In the Scene dock, right-click on the Sprite2D node and add a new child node. Search for Timer and add the corresponding node. Your scene should now look like this." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:276 -msgid "With the Timer node selected, go to the Inspector and enable the **Autostart** property." +#: ../../docs/getting_started/step_by_step/signals.rst:277 +msgid "With the Timer node selected, go to the :ui:`Inspector` and enable the :inspector:`Autostart` property." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:281 +#: ../../docs/getting_started/step_by_step/signals.rst:282 msgid "Click the script icon next to Sprite2D to jump back to the scripting workspace." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:285 +#: ../../docs/getting_started/step_by_step/signals.rst:286 msgid "We need to do two operations to connect the nodes via code:" msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:287 +#: ../../docs/getting_started/step_by_step/signals.rst:288 msgid "Get a reference to the Timer from the Sprite2D." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:288 +#: ../../docs/getting_started/step_by_step/signals.rst:289 msgid "Call the ``connect()`` method on the Timer's \"timeout\" signal." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:290 +#: ../../docs/getting_started/step_by_step/signals.rst:291 msgid "To connect to a signal via code, you need to call the ``connect()`` method of the signal you want to listen to. In this case, we want to listen to the Timer's \"timeout\" signal." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:294 +#: ../../docs/getting_started/step_by_step/signals.rst:295 msgid "We want to connect the signal when the scene is instantiated, and we can do that using the :ref:`Node._ready() ` built-in function, which is called automatically by the engine when a node is fully instantiated." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:298 +#: ../../docs/getting_started/step_by_step/signals.rst:299 msgid "To get a reference to a node relative to the current one, we use the method :ref:`Node.get_node() `. We can store the reference in a variable." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:315 +#: ../../docs/getting_started/step_by_step/signals.rst:316 msgid "The function ``get_node()`` looks at the Sprite2D's children and gets nodes by their name. For example, if you renamed the Timer node to \"BlinkingTimer\" in the editor, you would have to change the call to ``get_node(\"BlinkingTimer\")``." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:321 +#: ../../docs/getting_started/step_by_step/signals.rst:322 msgid "We can now connect the Timer to the Sprite2D in the ``_ready()`` function." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:338 +#: ../../docs/getting_started/step_by_step/signals.rst:339 msgid "The line reads like so: we connect the Timer's \"timeout\" signal to the node to which the script is attached. When the Timer emits ``timeout``, we want to call the function ``_on_timer_timeout()``, that we need to define. Let's add it at the bottom of our script and use it to toggle our sprite's visibility." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:343 +#: ../../docs/getting_started/step_by_step/signals.rst:344 msgid "By convention, we name these callback methods in GDScript as \"_on_node_name_signal_name\" and in C# as \"OnNodeNameSignalName\". Here, it'll be \"_on_timer_timeout\" for GDScript and OnTimerTimeout() for C#." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:360 +#: ../../docs/getting_started/step_by_step/signals.rst:361 msgid "The ``visible`` property is a boolean that controls the visibility of our node. The line ``visible = not visible`` toggles the value. If ``visible`` is ``true``, it becomes ``false``, and vice-versa." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:364 +#: ../../docs/getting_started/step_by_step/signals.rst:365 msgid "If you run the Node2D scene now, you will see that the sprite blinks on and off, at one second intervals." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:368 +#: ../../docs/getting_started/step_by_step/signals.rst:369 msgid "Complete script" msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:370 +#: ../../docs/getting_started/step_by_step/signals.rst:371 msgid "That's it for our little moving and blinking Godot icon demo! Here is the complete ``sprite_2d.gd`` file for reference." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:435 +#: ../../docs/getting_started/step_by_step/signals.rst:436 msgid "Custom signals" msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:437 +#: ../../docs/getting_started/step_by_step/signals.rst:438 msgid "This section is a reference on how to define and use your own signals, and does not build upon the project created in previous lessons." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:440 +#: ../../docs/getting_started/step_by_step/signals.rst:441 msgid "You can define custom signals in a script. Say, for example, that you want to show a game over screen when the player's health reaches zero. To do so, you could define a signal named \"died\" or \"health_depleted\" when their health reaches 0." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:466 +#: ../../docs/getting_started/step_by_step/signals.rst:467 msgid "As signals represent events that just occurred, we generally use an action verb in the past tense in their names." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:469 -msgid "Your signals work the same way as built-in ones: they appear in the Node tab and you can connect to them like any other." +#: ../../docs/getting_started/step_by_step/signals.rst:470 +msgid "Your signals work the same way as built-in ones: they appear in the :ui:`Node` tab and you can connect to them like any other." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:474 +#: ../../docs/getting_started/step_by_step/signals.rst:475 msgid "To emit a signal in your scripts, call ``emit()`` on the signal." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:496 +#: ../../docs/getting_started/step_by_step/signals.rst:497 msgid "A signal can optionally declare one or more arguments. Specify the argument names between parentheses:" msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:522 +#: ../../docs/getting_started/step_by_step/signals.rst:523 msgid "The signal arguments show up in the editor's node dock, and Godot can use them to generate callback functions for you. However, you can still emit any number of arguments when you emit signals. So it's up to you to emit the correct values." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:527 +#: ../../docs/getting_started/step_by_step/signals.rst:528 msgid "To emit values along with the signal, add them as extra arguments to the ``emit()`` function:" msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:548 +#: ../../docs/getting_started/step_by_step/signals.rst:549 msgid "Summary" msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:550 +#: ../../docs/getting_started/step_by_step/signals.rst:551 msgid "Any node in Godot emits signals when something specific happens to them, like a button being pressed. Other nodes can connect to individual signals and react to selected events." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:554 +#: ../../docs/getting_started/step_by_step/signals.rst:555 msgid "Signals have many uses. With them, you can react to a node entering or exiting the game world, to a collision, to a character entering or leaving an area, to an element of the interface changing size, and much more." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:558 +#: ../../docs/getting_started/step_by_step/signals.rst:559 msgid "For example, an :ref:`Area2D ` representing a coin emits a ``body_entered`` signal whenever the player's physics body enters its collision shape, allowing you to know when the player collected it." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:562 +#: ../../docs/getting_started/step_by_step/signals.rst:563 msgid "In the next section, :ref:`doc_your_first_2d_game`, you'll create a complete 2D game and put everything you learned so far into practice." msgstr "" diff --git a/sphinx/templates/tutorials/2d/2d_meshes.pot b/sphinx/templates/tutorials/2d/2d_meshes.pot index 08806b2f6b..7a61c36acf 100644 --- a/sphinx/templates/tutorials/2d/2d_meshes.pot +++ b/sphinx/templates/tutorials/2d/2d_meshes.pot @@ -76,5 +76,5 @@ msgid "The default values are good enough for many cases, but you can change gro msgstr "" #: ../../docs/tutorials/2d/2d_meshes.rst:52 -msgid "Finally, push the ``Convert 2D Mesh`` button and your Sprite2D will be replaced:" +msgid "Finally, push the :button:`Convert 2D Mesh` button and your Sprite2D will be replaced:" msgstr "" diff --git a/sphinx/templates/tutorials/3d/particles/collision.pot b/sphinx/templates/tutorials/3d/particles/collision.pot index 69e5dbc6e1..639494a564 100644 --- a/sphinx/templates/tutorials/3d/particles/collision.pot +++ b/sphinx/templates/tutorials/3d/particles/collision.pot @@ -172,7 +172,7 @@ msgid "SDF collision nodes create a `signed distance field Export As... > MeshLibrary...**, and save it as a resource." msgstr "" -#: ../../docs/tutorials/3d/using_gridmaps.rst:123 -msgid "You can find an already exported MeshLibrary in the project named \"MeshLibrary.tres\"." +#: ../../docs/tutorials/3d/using_gridmaps.rst:138 +msgid "You can find an already exported MeshLibrary in the project named ``MeshLibrary.tres``." msgstr "" -#: ../../docs/tutorials/3d/using_gridmaps.rst:126 +#: ../../docs/tutorials/3d/using_gridmaps.rst:141 msgid "Using GridMap" msgstr "" -#: ../../docs/tutorials/3d/using_gridmaps.rst:128 +#: ../../docs/tutorials/3d/using_gridmaps.rst:143 msgid "Create a new scene and add a GridMap node. Add the mesh library by dragging the resource file from the FileSystem dock and dropping it in the **Mesh Library** property in the Inspector." msgstr "" -#: ../../docs/tutorials/3d/using_gridmaps.rst:135 +#: ../../docs/tutorials/3d/using_gridmaps.rst:150 msgid "Inspector properties" msgstr "" -#: ../../docs/tutorials/3d/using_gridmaps.rst:137 +#: ../../docs/tutorials/3d/using_gridmaps.rst:152 msgid "The **Physics Material** setting allows you to override the physics material for every mesh in the NavigationMesh." msgstr "" -#: ../../docs/tutorials/3d/using_gridmaps.rst:140 +#: ../../docs/tutorials/3d/using_gridmaps.rst:155 msgid "Under **Cells**, the **Size** property should be set to the size of your meshes. You can leave it at the default value for the demo. Uncheck the **Center Y** property." msgstr "" -#: ../../docs/tutorials/3d/using_gridmaps.rst:143 +#: ../../docs/tutorials/3d/using_gridmaps.rst:158 msgid "The **Collision** options allow you to set the collision layer, collision mask, and priority for the entire grid. For more information on how those work see the :ref:`doc_physics_index` section." msgstr "" -#: ../../docs/tutorials/3d/using_gridmaps.rst:147 +#: ../../docs/tutorials/3d/using_gridmaps.rst:162 msgid "Under **Navigation** is the \"Bake Navigation\" option. If enabled it creates a navigation region for each cell that uses a mesh library item with a navigation mesh." msgstr "" -#: ../../docs/tutorials/3d/using_gridmaps.rst:151 +#: ../../docs/tutorials/3d/using_gridmaps.rst:166 msgid "If you click on the MeshLibrary itself in the inspector you can adjust settings for individual meshes, such as their navigation mesh, navigation layers, or if the mesh casts shadows." msgstr "" -#: ../../docs/tutorials/3d/using_gridmaps.rst:158 +#: ../../docs/tutorials/3d/using_gridmaps.rst:173 msgid "GridMap panel" msgstr "" -#: ../../docs/tutorials/3d/using_gridmaps.rst:160 +#: ../../docs/tutorials/3d/using_gridmaps.rst:175 msgid "At the bottom of the editor is the GridMap panel, which should have opened automatically when you added the GridMap node." msgstr "" -#: ../../docs/tutorials/3d/using_gridmaps.rst:165 +#: ../../docs/tutorials/3d/using_gridmaps.rst:180 msgid "From left to right in the toolbar:" msgstr "" -#: ../../docs/tutorials/3d/using_gridmaps.rst:167 +#: ../../docs/tutorials/3d/using_gridmaps.rst:182 msgid "**Transform**: Adds a gizmo to the scene that allows you to change the relative position and rotation of the gridmap in the scene." msgstr "" -#: ../../docs/tutorials/3d/using_gridmaps.rst:169 +#: ../../docs/tutorials/3d/using_gridmaps.rst:184 msgid "**Selection**: While active you can select an area in the viewport, click and drag to select more than one space on the grid." msgstr "" -#: ../../docs/tutorials/3d/using_gridmaps.rst:171 +#: ../../docs/tutorials/3d/using_gridmaps.rst:186 msgid "**Erase**: While active, click in the viewport and delete meshes." msgstr "" -#: ../../docs/tutorials/3d/using_gridmaps.rst:172 +#: ../../docs/tutorials/3d/using_gridmaps.rst:187 msgid "**Paint**: While active, click in the viewport and add whatever mesh is currently selected in the GridMap panel to the scene." msgstr "" -#: ../../docs/tutorials/3d/using_gridmaps.rst:174 +#: ../../docs/tutorials/3d/using_gridmaps.rst:189 msgid "**Pick**: While active, clicking on a gridmap mesh in the viewport will cause it to be selected in the GridMap panel." msgstr "" -#: ../../docs/tutorials/3d/using_gridmaps.rst:176 +#: ../../docs/tutorials/3d/using_gridmaps.rst:191 msgid "**Fill**: Fill the area that has been selected in the viewport with whatever mesh is selected in the GridMap bottom panel." msgstr "" -#: ../../docs/tutorials/3d/using_gridmaps.rst:178 +#: ../../docs/tutorials/3d/using_gridmaps.rst:193 msgid "**Move**: Move whatever mesh or meshes are currently selected in the viewport." msgstr "" -#: ../../docs/tutorials/3d/using_gridmaps.rst:179 +#: ../../docs/tutorials/3d/using_gridmaps.rst:194 msgid "**Duplicate**: Create a copy of whatever the selected mesh or meshes in the GridMap are." msgstr "" -#: ../../docs/tutorials/3d/using_gridmaps.rst:181 +#: ../../docs/tutorials/3d/using_gridmaps.rst:196 msgid "**Delete**: Similar to erase, but for the entire selected area." msgstr "" -#: ../../docs/tutorials/3d/using_gridmaps.rst:182 +#: ../../docs/tutorials/3d/using_gridmaps.rst:197 msgid "**Cursor Rotate X**: While the paint tool is selected, this will rotate the mesh that will be painted on the X-axis. This will also rotate selected areas if they are being moved." msgstr "" -#: ../../docs/tutorials/3d/using_gridmaps.rst:185 +#: ../../docs/tutorials/3d/using_gridmaps.rst:200 msgid "**Cursor Rotate Y**: While the paint tool is selected, this will rotate the mesh that will be painted on the Y-axis. This will also rotate selected areas if they are being moved." msgstr "" -#: ../../docs/tutorials/3d/using_gridmaps.rst:188 +#: ../../docs/tutorials/3d/using_gridmaps.rst:203 msgid "**Cursor Rotate Z**: While the paint tool is selected, this will rotate the mesh that will be painted on the Z-axis. This will also rotate selected areas if they are being moved." msgstr "" -#: ../../docs/tutorials/3d/using_gridmaps.rst:191 +#: ../../docs/tutorials/3d/using_gridmaps.rst:206 msgid "**Change Grid Floor**: Adjusts what floor is currently being worked on, can be changed with the arrows or typing" msgstr "" -#: ../../docs/tutorials/3d/using_gridmaps.rst:193 +#: ../../docs/tutorials/3d/using_gridmaps.rst:208 msgid "**Filter Meshes**: Used to search for a specific mesh in the bottom panel." msgstr "" -#: ../../docs/tutorials/3d/using_gridmaps.rst:194 +#: ../../docs/tutorials/3d/using_gridmaps.rst:209 msgid "**Zoom**: Controls the zoom level on meshes in the bottom panel." msgstr "" -#: ../../docs/tutorials/3d/using_gridmaps.rst:195 +#: ../../docs/tutorials/3d/using_gridmaps.rst:210 msgid "**Layout toggles**: These two buttons toggle between different layouts for meshes in the bottom panel." msgstr "" -#: ../../docs/tutorials/3d/using_gridmaps.rst:197 +#: ../../docs/tutorials/3d/using_gridmaps.rst:212 msgid "**Tools dropdown**: This button opens a dropdown menu with a few more options." msgstr "" -#: ../../docs/tutorials/3d/using_gridmaps.rst:201 +#: ../../docs/tutorials/3d/using_gridmaps.rst:216 msgid "Clicking on **Settings** in that dropdown brings up a window that allows you to change the **Pick Distance**, which is the maximum distance at which tiles can be placed on a GridMap, relative to the camera position (in meters)." msgstr "" -#: ../../docs/tutorials/3d/using_gridmaps.rst:206 +#: ../../docs/tutorials/3d/using_gridmaps.rst:221 msgid "Using GridMap in code" msgstr "" -#: ../../docs/tutorials/3d/using_gridmaps.rst:208 +#: ../../docs/tutorials/3d/using_gridmaps.rst:223 msgid "See :ref:`class_GridMap` for details on the node's methods and member variables." msgstr "" diff --git a/sphinx/templates/tutorials/animation/2d_skeletons.pot b/sphinx/templates/tutorials/animation/2d_skeletons.pot index 66a5d68154..97ee02a5de 100644 --- a/sphinx/templates/tutorials/animation/2d_skeletons.pot +++ b/sphinx/templates/tutorials/animation/2d_skeletons.pot @@ -152,7 +152,7 @@ msgid "Keep going and build the whole skeleton:" msgstr "" #: ../../docs/tutorials/animation/2d_skeletons.rst:144 -msgid "You will notice that all bones raise a warning about a missing rest pose. A rest pose is the default pose for a skeleton, you can come back to it anytime you want (which is very handy for animating). To set one click on the *skeleton* node in the scene tree, then click on the ``Skeleton2D`` button in the toolbar, and select ``Overwrite Rest Pose`` from the dropdown menu." +msgid "You will notice that all bones raise a warning about a missing rest pose. A rest pose is the default pose for a skeleton, you can come back to it anytime you want (which is very handy for animating). To set one click on the *skeleton* node in the scene tree, then click on the :button:`Skeleton2D` button in the toolbar, and select ``Overwrite Rest Pose`` from the dropdown menu." msgstr "" #: ../../docs/tutorials/animation/2d_skeletons.rst:152 diff --git a/sphinx/templates/tutorials/animation/animation_tree.pot b/sphinx/templates/tutorials/animation/animation_tree.pot index c04740ef78..7e812c83dc 100644 --- a/sphinx/templates/tutorials/animation/animation_tree.pot +++ b/sphinx/templates/tutorials/animation/animation_tree.pot @@ -108,7 +108,7 @@ msgid "When you make an ``AnimationNodeBlendTree``, you get an empty 2d graph in msgstr "" #: ../../docs/tutorials/animation/animation_tree.rst:66 -msgid "In order for animations to play, a node has to be connected to to the output. You can add nodes from the **Add Node..** menu or by right clicking an empty space:" +msgid "In order for animations to play, a node has to be connected to the output. You can add nodes from the **Add Node..** menu or by right clicking an empty space:" msgstr "" #: ../../docs/tutorials/animation/animation_tree.rst:70 diff --git a/sphinx/templates/tutorials/animation/creating_movies.pot b/sphinx/templates/tutorials/animation/creating_movies.pot index 200071d6af..ea8b8a68a2 100644 --- a/sphinx/templates/tutorials/animation/creating_movies.pot +++ b/sphinx/templates/tutorials/animation/creating_movies.pot @@ -89,328 +89,364 @@ msgid "Movie Maker mode is disabled, click the \"movie reel\" icon to enable" msgstr "" #: ../../docs/tutorials/animation/creating_movies.rst:69 -msgid "The icon gets a background matching the accent color when Movie Maker mode is enabled:" +msgid "A menu will be displayed with options to enable Movie Maker mode and to go to the settings. The icon gets a background matching the accent color when Movie Maker mode is enabled:" msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:72 -#: ../../docs/tutorials/animation/creating_movies.rst:76 +#: ../../docs/tutorials/animation/creating_movies.rst:73 +#: ../../docs/tutorials/animation/creating_movies.rst:77 msgid "Movie Maker mode is enabled, click the \"movie reel\" icon again to disable" msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:78 +#: ../../docs/tutorials/animation/creating_movies.rst:79 msgid "Movie Maker status is **not** persisted when the editor quits, so you must re-enable Movie Maker mode again after restarting the editor if needed." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:83 +#: ../../docs/tutorials/animation/creating_movies.rst:84 msgid "Toggling Movie Maker mode while running the project will not have any effect until the project is restarted." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:86 +#: ../../docs/tutorials/animation/creating_movies.rst:87 msgid "Before you can record video by running the project, you still need to configure the output file path. This path can be set for all scenes in the Project Settings:" msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:89 -#: ../../docs/tutorials/animation/creating_movies.rst:93 +#: ../../docs/tutorials/animation/creating_movies.rst:90 +#: ../../docs/tutorials/animation/creating_movies.rst:94 msgid "Movie Maker project settings (with Advanced toggle enabled)" msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:95 +#: ../../docs/tutorials/animation/creating_movies.rst:96 msgid "Alternatively, you can set the output file path on a per-scene basis by adding a String metadata with the name ``movie_file`` to the scene's **root node**. This is only used when the main scene is set to the scene in question, or when running the scene directly by pressing :kbd:`F6` (:kbd:`Cmd + R` on macOS)." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:100 -#: ../../docs/tutorials/animation/creating_movies.rst:104 +#: ../../docs/tutorials/animation/creating_movies.rst:101 +#: ../../docs/tutorials/animation/creating_movies.rst:105 msgid "Inspector view after creating a ``movie_file`` metadata of type String" msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:106 +#: ../../docs/tutorials/animation/creating_movies.rst:107 msgid "The path specified in the project settings or metadata can be either absolute, or relative to the project root." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:109 +#: ../../docs/tutorials/animation/creating_movies.rst:110 msgid "Once you've configured and enabled Movie Maker mode, it will be automatically used when running the project from the editor." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:113 +#: ../../docs/tutorials/animation/creating_movies.rst:114 msgid "Command line usage" msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:115 +#: ../../docs/tutorials/animation/creating_movies.rst:116 msgid "Movie Maker can also be enabled from the :ref:`command line `:" msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:121 +#: ../../docs/tutorials/animation/creating_movies.rst:122 msgid "If the output path is relative, then it is **relative to the project folder**, not the current working directory. In the above example, the file will be written to ``/path/to/your_project/output.avi``. This behavior is similar to the ``--export-release`` command line argument." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:126 +#: ../../docs/tutorials/animation/creating_movies.rst:127 msgid "Since Movie Maker's output resolution is set by the viewport size, you can adjust the window size on startup to override it if the project uses the ``disabled`` or ``canvas_items`` :ref:`stretch mode `:" msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:134 +#: ../../docs/tutorials/animation/creating_movies.rst:135 msgid "Note that the window size is clamped by your display's resolution. See :ref:`doc_creating_movies_recording_at_higher_resolution` if you need to record a video at a higher resolution than the screen resolution." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:138 +#: ../../docs/tutorials/animation/creating_movies.rst:139 msgid "The recording FPS can also be overridden on the command line, without having to edit the Project Settings:" msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:147 +#: ../../docs/tutorials/animation/creating_movies.rst:148 msgid "The ``--write-movie`` and ``--fixed-fps`` command line arguments are both available in exported projects. Movie Maker mode cannot be toggled while the project is running, but you can use the :ref:`OS.execute() ` method to run a second instance of the exported project that will record a video file." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:153 +#: ../../docs/tutorials/animation/creating_movies.rst:154 msgid "Choosing an output format" msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:155 -msgid "Output formats are provided by the :ref:`MovieWriter ` class. Godot has 2 built-in :ref:`MovieWriters `, and more can be implemented by extensions:" +#: ../../docs/tutorials/animation/creating_movies.rst:156 +msgid "Output formats are provided by the :ref:`MovieWriter ` class. Godot has 3 built-in :ref:`MovieWriters `, and more can be implemented by extensions:" msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:160 -msgid "AVI (recommended)" +#: ../../docs/tutorials/animation/creating_movies.rst:161 +msgid "OGV (recommended)" msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:162 -msgid "AVI container with MJPEG for video and uncompressed audio. Features lossy video compression, resulting in medium file sizes and fast encoding. The lossy compression quality can be adjusted by changing **Editor > Movie Writer > MJPEG Quality**." -msgstr "" - -#: ../../docs/tutorials/animation/creating_movies.rst:167 -msgid "The resulting file can be viewed in most video players, but it must be converted to another format for viewing on the web or by Godot with the VideoStreamPlayer node. MJPEG does not support transparency. AVI output is currently limited to a file of 4 GB in size at most." +#: ../../docs/tutorials/animation/creating_movies.rst:163 +msgid "OGV container with Theora for video and Vorbis for audio. Features lossy video and audio compression with a good balance of file size and encoding speed, with a better image quality than MJPEG. It has 4 speed levels that can be adjusted by changing **Editor > Movie Writer > Encoding Speed** with the fastest one being around as fast as AVI with better compression. At slower speed levels, it can compress even better while keeping the same image quality. The lossy compression quality can be adjusted by changing **Editor > Movie Writer > Video Quality** for video and **Editor > Movie Writer > Audio Quality** for audio." msgstr "" #: ../../docs/tutorials/animation/creating_movies.rst:172 -msgid "To use AVI, specify a path to a ``.avi`` file to be created in the **Editor > Movie Writer > Movie File** project setting." +msgid "The Keyframe Interval can be adjusted by changing **Editor > Movie Writer > Keyframe Interval**. In some cases, increasing this setting can improve compression efficiency without downsides." msgstr "" #: ../../docs/tutorials/animation/creating_movies.rst:176 -msgid "PNG" +msgid "The resulting file can be viewed in Godot with :ref:`VideoStreamPlayer ` and most video players but not web browsers. OGV does not support transparency." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:178 -msgid "PNG image sequence for video and WAV for audio. Features lossless video compression, at the cost of large file sizes and slow encoding. This is designed to be :ref:`encoded to a video file with an external tool after recording `." +#: ../../docs/tutorials/animation/creating_movies.rst:180 +msgid "To use OGV, specify a path to a ``.ogv`` file to be created in the **Editor > Movie Writer > Movie File** project setting." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:183 -msgid "Transparency is supported, but the root viewport **must** have its ``transparent_bg`` property set to ``true`` for transparency to be visible on the output image. This can be achieved by enabling the **Rendering > Transparent Background** advanced project setting. **Display > Window > Size > Transparent** and **Display > Window > Per Pixel Transparency > Enabled** can optionally be enabled to allow transparency to be previewed while recording the video, but they do not have to be enabled for the output image to contain transparency." +#: ../../docs/tutorials/animation/creating_movies.rst:185 +msgid "OGV can only be recorded in editor builds. On the other hand, :ref:`OGV playback ` is possible in both editor and export template builds." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:191 -msgid "To use PNG, specify a ``.png`` file to be created in the **Editor > Movie Writer > Movie File** project setting. The generated ``.wav`` file will have the same name as the ``.png`` file (minus the extension)." +#: ../../docs/tutorials/animation/creating_movies.rst:190 +msgid "AVI" msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:196 -msgid "Custom" +#: ../../docs/tutorials/animation/creating_movies.rst:192 +msgid "AVI container with MJPEG for video and uncompressed audio. Features lossy video compression, resulting in medium file sizes and fast encoding. The lossy compression quality can be adjusted by changing **Editor > Movie Writer > Video Quality**." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:198 -msgid "If you need to encode directly to a different format or pipe a stream through third-party software, you can extend the MovieWriter class to create your own movie writers. This should typically be done using GDExtension for performance reasons." +#: ../../docs/tutorials/animation/creating_movies.rst:197 +msgid "The resulting file can be viewed in most video players, but it must be converted to another format for viewing on the web or by Godot with the VideoStreamPlayer node. MJPEG does not support transparency. AVI output is currently limited to a file of 4 GB in size at most." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:204 -msgid "Configuration" +#: ../../docs/tutorials/animation/creating_movies.rst:202 +msgid "To use AVI, specify a path to a ``.avi`` file to be created in the **Editor > Movie Writer > Movie File** project setting." msgstr "" #: ../../docs/tutorials/animation/creating_movies.rst:206 +msgid "PNG" +msgstr "" + +#: ../../docs/tutorials/animation/creating_movies.rst:208 +msgid "PNG image sequence for video and WAV for audio. Features lossless video compression, at the cost of large file sizes and slow encoding. This is designed to be :ref:`encoded to a video file with an external tool after recording `." +msgstr "" + +#: ../../docs/tutorials/animation/creating_movies.rst:213 +msgid "Transparency is supported, but the root viewport **must** have its ``transparent_bg`` property set to ``true`` for transparency to be visible on the output image. This can be achieved by enabling the **Rendering > Transparent Background** advanced project setting. **Display > Window > Size > Transparent** and **Display > Window > Per Pixel Transparency > Enabled** can optionally be enabled to allow transparency to be previewed while recording the video, but they do not have to be enabled for the output image to contain transparency." +msgstr "" + +#: ../../docs/tutorials/animation/creating_movies.rst:221 +msgid "To use PNG, specify a ``.png`` file to be created in the **Editor > Movie Writer > Movie File** project setting. The generated ``.wav`` file will have the same name as the ``.png`` file (minus the extension)." +msgstr "" + +#: ../../docs/tutorials/animation/creating_movies.rst:226 +msgid "Custom" +msgstr "" + +#: ../../docs/tutorials/animation/creating_movies.rst:228 +msgid "If you need to encode directly to a different format or pipe a stream through third-party software, you can extend the MovieWriter class to create your own movie writers. This should typically be done using GDExtension for performance reasons." +msgstr "" + +#: ../../docs/tutorials/animation/creating_movies.rst:234 +msgid "Configuration" +msgstr "" + +#: ../../docs/tutorials/animation/creating_movies.rst:236 msgid "In the **Editor > Movie Writer** section of the Project Settings, there are several options you can configure. Some of them are only visible after enabling the **Advanced** toggle in the top-right corner of the Project Settings dialog." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:210 +#: ../../docs/tutorials/animation/creating_movies.rst:240 msgid "**Mix Rate Hz:** The audio mix rate to use in the recorded audio when writing a movie. This can be different from the project's mix rate, but this value must be divisible by the recorded FPS to prevent audio from desynchronizing over time." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:214 +#: ../../docs/tutorials/animation/creating_movies.rst:244 msgid "**Speaker Mode:** The speaker mode to use in the recorded audio when writing a movie (stereo, 5.1 surround or 7.1 surround)." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:216 -msgid "**MJPEG Quality:** The JPEG quality to use when writing a video to an AVI file, between ``0.01`` and ``1.0`` (inclusive). Higher quality values result in better-looking output at the cost of larger file sizes. Recommended quality values are between ``0.75`` and ``0.9``. Even at quality ``1.0``, JPEG compression remains lossy. This setting does not affect audio quality and is ignored when writing to a PNG image sequence." +#: ../../docs/tutorials/animation/creating_movies.rst:246 +msgid "**Video Quality:** The image quality to use when writing a video to an OGV or AVI file, between ``0.01`` and ``1.0`` (inclusive). Higher quality values result in better-looking output at the cost of larger file sizes. Recommended quality values are between ``0.75`` and ``0.9``. Even at quality ``1.0``, compression remains lossy. This setting does not affect audio quality and is ignored when writing to a PNG image sequence." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:222 +#: ../../docs/tutorials/animation/creating_movies.rst:252 msgid "**Movie File:** The output path for the movie. This can be absolute or relative to the project root." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:224 +#: ../../docs/tutorials/animation/creating_movies.rst:254 msgid "**Disable V-Sync:** If enabled, requests V-Sync to be disabled when writing a movie. This can speed up video writing if the hardware is fast enough to render, encode and save the video at a framerate higher than the monitor's refresh rate. This setting has no effect if the operating system or graphics driver forces V-Sync with no way for applications to disable it." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:229 +#: ../../docs/tutorials/animation/creating_movies.rst:259 msgid "**FPS:** The rendered frames per second in the output movie. Higher values result in smoother animation, at the cost of longer rendering times and larger output file sizes. Most video hosting platforms do not support FPS values higher than 60, but you can use a higher value and use that to generate motion blur." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:237 +#: ../../docs/tutorials/animation/creating_movies.rst:264 +msgid "**Audio Quality:** The audio quality to use when writing a video to an OGV file, between ``-0.1`` and ``1.0`` (inclusive). Higher quality values result in better audio quality at the cost of very slightly larger file sizes. Recommended quality values are between ``0.3`` and ``0.5``. Even at quality ``1.0``, compression remains lossy." +msgstr "" + +#: ../../docs/tutorials/animation/creating_movies.rst:269 +msgid "**Encoding Speed:** The speed level to use when writing a video to an OGV file. Faster speed levels have less compression efficiency. The image quality stays barely the same." +msgstr "" + +#: ../../docs/tutorials/animation/creating_movies.rst:272 +msgid "**Keyframe Interval:** Also known as GOP (Group Of Pictures), the maximum number of inter-frames to use when writing to an OGV file. Higher values can improve compression efficiency without quality loss but at the cost of slower video seeks." +msgstr "" + +#: ../../docs/tutorials/animation/creating_movies.rst:279 msgid "When using the ``disabled`` or ``2d`` :ref:`stretch modes `, the output file's resolution is set by the window size. Make sure to resize the window *before* the splash screen has ended. For this purpose, it's recommended to adjust the **Display > Window > Size > Window Width Override** and **Window Height Override** advanced project settings." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:244 +#: ../../docs/tutorials/animation/creating_movies.rst:286 msgid "See also :ref:`doc_creating_movies_recording_at_higher_resolution`." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:247 +#: ../../docs/tutorials/animation/creating_movies.rst:289 msgid "Quitting Movie Maker mode" msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:249 +#: ../../docs/tutorials/animation/creating_movies.rst:291 msgid "To safely quit a project that is using Movie Maker mode, use the X button at the top of the window, or call ``get_tree().quit()`` in a script. You can also use the ``--quit-after N`` command line argument where ``N`` is the number of frames to render before quitting." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:254 -msgid "Pressing :kbd:`F8` (:kbd:`Cmd + .` on macOS) or pressing :kbd:`Ctrl + C` on the terminal running Godot is **not recommended**, as it will result in an improperly formatted AVI file with no duration information. For PNG image sequences, PNG images will not be negatively altered, but the associated WAV file will still lack duration information." +#: ../../docs/tutorials/animation/creating_movies.rst:296 +msgid "Pressing :kbd:`F8` (:kbd:`Cmd + .` on macOS) or pressing :kbd:`Ctrl + C` on the terminal running Godot is **not recommended**, as it will result in an improperly formatted AVI file with no duration information. For PNG image sequences, PNG images will not be negatively altered, but the associated WAV file will still lack duration information. OGV files might end up with slightly different duration video and audio tracks but still valid." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:260 +#: ../../docs/tutorials/animation/creating_movies.rst:303 msgid "Some video players may still be able to play the AVI or WAV file with working video and audio. However, software that makes use of the AVI or WAV file such as video editors may not be able to open the file. :ref:`Using a video converter program ` can help in those cases." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:266 +#: ../../docs/tutorials/animation/creating_movies.rst:309 msgid "If you're using an AnimationPlayer to control a \"main action\" in the scene (such as camera movement), you can enable the **Movie Quit On Finish** property on the AnimationPlayer node in question. When enabled, this property will make Godot quit on its own when an animation is done playing *and* the engine is running in Movie Maker mode. Note that *this property has no effect on looping animations*. Therefore, you need to make sure that the animation is set as non-looping." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:274 +#: ../../docs/tutorials/animation/creating_movies.rst:317 msgid "Using high-quality graphics settings" msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:276 +#: ../../docs/tutorials/animation/creating_movies.rst:319 msgid "The ``movie`` :ref:`feature tag ` can be used to override specific project settings. This is useful to enable high-quality graphics settings that wouldn't be fast enough to run in real-time speeds on your hardware. Remember that putting every setting to its maximum value can still slow down movie saving speed, especially when recording at higher resolutions. Therefore, it's still recommended to only increase graphics settings if they make a meaningful difference in the output image." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:284 +#: ../../docs/tutorials/animation/creating_movies.rst:327 msgid "This feature tag can also be queried in a script to increase quality settings that are set in the Environment resource. For example, to further improve SDFGI detail and reduce light leaking:" msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:321 +#: ../../docs/tutorials/animation/creating_movies.rst:364 msgid "Rendering at a higher resolution than the screen resolution" msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:323 +#: ../../docs/tutorials/animation/creating_movies.rst:366 msgid "The overall rendering quality can be improved significantly by rendering at high resolutions such as 4K or 8K." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:328 +#: ../../docs/tutorials/animation/creating_movies.rst:371 msgid "For 3D rendering, Godot provides a **Rendering > Scaling 3D > Scale** advanced project setting, which can be set above ``1.0`` to obtain *supersample antialiasing*. The 3D rendering is then *downsampled* when it's drawn on the viewport. This provides an expensive but high-quality form of antialiasing, without increasing the final output resolution." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:334 +#: ../../docs/tutorials/animation/creating_movies.rst:377 msgid "Consider using this project setting first, as it avoids slowing down movie writing speeds and increasing output file size compared to actually increasing the output resolution." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:338 +#: ../../docs/tutorials/animation/creating_movies.rst:381 msgid "If you wish to render 2D at a higher resolution, or if you actually need the higher raw pixel output for 3D rendering, you can increase the resolution above what the screen allows." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:342 +#: ../../docs/tutorials/animation/creating_movies.rst:385 msgid "By default, Godot uses the ``disabled`` :ref:`stretch modes ` in projects. If using ``disabled`` or ``canvas_items`` stretch mode, the window size dictates the output video resolution." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:346 +#: ../../docs/tutorials/animation/creating_movies.rst:389 msgid "On the other hand, if the project is configured to use the ``viewport`` stretch mode, the viewport resolution dictates the output video resolution. The viewport resolution is set using the **Display > Window > Size > Viewport Width** and **Viewport Height** project settings. This can be used to render a video at a higher resolution than the screen resolution." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:352 +#: ../../docs/tutorials/animation/creating_movies.rst:395 msgid "To make the window smaller during recording without affecting the output video resolution, you can set the **Display > Window > Size > Window Width Override** and **Window Height Override** advanced project settings to values greater than ``0``." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:357 +#: ../../docs/tutorials/animation/creating_movies.rst:400 msgid "To apply a resolution override only when recording a movie, you can override those settings with the ``movie`` :ref:`feature tag `." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:361 +#: ../../docs/tutorials/animation/creating_movies.rst:404 msgid "Post-processing steps" msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:363 +#: ../../docs/tutorials/animation/creating_movies.rst:406 msgid "Some common post-processing steps are listed below." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:367 +#: ../../docs/tutorials/animation/creating_movies.rst:410 msgid "When using several post-processing steps, try to perform all of them in a single FFmpeg command. This will save encoding time and improve quality by avoiding multiple lossy encoding steps." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:374 -msgid "Converting AVI video to MP4" +#: ../../docs/tutorials/animation/creating_movies.rst:417 +msgid "Converting OGV/AVI video to MP4" msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:376 +#: ../../docs/tutorials/animation/creating_movies.rst:419 msgid "While some platforms such as YouTube support uploading the AVI file directly, many others will require a conversion step beforehand. `HandBrake `__ (GUI) and `FFmpeg `__ (CLI) are popular open source tools for this purpose. FFmpeg has a steeper learning curve, but it's more powerful." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:381 -msgid "The command below converts an AVI video to an MP4 (H.264) video with a Constant Rate Factor (CRF) of 15. This results in a relatively large file, but is well-suited for platforms that will re-encode your videos to reduce their size (such as most video sharing websites):" -msgstr "" - -#: ../../docs/tutorials/animation/creating_movies.rst:390 -msgid "To get a smaller file at the cost of quality, *increase* the CRF value in the above command." -msgstr "" - -#: ../../docs/tutorials/animation/creating_movies.rst:393 -msgid "To get a file with a better size/quality ratio (at the cost of slower encoding times), add ``-preset veryslow`` before ``-crf 15`` in the above command. On the contrary, ``-preset veryfast`` can be used to achieve faster encoding at the cost of a worse size/quality ratio." -msgstr "" - -#: ../../docs/tutorials/animation/creating_movies.rst:401 -msgid "Converting PNG image sequence + WAV audio to a video" -msgstr "" - -#: ../../docs/tutorials/animation/creating_movies.rst:403 -msgid "If you chose to record a PNG image sequence with a WAV file beside it, you need to convert it to a video before you can use it elsewhere." -msgstr "" - -#: ../../docs/tutorials/animation/creating_movies.rst:406 -msgid "The filename for the PNG image sequence generated by Godot always contains 8 digits, starting at 0 with zero-padded numbers. If you specify an output path ``folder/example.png``, Godot will write ``folder/example00000000.png``, ``folder/example00000001.png``, and so on in that folder. The audio will be saved at ``folder/example.wav``." -msgstr "" - -#: ../../docs/tutorials/animation/creating_movies.rst:412 -msgid "The FPS is specified using the ``-r`` argument. It should match the FPS specified during recording. Otherwise, the video will appear to be slowed down or sped up, and audio will be out of sync with the video." -msgstr "" - -#: ../../docs/tutorials/animation/creating_movies.rst:420 -msgid "If you recorded a PNG image sequence with transparency enabled, you need to use a video format that supports storing transparency. MP4/H.264 doesn't support storing transparency, so you can use WebM/VP9 as an alternative:" -msgstr "" - -#: ../../docs/tutorials/animation/creating_movies.rst:431 -msgid "Cutting video" +#: ../../docs/tutorials/animation/creating_movies.rst:424 +msgid "The command below converts an OGV/AVI video to an MP4 (H.264) video with a Constant Rate Factor (CRF) of 15. This results in a relatively large file, but is well-suited for platforms that will re-encode your videos to reduce their size (such as most video sharing websites):" msgstr "" #: ../../docs/tutorials/animation/creating_movies.rst:433 +msgid "To get a smaller file at the cost of quality, *increase* the CRF value in the above command." +msgstr "" + +#: ../../docs/tutorials/animation/creating_movies.rst:436 +msgid "To get a file with a better size/quality ratio (at the cost of slower encoding times), add ``-preset veryslow`` before ``-crf 15`` in the above command. On the contrary, ``-preset veryfast`` can be used to achieve faster encoding at the cost of a worse size/quality ratio." +msgstr "" + +#: ../../docs/tutorials/animation/creating_movies.rst:444 +msgid "Converting PNG image sequence + WAV audio to a video" +msgstr "" + +#: ../../docs/tutorials/animation/creating_movies.rst:446 +msgid "If you chose to record a PNG image sequence with a WAV file beside it, you need to convert it to a video before you can use it elsewhere." +msgstr "" + +#: ../../docs/tutorials/animation/creating_movies.rst:449 +msgid "The filename for the PNG image sequence generated by Godot always contains 8 digits, starting at 0 with zero-padded numbers. If you specify an output path ``folder/example.png``, Godot will write ``folder/example00000000.png``, ``folder/example00000001.png``, and so on in that folder. The audio will be saved at ``folder/example.wav``." +msgstr "" + +#: ../../docs/tutorials/animation/creating_movies.rst:455 +msgid "The FPS is specified using the ``-r`` argument. It should match the FPS specified during recording. Otherwise, the video will appear to be slowed down or sped up, and audio will be out of sync with the video." +msgstr "" + +#: ../../docs/tutorials/animation/creating_movies.rst:463 +msgid "If you recorded a PNG image sequence with transparency enabled, you need to use a video format that supports storing transparency. MP4/H.264 doesn't support storing transparency, so you can use WebM/VP9 as an alternative:" +msgstr "" + +#: ../../docs/tutorials/animation/creating_movies.rst:474 +msgid "Cutting video" +msgstr "" + +#: ../../docs/tutorials/animation/creating_movies.rst:476 msgid "You can trim parts of the video you don't want to keep after the video is recorded. For example, to discard everything before 12.1 seconds and keep only 5.2 seconds of video after that point:" msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:441 +#: ../../docs/tutorials/animation/creating_movies.rst:484 msgid "Cutting videos can also be done with the GUI tool `LosslessCut `__." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:445 +#: ../../docs/tutorials/animation/creating_movies.rst:488 msgid "Resizing video" msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:447 +#: ../../docs/tutorials/animation/creating_movies.rst:490 msgid "The following command resizes a video to be 1080 pixels tall (1080p), while preserving its existing aspect ratio:" msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:458 +#: ../../docs/tutorials/animation/creating_movies.rst:501 msgid "Reducing framerate" msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:460 +#: ../../docs/tutorials/animation/creating_movies.rst:503 msgid "The following command changes a video's framerate to 30 FPS, dropping some of the original frames if there are more in the input video:" msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:468 +#: ../../docs/tutorials/animation/creating_movies.rst:511 msgid "Generating accumulation motion blur with FFmpeg" msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:470 +#: ../../docs/tutorials/animation/creating_movies.rst:513 msgid "Godot does not have built-in support for motion blur, but it can still be created in recorded videos." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:473 +#: ../../docs/tutorials/animation/creating_movies.rst:516 msgid "If you record the video at a multiple of the original framerate, you can blend the frames together then reduce the frameate to produce a video with *accumulation motion blur*. This motion blur can look very good, but it can take a long time to generate since you have to render many more frames per second (on top of the time spent on post-processing)." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:479 +#: ../../docs/tutorials/animation/creating_movies.rst:522 msgid "Example with a 240 FPS source video, generating 4× motion blur and decreasing its output framerate to 60 FPS:" msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:486 +#: ../../docs/tutorials/animation/creating_movies.rst:529 msgid "This also makes effects that converge over several frames (such as temporal antialiasing, SDFGI and volumetric fog) converge faster and therefore look better, since they'll be able to work with more data at a given time. See :ref:`doc_creating_movies_reducing_framerate` if you want to get this benefit without adding motion blur." msgstr "" diff --git a/sphinx/templates/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.pot b/sphinx/templates/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.pot index df2534c4b8..c593aa86e9 100644 --- a/sphinx/templates/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.pot +++ b/sphinx/templates/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.pot @@ -85,6 +85,7 @@ msgid "**Apply Root Scale:** If enabled, **Root Scale** will be *applied* on the msgstr "" #: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:75 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:201 msgid "**Meshes**" msgstr "" @@ -133,6 +134,7 @@ msgid "Together, this information is enough to tell Godot how to use the bone po msgstr "" #: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:129 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:232 msgid "**Animation**" msgstr "" @@ -184,120 +186,208 @@ msgstr "" msgid "**Embedded Texture Handling:** Controls how textures embedded within fbx scenes should be handled. **Discard All Textures** will not import any textures, which is useful if you wish to manually set up materials in Godot instead. **Extract Textures** extracts textures to external images, resulting in smaller file sizes and more control over import options. **Embed as Basis Universal** and **Embed as Uncompressed** keeps the textures embedded in the imported scene, with and without VRAM compression respectively." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:180 -msgid "Using import scripts for automation" +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:177 +msgid "**Blender-specific options**" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:182 -msgid "A special script to process the whole scene after import can be provided. This is great for post-processing, changing materials, doing funny stuff with the geometry, and more." +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:179 +msgid "Only visible for ``.blend`` files." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:186 -msgid "Create a script that is not attached to any node by right-clicking in the FileSystem dock and choosing **New > Script…**. In the script editor, write the following:" +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:181 +msgid "**Nodes**" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:212 -msgid "The ``_post_import(scene: Node)`` function takes the imported scene as argument (the parameter is actually the root node of the scene). The scene that will finally be used **must** be returned (even if the scene can be entirely different)." +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:183 +msgid "**Visible:** **All** imports everything, even invisible objects. **Visible Only** only imports visible objects. **Renderable** only imports objects that are marked as renderable in Blender, regardless of whether they are actually visible. In Blender, renderability is toggled by clicking the camera icon next to each object in the Outliner, while visibility is toggled by the eye icon." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:216 -msgid "To use your script, locate the script in the import tab's \"Path\" option under the \"Import Script\" category." +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:188 +msgid "**Active Collection Only:** If checked, only imports nodes that are in the active collection in Blender." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:190 +msgid "**Punctual Lights:** If checked, imports lights (directional, omni, and spot) from Blender. \"Punctual\" is not to be confused with \"positional\", which is why directional lights are also included." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:193 +msgid "**Cameras:** If checked, imports cameras from Blender." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:194 +msgid "**Custom Properties:** If checked, imports custom properties from Blender as glTF extras. This data can then be used from an editor plugin that uses :ref:`GLTFDocument.register_gltf_document_extension() `, which can set node metadata on import (among other use cases)." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:198 +msgid "**Modifiers:** If set to **No Modifiers**, object modifiers are ignored on import. If set to **All Modifiers**, applies modifiers to objects on import." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:203 +msgid "**Colors:** If checked, imports vertex colors from Blender." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:204 +msgid "**UVs:** If checked, imports vertex UV1 and UV2 from Blender." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:205 +msgid "**Normals:** If checked, imports vertex normals from Blender." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:206 +msgid "**Export Geometry Nodes Instances:** If checked, imports `geometry node `__ instances from Blender." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:209 +msgid "**Tangents:** If checked, imports vertex tangents from Blender." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:210 +msgid "**Skins:** **None** skips skeleton skin data import from Blender. **4 Influences (Compatible)** imports skin data to be compatible with all renderers, at the cost of lower precision for certain rigs. **All Influences** imports skin data with all influences (up to 8 in Godot), which is more precise but may not be compatible with all renderers." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:214 +msgid "**Export Bones Deforming Mesh Only:** If checked, only imports bones that deform the mesh from Blender." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:217 +msgid "**Materials**" msgstr "" #: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:219 -msgid "Using animation libraries" +msgid "**Unpack Enabled:** If checked, unpacks the original images to the Godot filesystem and uses them. This allows changing image import settings like VRAM compression. If unchecked, allows Blender to convert the original images, such as repacking roughness and metallic into one roughness + metallic texture. In most cases, this option should be left checked, but if the ``.blend`` file's images aren't in the correct format, this must be disabled for correct behavior." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:221 -msgid "As of Godot 4.0, you can choose to import **only** animations from a glTF file and nothing else. This is used in some asset pipelines to distribute animations separately from models. For example, this allows you to use one set of animations for several characters, without having to duplicate animation data in every character." +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:225 +msgid "**Export Materials:** If set to **Placeholder**, does not import materials, but keeps surface slots so that separate materials can be assigned to different surfaces. If set to **Export**, imports materials as-is (note that procedural Blender materials may not work correctly). If set to **Named Placeholder**, imports materials, but doesn't import images that are packed into the ``.blend`` file. Textures will have to be reassigned manually in the imported materials." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:227 -msgid "To do so, select the glTF file in the FileSystem dock, then change the import mode to Animation Library in the Import dock:" -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:230 #: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:234 -msgid "Changing the import type to Animation Library in the Import dock" +msgid "**Limit Playback:** If checked, limits animation import to the playback range defined in Blender (the **Start** and **End** options at the right of the animation timeline in Blender). This can avoid including unused animation data, making the imported scene smaller and faster to load. However, this can also result in missing animation data if the playback range is not set correctly in Blender." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:236 -msgid "Click **Reimport** and restart the editor when prompted. After restarting, the glTF file will be imported as an :ref:`class_AnimationLibrary` instead of a :ref:`class_PackedScene`. This animation library can then be referenced in an :ref:`class_AnimationPlayer` node." +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:239 +msgid "**Always Sample:** If checked, forces animation sampling on import to ensure consistency between how Blender and glTF perform animation interpolation, at the cost of larger file sizes. If unchecked, there may be differences in how animations are interpolated between what you see in Blender and the imported scene in Godot, due to different interpolation semantics between both." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:241 -msgid "The import options that are visible after changing the import mode to Animation Library act the same as when using the Scene import mode. See :ref:`doc_importing_3d_scenes_using_the_import_dock` for more information." +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:244 +msgid "**Group Tracks:** If checked, imports animations (actives and on NLA tracks) as separate tracks. If unchecked, all the currently assigned actions become one glTF animation." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:246 -msgid "Filter script" +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:250 +msgid "Using import scripts for automation" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:248 -msgid "It is possible to specify a filter script in a special syntax to decide which tracks from which animations should be kept." +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:252 +msgid "A special script to process the whole scene after import can be provided. This is great for post-processing, changing materials, doing funny stuff with the geometry, and more." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:251 -msgid "The filter script is executed against each imported animation. The syntax consists of two types of statements, the first for choosing which animations to filter, and the second for filtering individual tracks within the matched animation. All name patterns are performed using a case-insensitive expression match, with support for ``?`` and ``*`` wildcards (using :ref:`String.matchn() ` under the hood)." +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:256 +msgid "Create a script that is not attached to any node by right-clicking in the FileSystem dock and choosing **New > Script…**. In the script editor, write the following:" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:258 -msgid "The script must start with an animation filter statement (as denoted by the line beginning with an ``@``). For example, if we would like to apply filters to all imported animations which have a name ending in ``\"_Loop\"``:" -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:266 -msgid "Similarly, additional patterns can be added to the same line, separated by commas. Here is a modified example to additionally *include* all animations with names that begin with ``\"Arm_Left\"``, but also *exclude* all animations which have names ending in ``\"Attack\"``:" -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:275 -msgid "Following the animation selection filter statement, we add track filtering patterns to indicate which animation tracks should be kept or discarded. If no track filter patterns are specified, then all tracks within the matched animations will be discarded!" -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:280 -msgid "It's important to note that track filter statements are applied in order for each track within the animation, this means that one line may include a track, a later rule can still discard it. Similarly, a track excluded by an early rule may then be re-included once again by a filter rule further down in the filter script." +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:282 +msgid "The ``_post_import(scene: Node)`` function takes the imported scene as argument (the parameter is actually the root node of the scene). The scene that will finally be used **must** be returned (even if the scene can be entirely different)." msgstr "" #: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:286 -msgid "For example: include all tracks in animations with names ending in ``\"_Loop\"``, but discard any tracks affecting a ``\"Skeleton\"`` which end in ``\"Control\"``, unless they have ``\"Arm\"`` in their name:" +msgid "To use your script, locate the script in the import tab's \"Path\" option under the \"Import Script\" category." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:289 +msgid "Using animation libraries" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:291 +msgid "As of Godot 4.0, you can choose to import **only** animations from a glTF file and nothing else. This is used in some asset pipelines to distribute animations separately from models. For example, this allows you to use one set of animations for several characters, without having to duplicate animation data in every character." msgstr "" #: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:297 -msgid "In the above example, tracks like ``\"Skeleton:Leg_Control\"`` would be discarded, while tracks such as ``\"Skeleton:Head\"`` or ``\"Skeleton:Arm_Left_Control\"`` would be retained." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:301 -msgid "Any track filter lines that do not begin with a ``+`` or ``-`` are ignored." +msgid "To do so, select the glTF file in the FileSystem dock, then change the import mode to Animation Library in the Import dock:" msgstr "" +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:300 #: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:304 -msgid "Scene inheritance" +msgid "Changing the import type to Animation Library in the Import dock" msgstr "" #: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:306 +msgid "Click **Reimport** and restart the editor when prompted. After restarting, the glTF file will be imported as an :ref:`class_AnimationLibrary` instead of a :ref:`class_PackedScene`. This animation library can then be referenced in an :ref:`class_AnimationPlayer` node." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:311 +msgid "The import options that are visible after changing the import mode to Animation Library act the same as when using the Scene import mode. See :ref:`doc_importing_3d_scenes_using_the_import_dock` for more information." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:316 +msgid "Filter script" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:318 +msgid "It is possible to specify a filter script in a special syntax to decide which tracks from which animations should be kept." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:321 +msgid "The filter script is executed against each imported animation. The syntax consists of two types of statements, the first for choosing which animations to filter, and the second for filtering individual tracks within the matched animation. All name patterns are performed using a case-insensitive expression match, with support for ``?`` and ``*`` wildcards (using :ref:`String.matchn() ` under the hood)." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:328 +msgid "The script must start with an animation filter statement (as denoted by the line beginning with an ``@``). For example, if we would like to apply filters to all imported animations which have a name ending in ``\"_Loop\"``:" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:336 +msgid "Similarly, additional patterns can be added to the same line, separated by commas. Here is a modified example to additionally *include* all animations with names that begin with ``\"Arm_Left\"``, but also *exclude* all animations which have names ending in ``\"Attack\"``:" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:345 +msgid "Following the animation selection filter statement, we add track filtering patterns to indicate which animation tracks should be kept or discarded. If no track filter patterns are specified, then all tracks within the matched animations will be discarded!" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:350 +msgid "It's important to note that track filter statements are applied in order for each track within the animation, this means that one line may include a track, a later rule can still discard it. Similarly, a track excluded by an early rule may then be re-included once again by a filter rule further down in the filter script." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:356 +msgid "For example: include all tracks in animations with names ending in ``\"_Loop\"``, but discard any tracks affecting a ``\"Skeleton\"`` which end in ``\"Control\"``, unless they have ``\"Arm\"`` in their name:" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:367 +msgid "In the above example, tracks like ``\"Skeleton:Leg_Control\"`` would be discarded, while tracks such as ``\"Skeleton:Head\"`` or ``\"Skeleton:Arm_Left_Control\"`` would be retained." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:371 +msgid "Any track filter lines that do not begin with a ``+`` or ``-`` are ignored." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:374 +msgid "Scene inheritance" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:376 msgid "In many cases, it may be desired to make manual modifications to the imported scene. By default, this is not possible because if the source 3D asset changes, Godot will re-import the *whole* scene." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:310 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:380 msgid "However, it is possible to make local modifications by using *scene inheritance*. If you try to open the imported scene using **Scene > Open Scene…** or **Scene > Quick Open Scene…**, the following dialog will appear:" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:314 -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:318 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:384 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:388 msgid "Dialog when opening an imported 3D scene in the editor" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:320 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:390 msgid "In inherited scenes, the only limitations for modification are:" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:322 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:392 msgid "Nodes from the base scene can't be removed, but additional nodes can be added anywhere." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:324 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:394 msgid "Subresources can't be edited. Instead, you need to save them externally as described above." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:327 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:397 msgid "Other than that, everything is allowed." msgstr "" diff --git a/sphinx/templates/tutorials/export/exporting_for_visionos.pot b/sphinx/templates/tutorials/export/exporting_for_visionos.pot new file mode 100644 index 0000000000..4f896531e8 --- /dev/null +++ b/sphinx/templates/tutorials/export/exporting_for_visionos.pot @@ -0,0 +1,32 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2014-present Juan Linietsky, Ariel Manzur and the Godot community (CC BY 3.0) +# This file is distributed under the same license as the Godot Engine package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Godot Engine latest\n" +"Report-Msgid-Bugs-To: \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" + +#: ../../docs/tutorials/export/exporting_for_visionos.rst:4 +msgid "Exporting for visionOS" +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_visionos.rst:8 +msgid "This page describes how to export a Godot project to visionOS. If you're looking to compile export template binaries from source instead, see :ref:`doc_compiling_for_visionos`." +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_visionos.rst:12 +msgid "Exporting instructions for visionOS are currently identical to :ref:`doc_compiling_for_ios`, except you should add a **visionOS** export preset instead of **iOS**. See the linked page for details." +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_visionos.rst:18 +msgid "Note that currently, only exporting an application for use on a flat plane within the headset is supported. Immersive experiences are not supported." +msgstr "" diff --git a/sphinx/templates/tutorials/export/feature_tags.pot b/sphinx/templates/tutorials/export/feature_tags.pot index de03d63ea9..82037de7ef 100644 --- a/sphinx/templates/tutorials/export/feature_tags.pot +++ b/sphinx/templates/tutorials/export/feature_tags.pot @@ -452,7 +452,7 @@ msgid "**shader_baker**" msgstr "" #: ../../docs/tutorials/export/feature_tags.rst:135 -msgid "Project was exported with shader baking enabled (only applies to the exported project, not when running in the editor)" +msgid "Project was exported with :ref:`shader baking ` enabled (only applies to the exported project, not when running in the editor)" msgstr "" #: ../../docs/tutorials/export/feature_tags.rst:138 diff --git a/sphinx/templates/tutorials/i18n/internationalizing_games.pot b/sphinx/templates/tutorials/i18n/internationalizing_games.pot index 045df32d9f..6bbebda33e 100644 --- a/sphinx/templates/tutorials/i18n/internationalizing_games.pot +++ b/sphinx/templates/tutorials/i18n/internationalizing_games.pot @@ -196,181 +196,181 @@ msgid "The same text in different languages can vary greatly in length. For this msgstr "" #: ../../docs/tutorials/i18n/internationalizing_games.rst:243 -msgid "To check whether your UI can accommodate translations with longer strings than the original, you can enable *pseudolocalization* in the advanced Project Settings. This will replace all your localizable strings with longer versions of themselves, while also replacing some characters in the original strings with accented versions (while still being readable). Placeholders are kept as-is, so that they keep working when pseudolocalization is enabled." +msgid "To check whether your UI can accommodate translations with longer strings than the original, you can enable :ref:`pseudolocalization ` in the advanced Project Settings. This will replace all your localizable strings with longer versions of themselves, while also replacing some characters in the original strings with accented versions (while still being readable). Placeholders are kept as-is, so that they keep working when pseudolocalization is enabled." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:250 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:251 msgid "For example, the string ``Hello world, this is %s!`` becomes ``[Ĥéłłô ŵôŕłd́, ŧh̀íš íš %s!]`` when pseudolocalization is enabled." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:253 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:254 msgid "While looking strange at first, pseudolocalization has several benefits:" msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:255 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:256 msgid "It lets you spot non-localizable strings quickly, so you can go over them and make them localizable (if it makes sense to do so)." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:257 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:258 msgid "It lets you check UI elements that can't fit long strings. Many languages will feature much longer translations than the source text, so it's important to ensure your UI can accommodate longer-than-usual strings." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:260 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:261 msgid "It lets you check whether your font contains all the characters required to support various languages. However, since the goal of pseudolocalization is to keep the original strings readable, it's not an effective test for checking whether a font can support :abbr:`CJK (Chinese, Japanese, Korean)` or right-to-left languages." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:266 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:267 msgid "The project settings allow you to tune pseudolocalization behavior, so that you can disable parts of it if desired." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:270 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:271 msgid "TranslationServer" msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:272 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:273 msgid "Godot has a server handling low-level translation management called the :ref:`TranslationServer `. Translations can be added or removed during runtime; the current language can also be changed at runtime." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:280 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:281 msgid "Bidirectional text and UI Mirroring" msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:282 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:283 msgid "Arabic and Hebrew are written from right to left (except for the numbers and Latin words mixed in), and the user interface for these languages should be mirrored as well. In some languages the shape of a glyph changes depending on the surrounding characters." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:286 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:287 msgid "Support for bidirectional writing systems and UI mirroring is transparent, you don't usually need to change anything or have any knowledge of the specific writing system." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:289 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:290 msgid "For RTL languages, Godot will automatically do the following changes to the UI:" msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:291 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:292 msgid "Mirrors left/right anchors and margins." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:292 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:293 msgid "Swaps left and right text alignment." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:293 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:294 msgid "Mirrors horizontal order of the child controls in the containers, and items in Tree/ItemList controls." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:294 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:295 msgid "Uses mirrored order of the internal control elements (e.g. OptionButton dropdown button, checkbox alignment, List column order, Tree item icons and connecting line alignment, e.t.c.), in some cases mirrored controls use separate theme styles." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:295 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:296 msgid "Coordinate system is not mirrored, and non-UI nodes (sprites, e.t.c) are not affected." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:297 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:298 msgid "It is possible to override text and control layout direction by using the following control properties:" msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:299 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:300 msgid "``text_direction``, sets the base text direction. When set to \"auto\", direction depends on the first strong directional character in the text according to the Unicode Bidirectional Algorithm," msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:300 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:301 msgid "``language``, overrides current project locale." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:301 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:302 msgid "``structured_text_bidi_override`` property and ``_structured_text_parser`` callback, enables special handling for structured text." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:302 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:303 msgid "``layout_direction``, overrides control mirroring." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:308 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:309 msgid "You can see how right-to-left typesetting works in action using the `BiDI and Font Features demo project `__." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:312 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:313 msgid "Adding break iterator data to exported project" msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:314 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:315 msgid "Some languages are written without spaces. In those languages, word and line breaking require more than rules over character sequences. Godot includes ICU rule and dictionary-based break iterator data, but this data is not included in exported projects by default." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:319 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:320 msgid "To include it, go to **Project → Project Settings**, enable **Internationalization → Locale → Include Text Server Data**, then export the project. Break iterator data is about 4 MB in size." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:323 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:324 msgid "Structured text BiDi override" msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:325 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:326 msgid "Unicode BiDi algorithm is designed to work with natural text and it's incapable of handling text with the higher level order, like file names, URIs, email addresses, regular expressions or source code." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:331 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:332 msgid "For example, the path for this shown directory structure will be displayed incorrectly (top \"LineEdit\" control). \"File\" type structured text override splits text into segments, then BiDi algorithm is applied to each of them individually to correctly display directory names in any language and preserve correct order of the folders (bottom \"LineEdit\" control)." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:336 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:337 msgid "Custom callbacks provide a way to override BiDi for the other types of structured text." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:339 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:340 msgid "Localizing numbers" msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:341 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:342 msgid "Controls specifically designed for number input or output (e.g. ProgressBar, SpinBox) will use localized numbering system automatically, for the other control :ref:`TextServer.format_number(string, language) ` can be used to convert Western Arabic numbers (0..9) to the localized numbering system and :ref:`TextServer.parse_number(string, language) ` to convert it back." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:349 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:350 msgid "Localizing icons and images" msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:351 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:352 msgid "Icons with left and right pointing arrows which may need to be reversed for Arabic and Hebrew locales, in case they indicate movement or direction (e.g. back/forward buttons). Otherwise, they can remain the same." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:356 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:357 msgid "Testing translations" msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:358 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:359 msgid "You may want to test a project's translation before releasing it. Godot provides three ways to do this." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:361 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:362 msgid "First, in the Project Settings, under :menu:`Internationalization > Locale` (with advanced settings enabled), there is a **Test** property. Set this property to the locale code of the language you want to test. Godot will run the project with that locale when the project is run (either from the editor or when exported)." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:368 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:369 msgid "Keep in mind that since this is a project setting, it will show up in version control when it is set to a non-empty value. Therefore, it should be set back to an empty value before committing changes to version control." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:372 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:373 msgid "Second, from within the editor go to the top bar and click on :button:`View` on the top bar, then go down to :ui:`Preview Translation` and select the language you want to preview." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:377 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:378 msgid "All text in scenes in the editor should now be displayed using the selected language." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:379 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:380 msgid "Translations can also be tested when :ref:`running Godot from the command line `. For example, to test a game in French, the following argument can be supplied:" msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:388 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:389 msgid "Translating the project name" msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:390 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:391 msgid "The project name becomes the app name when exporting to different operating systems and platforms. To specify the project name in more than one language go to **Project > Project Settings> Application > Config**. From here click on the button that says ``Localizable String (Size 0)``. Now there should be a button below that which says ``Add Translation``. Click on that and it will take you to a page where you can choose the language (and country if needed) for your project name translation. After doing that you can now type in the localized name." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:401 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:402 msgid "If you are unsure about the language code to use, refer to the :ref:`list of locale codes `." msgstr "" diff --git a/sphinx/templates/tutorials/migrating/upgrading_to_godot_4.4.pot b/sphinx/templates/tutorials/migrating/upgrading_to_godot_4.4.pot index 2a48269f08..5933a6a059 100644 --- a/sphinx/templates/tutorials/migrating/upgrading_to_godot_4.4.pot +++ b/sphinx/templates/tutorials/migrating/upgrading_to_godot_4.4.pot @@ -44,52 +44,52 @@ msgid "**Source compatible** - Source code will compile successfully without cha msgstr "" #: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:25 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:157 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:176 msgid "Core" msgstr "" #: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:28 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:64 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:78 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:88 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:124 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:136 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:83 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:97 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:107 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:143 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:155 msgid "Change" msgstr "" #: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:28 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:64 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:78 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:88 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:124 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:136 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:83 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:97 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:107 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:143 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:155 msgid "GDScript Compatible" msgstr "" #: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:28 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:64 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:78 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:88 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:124 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:136 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:83 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:97 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:107 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:143 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:155 msgid "C# Binary Compatible" msgstr "" #: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:28 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:64 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:78 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:88 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:124 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:136 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:83 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:97 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:107 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:143 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:155 msgid "C# Source Compatible" msgstr "" #: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:28 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:64 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:78 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:88 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:124 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:136 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:83 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:97 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:107 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:143 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:155 msgid "Introduced" msgstr "" @@ -121,28 +121,28 @@ msgstr "" #: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:51 #: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:53 #: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:55 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:67 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:68 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:70 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:81 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:91 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:93 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:95 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:97 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:99 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:101 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:102 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:103 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:105 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:107 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:108 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:86 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:87 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:89 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:100 #: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:110 #: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:112 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:114 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:116 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:118 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:120 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:121 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:122 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:124 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:126 #: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:127 #: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:129 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:139 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:140 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:141 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:131 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:146 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:148 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:158 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:159 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:160 msgid "|✔️|" msgstr "" @@ -153,25 +153,25 @@ msgstr "" #: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:51 #: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:53 #: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:55 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:67 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:68 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:70 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:81 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:91 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:93 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:95 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:97 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:99 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:86 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:87 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:89 #: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:100 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:101 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:102 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:103 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:105 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:127 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:129 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:139 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:140 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:141 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:110 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:112 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:114 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:116 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:118 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:119 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:120 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:121 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:122 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:124 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:146 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:148 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:158 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:159 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:160 msgid "|✔️ with compat|" msgstr "" @@ -198,14 +198,14 @@ msgstr "" #: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:44 #: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:45 #: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:48 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:71 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:100 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:107 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:108 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:110 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:112 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:143 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:145 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:90 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:119 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:126 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:127 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:129 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:131 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:162 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:164 msgid "|❌|" msgstr "" @@ -340,296 +340,312 @@ msgid "`GH-98972`_" msgstr "" #: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:58 +msgid "**Export annotations**" +msgstr "" + +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:62 +msgid "The behavior of ``@export_file`` changed in Godot 4.4. When assigning a new value from the Inspector, the path is now stored and returned as a ``uid://`` reference instead of the traditional ``res://`` path(`GH-97912`_). This is a **breaking change** and may cause issues if you're expecting ``res://``-based paths in scripts or serialized files." +msgstr "" + +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:68 +msgid "For example, exported arrays of files may now contain a mix of ``uid://`` and ``res://`` paths, especially if they were partially edited in the Inspector." +msgstr "" + +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:71 +msgid "In 4.4, the only way to retain the ``res://`` format is to **manually edit** the `.tscn` or `.tres` files in a text editor. Starting in Godot 4.5, a new annotation ``@export_file_path`` can be used to explicitly retain the old behavior and export raw ``res://`` paths." +msgstr "" + +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:76 msgid "Default buffer size in 4.3 is ``1024``." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:61 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:80 msgid "GUI nodes" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:66 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:85 msgid "**RichTextLabel**" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:67 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:86 msgid "Method ``push_meta`` adds a new ``tooltip`` optional parameter" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:67 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:86 msgid "`GH-99481`_" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:68 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:87 msgid "Method ``set_table_column_expand`` adds a new ``shrink`` optional parameter" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:68 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:87 msgid "`GH-101482`_" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:69 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:88 msgid "**GraphEdit**" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:70 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:89 msgid "Method ``connect_node`` adds a new ``keep_alive`` optional parameter" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:70 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:89 msgid "`GH-97449`_" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:71 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:90 msgid "Signal ``frame_rect_changed`` changes ``new_rect`` parameter type from ``Vector2`` to ``Rect2``" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:71 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:90 msgid "`GH-102796`_" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:75 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:94 msgid "Physics" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:80 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:99 msgid "**SoftBody3D**" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:81 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:100 msgid "Method ``set_point_pinned`` adds a new ``insert_at`` optional parameter" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:81 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:100 msgid "`GH-94684`_" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:85 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:165 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:104 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:184 msgid "Rendering" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:90 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:109 msgid "**CPUParticles2D**" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:91 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:93 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:95 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:97 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:110 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:112 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:114 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:116 msgid "Method ``restart`` adds a new ``keep_seed`` optional parameter" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:91 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:93 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:95 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:97 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:110 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:112 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:114 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:116 msgid "`GH-92089`_" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:92 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:111 msgid "**CPUParticles3D**" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:94 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:113 msgid "**GPUParticles2D**" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:96 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:115 msgid "**GPUParticles3D**" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:98 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:117 msgid "**RenderingDevice**" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:99 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:118 msgid "Method ``draw_list_begin`` adds a new ``breadcrumb`` optional parameter" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:99 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:118 msgid "`GH-90993`_" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:100 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:119 msgid "Method ``draw_list_begin`` removes many parameters" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:100 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:119 msgid "`GH-98670`_" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:101 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:120 msgid "Method ``index_buffer_create`` adds a new ``enable_device_address`` optional parameter" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:101 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:102 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:103 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:120 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:121 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:122 msgid "`GH-100062`_" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:102 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:121 msgid "Method ``uniform_buffer_create`` adds a new ``enable_device_address`` optional parameter" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:103 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:122 msgid "Method ``vertex_buffer_create`` adds a new ``enable_device_address`` optional parameter" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:104 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:123 msgid "**RenderingServer**" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:105 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:124 msgid "Method ``multimesh_allocate_data`` adds a new ``use_indirect`` optional parameter" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:105 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:124 msgid "`GH-99455`_" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:106 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:125 msgid "**Shader**" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:107 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:126 msgid "Method ``get_default_texture_parameter`` changes return type from ``Texture2D`` to ``Texture``" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:107 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:108 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:110 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:112 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:126 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:127 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:129 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:131 msgid "`GH-95126`_" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:108 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:127 msgid "Method ``set_default_texture_parameter`` changes ``texture`` parameter type from ``Texture2D`` to ``Texture``" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:109 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:128 msgid "**VisualShaderNodeCubemap**" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:110 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:129 msgid "Property ``cube_map`` changes type from ``Cubemap`` to ``TextureLayered``" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:111 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:130 msgid "**VisualShaderNodeTexture2DArray**" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:112 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:131 msgid "Property ``texture_array`` changes type from ``Texture2DArray`` to ``TextureLayered``" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:117 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:136 msgid "In C#, the enum ``RenderingDevice.StorageBufferUsage`` breaks compatibility because of the way the bindings generator detects the enum prefix. New members where added in `GH-100062`_ to the enum that caused the enum members to be renamed." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:121 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:140 msgid "Navigation" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:126 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:145 msgid "**NavigationServer2D**" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:127 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:129 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:146 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:148 msgid "Method ``query_path`` adds a new ``callback`` optional parameter" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:127 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:129 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:146 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:148 msgid "`GH-100129`_" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:128 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:147 msgid "**NavigationServer3D**" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:133 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:152 msgid "Editor plugins" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:138 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:157 msgid "**EditorInterface**" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:139 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:158 msgid "Method ``open_scene_from_path`` adds a new ``set_inherited`` optional parameter" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:139 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:158 msgid "`GH-90057`_" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:140 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:159 msgid "Method ``popup_node_selector`` adds a new ``current_value`` optional parameter" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:140 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:141 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:159 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:160 msgid "`GH-94323`_" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:141 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:160 msgid "Method ``popup_property_selector`` adds a new ``current_value`` optional parameter" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:142 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:161 msgid "**EditorSceneFormatImporter**" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:143 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:162 msgid "Method ``_get_import_flags`` removed" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:143 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:162 msgid "`GH-101531`_" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:144 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:163 msgid "**EditorTranslationParserPlugin**" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:145 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:164 msgid "Method ``_parse_file`` changes return type to ``Array`` and removes ``msgids`` and ``msgids_context_plural`` parameters" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:145 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:164 msgid "`GH-99297`_" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:150 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:169 msgid "The method ``_get_import_flags`` was never used by the engine. It was removed despite the compatibility breakage as there's no way for users to rely on this affecting engine behavior." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:154 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:173 msgid "Behavior changes" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:161 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:180 msgid "The ``Curve`` resource now enforces its value range, so ``min_value`` and ``max_value`` need to be changed if any of the points fall outside of the default ``[0, 1]`` range." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:169 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:188 msgid "The ``VisualShaderNodeVec4Constant`` shader node had its input type changed to ``Vector4``. Users need to recreate the values in their constants." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:173 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:192 msgid "CSG" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:177 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:196 msgid "The CSG implementation now uses Emmett Lalish's `Manifold `_ library (`GH-94321`_). The new implementation is more consistent with manifold definitions and fixes a number of bugs and stability issues. As a result, non-manifold meshes are no longer supported. You can use ``MeshInstance3D`` for rendering non-manifold geometry, such as quads or planes." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:183 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:202 msgid "Android" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:187 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:206 msgid "Android sensor events are no longer enabled by default (`GH-94799`_). Projects that use sensor events can enable them as needed in Project Settings under **Input Devices > Sensors**." msgstr "" diff --git a/sphinx/templates/tutorials/navigation/navigation_introduction_2d.pot b/sphinx/templates/tutorials/navigation/navigation_introduction_2d.pot index 124aac32d9..652ad6a99a 100644 --- a/sphinx/templates/tutorials/navigation/navigation_introduction_2d.pot +++ b/sphinx/templates/tutorials/navigation/navigation_introduction_2d.pot @@ -217,7 +217,7 @@ msgid "Click on the region node and add a new NavigationPolygon Resource to the msgstr "" #: ../../docs/tutorials/navigation/navigation_introduction_2d.rst:102 -msgid "Define the movable navigation area with the NavigationPolygon draw tool. Then click the `Bake NavigationPolygon`` button on the toolbar." +msgid "Define the movable navigation area with the NavigationPolygon draw tool. Then click the :button:`Bake NavigationPolygon` button on the toolbar." msgstr "" #: ../../docs/tutorials/navigation/navigation_introduction_2d.rst:109 diff --git a/sphinx/templates/tutorials/navigation/navigation_optimizing_performance.pot b/sphinx/templates/tutorials/navigation/navigation_optimizing_performance.pot index 30f925e10f..bc5796bab0 100644 --- a/sphinx/templates/tutorials/navigation/navigation_optimizing_performance.pot +++ b/sphinx/templates/tutorials/navigation/navigation_optimizing_performance.pot @@ -92,7 +92,7 @@ msgid "Baking navigation meshes at runtime should always be done in a background msgstr "" #: ../../docs/tutorials/navigation/navigation_optimizing_performance.rst:53 -msgid "Complexity of source geometry data parsed from scene tree nodes has big impact on baking performance as everything needs to be mapped to a grid / voxels. For runtime baking performance the NavigationMesh cell size and cell height should be set as high as possible without causing navigation mesh quality problems for a game. If cell size or cell height is set too low the baking is forced to create an excessive amount of voxels to process the source geometry. If the source geometry spans over a very large game world it is even possible that the baking process runs out off memory in the middle and crashes the game. The partition type can also be lowered depending on how complex the games source geometry is to gain some performance. E.g. games with mostly flat surfaces with blocky geometry can get away with the monotone or layers mode that are a lot faster to bake (e.g. because they require no distance field pass)." +msgid "Complexity of source geometry data parsed from scene tree nodes has big impact on baking performance as everything needs to be mapped to a grid / voxels. For runtime baking performance the NavigationMesh cell size and cell height should be set as high as possible without causing navigation mesh quality problems for a game. If cell size or cell height is set too low the baking is forced to create an excessive amount of voxels to process the source geometry. If the source geometry spans over a very large game world it is even possible that the baking process runs out of memory in the middle and crashes the game. The partition type can also be lowered depending on how complex the games source geometry is to gain some performance. E.g. games with mostly flat surfaces with blocky geometry can get away with the monotone or layers mode that are a lot faster to bake (e.g. because they require no distance field pass)." msgstr "" #: ../../docs/tutorials/navigation/navigation_optimizing_performance.rst:60 diff --git a/sphinx/templates/tutorials/performance/pipeline_compilations.pot b/sphinx/templates/tutorials/performance/pipeline_compilations.pot index 0c47fd2f91..f001b8261e 100644 --- a/sphinx/templates/tutorials/performance/pipeline_compilations.pot +++ b/sphinx/templates/tutorials/performance/pipeline_compilations.pot @@ -198,3 +198,59 @@ msgstr "" #: ../../docs/tutorials/performance/pipeline_compilations.rst:206 msgid "For example, if the player character is able to cause some sort of explosion, you can attach the effect as a child of the player as an invisible node. Make sure to disable the script attached to the hidden node or to hide any other nodes that could cause issues, which can be done by enabling **Editable Children** on the node." msgstr "" + +#: ../../docs/tutorials/performance/pipeline_compilations.rst:215 +msgid "Shader baker" +msgstr "" + +#: ../../docs/tutorials/performance/pipeline_compilations.rst:217 +msgid "Since Godot 4.5, you can choose to bake shaders on export to improve initial startup time. This will generally not resolve existing stutters, but it will reduce the time it takes to load the game for the first time. This is especially the case when using Direct3D 12 or Metal, which have significantly slower initial shader compilation times than Vulkan due to the conversion step required. Godot's own shaders use GLSL and SPIR-V, but Direct3D 12 and Metal use different formats." +msgstr "" + +#: ../../docs/tutorials/performance/pipeline_compilations.rst:227 +msgid "The shader baker can only bake the source into the intermediate format (SPIR-V for Vulkan, DXIL for Direct3D 12, MIL for Metal). It cannot bake the intermediate format into the final pipeline, as this is dependent on the GPU driver and the hardware." +msgstr "" + +#: ../../docs/tutorials/performance/pipeline_compilations.rst:232 +msgid "The shader baker is not a replacement for pipeline precompilation, but it aims to complement it." +msgstr "" + +#: ../../docs/tutorials/performance/pipeline_compilations.rst:235 +msgid "When enabled, the shader baker will bundle compiled shader code into the PCK, which results in the shader compilation step being skipped entirely. The downside is that exporting will take slightly longer. The PCK file will be larger by a few megabytes." +msgstr "" + +#: ../../docs/tutorials/performance/pipeline_compilations.rst:240 +msgid "The shader baker is disabled by default, but you can enable it in each export preset in the Export dialog by ticking the :ui:`Shader Baker > Enabled` export option." +msgstr "" + +#: ../../docs/tutorials/performance/pipeline_compilations.rst:244 +msgid "Note that shader baking will only be able to export shaders for drivers supported by the platform the editor is currently running on:" +msgstr "" + +#: ../../docs/tutorials/performance/pipeline_compilations.rst:247 +msgid "The editor running on Windows can export shaders for Vulkan and Direct3D 12." +msgstr "" + +#: ../../docs/tutorials/performance/pipeline_compilations.rst:248 +msgid "The editor running on macOS can export shaders for Vulkan and Metal." +msgstr "" + +#: ../../docs/tutorials/performance/pipeline_compilations.rst:249 +msgid "The editor running on Linux can export shaders for Vulkan only." +msgstr "" + +#: ../../docs/tutorials/performance/pipeline_compilations.rst:250 +msgid "The editor running on Android can export shaders for Vulkan only." +msgstr "" + +#: ../../docs/tutorials/performance/pipeline_compilations.rst:252 +msgid "The shader baker will only export shaders that match the ``rendering/rendering_device/driver`` project setting for the target platform." +msgstr "" + +#: ../../docs/tutorials/performance/pipeline_compilations.rst:257 +msgid "The shader baker is only supported for the Forward+ and Mobile renderers. It will have no effect if the project uses the Compatibility renderer, or for users who make use of the Compatibility fallback due to their hardware not supporting the Forward+ or Mobile renderer." +msgstr "" + +#: ../../docs/tutorials/performance/pipeline_compilations.rst:262 +msgid "This also means the shader baker is not supported on the web platform, as the web platform only supports the Compatibility renderer." +msgstr "" diff --git a/sphinx/templates/tutorials/physics/using_jolt_physics.pot b/sphinx/templates/tutorials/physics/using_jolt_physics.pot index 8a47583ef6..3b756f147c 100644 --- a/sphinx/templates/tutorials/physics/using_jolt_physics.pot +++ b/sphinx/templates/tutorials/physics/using_jolt_physics.pot @@ -48,317 +48,309 @@ msgid "There are many differences between the existing Godot Physics engine and msgstr "" #: ../../docs/tutorials/physics/using_jolt_physics.rst:36 -msgid "Area3D and static bodies" -msgstr "" - -#: ../../docs/tutorials/physics/using_jolt_physics.rst:37 -msgid "When using Jolt, :ref:`class_Area3D` will not detect overlaps with :ref:`class_StaticBody3D` (nor a :ref:`class_RigidBody3D` frozen with ``FREEZE_MODE_STATIC``) by default, for performance reasons. If you have many/large :ref:`class_Area3D` overlapping with complex static geometry, such as :ref:`class_ConcavePolygonShape3D` or :ref:`class_HeightMapShape3D`, you can end up wasting a significant amount of CPU performance and memory without realizing it." -msgstr "" - -#: ../../docs/tutorials/physics/using_jolt_physics.rst:45 msgid "Joint properties" msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:47 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:38 msgid "The current interfaces for the 3D joint nodes don't quite line up with the interface of Jolt's own joints. As such, there are a number of joint properties that are not supported, mainly ones related to configuring the joint's soft limits." msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:51 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:42 msgid "The unsupported properties are:" msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:53 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:44 msgid "PinJoint3D: ``bias``, ``damping``, ``impulse_clamp``" msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:54 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:45 msgid "HingeJoint3D: ``bias``, ``softness``, ``relaxation``" msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:55 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:46 msgid "SliderJoint3D: ``angular_\\*``, ``\\*_limit/softness``, ``\\*_limit/restitution``, ``\\*_limit/damping``" msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:56 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:47 msgid "ConeTwistJoint3D: ``bias``, ``relaxation``, ``softness``" msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:57 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:48 msgid "Generic6DOFJoint3D: ``*_limit_*/softness``, ``*_limit_*/restitution``, ``*_limit_*/damping``, ``*_limit_*/erp``" msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:59 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:50 msgid "Currently a warning is emitted if you set these properties to anything but their default values." msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:63 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:54 msgid "Single-body joints" msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:65 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:56 msgid "You can, in Godot, omit one of the joint bodies for a two-body joint and effectively have \"the world\" be the other body. However, the node path that you assign your body to (:ref:`node_a` vs :ref:`node_b`) is ignored. Godot Physics will always behave as if you assigned it to ``node_a``, and since ``node_a`` is also what defines the frame of reference for the joint limits, you end up with inverted limits and a potentially strange limit shape, especially if your limits allow both linear and angular degrees of freedom." msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:74 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:65 msgid "Jolt will behave as if you assigned the body to ``node_b`` instead, with ``node_a`` representing \"the world\". There is a project setting called :ref:`Physics > Jolt Physics 3D > Joints > World Node` that lets you toggle this behavior, if you need compatibility for an existing project." msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:79 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:70 msgid "Collision margins" msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:81 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:72 msgid "Jolt (and other similar physics engines) uses something that Jolt refers to as \"convex radius\" to help improve the performance and behavior of the types of collision detection that Jolt relies on for convex shapes. Other physics engines (Godot included) might refer to these as \"collision margins\" instead. Godot exposes these as the ``margin`` property on every Shape3D-derived class, but Godot Physics itself does not use them for anything." msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:88 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:79 msgid "What these collision margins sometimes do in other engines (as described in Godot's documentation) is effectively add a \"shell\" around the shape, slightly increasing its size while also rounding off any edges/corners. In Jolt however, these margins are first used to shrink the shape, and then the \"shell\" is applied, resulting in edges/corners being similarly rounded off, but without increasing the size of the shape." msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:95 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:86 msgid "To prevent having to tweak this margin property manually, since its default value can be problematic for smaller shapes, the Jolt module exposes a project setting called :ref:`Physics > Jolt Physics 3D > Collisions > Collision Margin Fraction` which is multiplied with the smallest axis of the shape's AABB to calculate the actual margin. The margin property of the shape is then instead used as an upper bound." msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:102 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:93 msgid "These margins should, for most use-cases, be more or less transparent, but can sometimes result in odd collision normals when performing shape queries. You can lower the above mentioned project setting to mitigate some of this, including setting it to ``0.0``, but too small of a margin can also cause odd collision results, so is generally not recommended." msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:109 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:100 msgid "Baumgarte stabilization" msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:111 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:102 msgid "Baumgarte stabilization is a method to resolve penetrating bodies and push them to a state where they are just touching. In Godot Physics this works like a spring. This means that bodies can accelerate and may cause the bodies to overshoot and separate completely. With Jolt, the stabilization is only applied to the position and not to the velocity of the body. This means it cannot overshoot but it may take longer to resolve the penetration." msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:118 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:109 msgid "The strength of this stabilization can be tweaked using the project setting :ref:`Physics > Jolt Physics 3D > Simulation > Baumgarte Stabilization Factor`. Setting this project setting to ``0.0`` will turn Baumgarte stabilization off. Setting it to ``1.0`` will resolve penetration in 1 simulation step. This is fast but often also unstable." msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:125 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:116 msgid "Ghost collisions" msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:127 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:118 msgid "Jolt employs two techniques to mitigate ghost collisions, meaning collisions with internal edges of shapes/bodies that result in collision normals that oppose the direction of movement." msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:131 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:122 msgid "The first technique, called \"active edge detection\", marks edges of triangles in :ref:`class_ConcavePolygonShape3D` or :ref:`class_HeightMapShape3D` as either \"active\" or \"inactive\", based on the angle to the neighboring triangle. When a collision happens with an inactive edge the collision normal will be replaced with the triangle's normal instead, to lessen the effect of ghost collisions." msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:137 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:128 msgid "The angle threshold for this active edge detection is configurable through the project setting :ref:`Physics >Jolt Physics 3D > Collisions > Active Edge Threshold`." msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:140 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:131 msgid "The second technique, called \"enhanced internal edge removal\", instead adds runtime checks to detect whether an edge is active or inactive, based on the contact points of the two bodies. This has the benefit of applying not only to collisions with :ref:`class_ConcavePolygonShape3D` and :ref:`class_HeightMapShape3D`, but also edges between any shapes within the same body." msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:146 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:137 msgid "Enhanced internal edge removal can be toggled on and off for the various contexts to which it's applied, using the :ref:`Physics >Jolt Physics 3D > Simulation > Use Enhanced Internal Edge Removal`, project setting, and the similar settings for :ref:`queries` and :ref:`motion queries`." msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:151 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:142 msgid "Note that neither the active edge detection nor enhanced internal edge removal apply when dealing with ghost collisions between two different bodies." msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:155 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:146 msgid "Memory usage" msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:157 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:148 msgid "Jolt uses a stack allocator for temporary allocations within its simulation step. This stack allocator requires allocating a set amount of memory up front, which can be configured using the :ref:`Physics > Jolt Physics 3D > Limits > Temporary Memory Buffer Size` project setting." msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:163 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:154 msgid "Ray-cast face index" msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:165 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:156 msgid "The ``face_index`` property returned in the results of :ref:`intersect_ray()` and RayCast3D will by default always be ``-1`` with Jolt. The project setting :ref:`Physics > Jolt Physics 3D > Queries > Enable Ray Cast Face Index` will enable them." msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:169 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:160 msgid "Note that enabling this setting will increase the memory requirement of :ref:`class_ConcavePolygonShape3D` with about 25%." msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:173 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:164 msgid "Kinematic RigidBody3D contacts" msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:175 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:166 msgid "When using Jolt, a :ref:`class_RigidBody3D` frozen with :ref:`FREEZE_MODE_KINEMATIC` will by default not report contacts from collisions with other static/kinematic bodies, for performance reasons, even when setting a non-zero :ref:`max_contacts_reported`. If you have many/large kinematic bodies overlapping with complex static geometry, such as :ref:`class_ConcavePolygonShape3D` or :ref:`class_HeightMapShape3D`, you can end up wasting a significant amount of CPU performance and memory without realizing it." msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:183 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:174 msgid "For this reason this behavior is opt-in through the project setting :ref:`Physics > Jolt Physics 3D > Simulation > Generate All Kinematic Contacts`." msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:187 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:178 msgid "Contact impulses" msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:189 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:180 msgid "Due to limitations internal to Jolt, the contact impulses provided by :ref:`PhysicsDirectBodyState3D.get_contact_impulse()` are estimated ahead of time based on things like the contact manifold and velocities of the colliding bodies. This means that the reported impulses will only be accurate in cases where the two bodies in question are not colliding with any other bodies." msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:195 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:186 msgid "Area3D and SoftBody3D" msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:197 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:188 msgid "Jolt does not currently support any interactions between :ref:`class_SoftBody3D` and :ref:`class_Area3D`, such as overlap events, or the wind properties found on :ref:`class_Area3D`." msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:202 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:193 msgid "WorldBoundaryShape3D" msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:204 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:195 msgid ":ref:`class_WorldBoundaryShape3D`, which is meant to represent an infinite plane, is implemented a bit differently in Jolt compared to Godot Physics. Both engines have an upper limit for how big the effective size of this plane can be, but this size is much smaller when using Jolt, in order to avoid precision issues." msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:209 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:200 msgid "You can configure this size using the :ref:`Physics > Jolt Physics 3D > Limits > World Boundary Shape Size` project setting." msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:213 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:204 msgid "Notable differences to the Godot Jolt extension" msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:215 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:206 msgid "While the built-in Jolt module is largely a straight port of the Godot Jolt extension, there are a few things that are different." msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:219 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:210 msgid "Project settings" msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:221 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:212 msgid "All project settings have been moved from the ``physics/jolt_3d`` category to ``physics/jolt_physics_3d``." msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:224 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:215 msgid "On top of that, there's been some renaming and refactoring of the individual project settings as well. These include:" msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:227 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:218 msgid "``sleep/enabled`` is now ``simulation/allow_sleep.``" msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:228 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:219 msgid "``sleep/velocity_threshold`` is now ``simulation/sleep_velocity_threshold.``" msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:229 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:220 msgid "``sleep/time_threshold`` is now ``simulation/sleep_time_threshold.``" msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:230 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:221 msgid "``collisions/use_shape_margins`` is now ``collisions/collision_margin_fraction``, where a value of 0 is equivalent to disabling it." msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:232 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:223 msgid "``collisions/use_enhanced_internal_edge_removal`` is now ``simulation/use_enhanced_internal_edge_removal.``" msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:233 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:224 msgid "``collisions/areas_detect_static_bodies`` is now ``simulation/areas_detect_static_bodies.``" msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:234 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:225 msgid "``collisions/report_all_kinematic_contacts`` is now ``simulation/generate_all_kinematic_contacts.``" msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:235 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:226 msgid "``collisions/soft_body_point_margin`` is now ``simulation/soft_body_point_radius.``" msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:236 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:227 msgid "``collisions/body_pair_cache_enabled is now simulation/body_pair_contact_cache_enabled.``" msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:237 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:228 msgid "``collisions/body_pair_cache_distance_threshold`` is ``now simulation/body_pair_contact_cache_distance_threshold.``" msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:238 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:229 msgid "``collisions/body_pair_cache_angle_threshold is now simulation/body_pair_contact_cache_angle_threshold.``" msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:239 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:230 msgid "``continuous_cd/movement_threshold`` is now ``simulation/continuous_cd_movement_threshold``, but expressed as a fraction instead of a percentage." msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:241 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:232 msgid "``continuous_cd/max_penetration`` is now ``simulation/continuous_cd_max_penetration``, but expressed as a fraction instead of a percentage." msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:243 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:234 msgid "``kinematics/use_enhanced_internal_edge_removal`` is now ``motion_queries/use_enhanced_internal_edge_removal.``" msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:244 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:235 msgid "``kinematics/recovery_iterations`` is now ``motion_queries/recovery_iterations``, but expressed as a fraction instead of a percentage." msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:246 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:237 msgid "``kinematics/recovery_amount`` is now ``motion_queries/recovery_amount.``" msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:247 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:238 msgid "``queries/use_legacy_ray_casting`` has been removed." msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:248 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:239 msgid "``solver/position_iterations`` is now ``simulation/position_steps.``" msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:249 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:240 msgid "``solver/velocity_iterations`` is now ``simulation/velocity_steps.``" msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:250 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:241 msgid "``solver/position_correction`` is now ``simulation/baumgarte_stabilization_factor``, but expressed as a fraction instead of a percentage." msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:252 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:243 msgid "``solver/active_edge_threshold`` is now ``collisions/active_edge_threshold.``" msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:253 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:244 msgid "``solver/bounce_velocity_threshold`` is now ``simulation/bounce_velocity_threshold.``" msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:254 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:245 msgid "``solver/contact_speculative_distance`` is now ``simulation/speculative_contact_distance.``" msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:255 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:246 msgid "``solver/contact_allowed_penetration`` is now ``simulation/penetration_slop.``" msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:256 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:247 msgid "``limits/max_angular_velocity`` is now stored as radians instead." msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:257 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:248 msgid "``limits/max_temporary_memory`` is now ``limits/temporary_memory_buffer_size.``" msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:260 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:251 msgid "Joint nodes" msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:262 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:253 msgid "The joint nodes that are exposed in the Godot Jolt extension (JoltPinJoint3D, JoltHingeJoint3D, JoltSliderJoint3D, JoltConeTwistJoint3D, and JoltGeneric6DOFJoint) have not been included in the Jolt module." msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:267 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:258 msgid "Thread safety" msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:269 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:260 msgid "Unlike the Godot Jolt extension, the Jolt module does have thread-safety, including support for the :ref:`Physics > 3D > Run On Separate Thread` project setting. However this has not been tested very thoroughly, so it should be considered experimental." msgstr "" diff --git a/sphinx/templates/tutorials/platform/android/android_in_app_purchases.pot b/sphinx/templates/tutorials/platform/android/android_in_app_purchases.pot index dd9dd8d412..073c0d6662 100644 --- a/sphinx/templates/tutorials/platform/android/android_in_app_purchases.pot +++ b/sphinx/templates/tutorials/platform/android/android_in_app_purchases.pot @@ -20,7 +20,7 @@ msgid "Android in-app purchases" msgstr "" #: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:6 -msgid "Godot offers a first-party ``GodotGooglePlayBilling`` Android plugin compatible with Godot 4 which uses the `Google Play Billing library `_." +msgid "Godot offers a first-party ``GodotGooglePlayBilling`` Android plugin compatible with Godot 4.2+ which uses the `Google Play Billing library `_." msgstr "" #: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:10 @@ -59,166 +59,166 @@ msgstr "" msgid "Initialization example:" msgstr "" -#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:46 -msgid "The API must be in a connected state prior to use. The ``connected`` signal is sent when the connection process succeeds. You can also use ``isReady()`` to determine if the plugin is ready for use. The ``get_connection_state()`` function returns the current connection state of the plugin." +#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:44 +msgid "The API must be in a connected state prior to use. The ``connected`` signal is sent when the connection process succeeds. You can also use ``is_ready()`` to determine if the plugin is ready for use. The ``get_connection_state()`` function returns the current connection state of the plugin." msgstr "" -#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:51 +#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:49 msgid "Return values for ``get_connection_state()``:" msgstr "" -#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:66 +#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:64 msgid "Query available items" msgstr "" -#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:68 +#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:66 msgid "Once the API has connected, query product IDs using `query_product_details()`. You must successfully complete a product details query before calling the ``purchase()``, ``purchase_subscription()``, or ``update_subscription()`` functions, or they will return an error. ``query_product_details()`` takes two parameters: an array of product ID strings and the type of product being queried. The product type should be ``BillingClient.ProductType.INAPP`` for normal in-app purchases or ``BillingClient.ProductType.SUBS`` for subscriptions. The ID strings in the array should match the product IDs defined in the Google Play Console entry for your app." msgstr "" -#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:76 +#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:74 msgid "Example use of ``query_product_details()``:" msgstr "" -#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:94 +#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:92 msgid "Query user purchases" msgstr "" -#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:96 +#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:94 msgid "To retrieve a user's purchases, call the ``query_purchases()`` function passing a product type to query. The product type should be ``BillingClient.ProductType.INAPP`` for normal in-app purchases or ``BillingClient.ProductType.SUBS`` for subscriptions. The ``query_purchases_response`` signal is sent with the result. The signal has a single parameter: a :ref:`Dictionary ` with a response code and either an array of purchases or a debug message. Only active subscriptions and non-consumed one-time purchases are included in the purchase array." msgstr "" -#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:105 +#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:103 msgid "Example use of ``query_purchases()``:" msgstr "" -#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:123 +#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:121 msgid "Purchase an item" msgstr "" -#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:125 +#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:123 msgid "To launch the billing flow for an item: - Use ``purchase()`` for in-app products, passing the product ID string. - Use ``purchase_subscription()`` for subscriptions, passing the product ID and base plan ID. You may also optionally provide an offer ID." msgstr "" -#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:129 +#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:127 msgid "For both ``purchase()`` and ``purchase_subscription()``, you can optionally pass a boolean to indicate whether offers are `personallised `_" msgstr "" -#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:132 +#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:130 msgid "Reminder: you **must** query the product details for an item before you can pass it to ``purchase()``. This method returns a dictionary indicating whether the billing flow was successfully launched. It includes a response code and either an array of purchases or a debug message." msgstr "" -#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:137 +#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:135 msgid "Example use of ``purchase()``:" msgstr "" -#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:149 +#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:147 msgid "The result of the purchase will be sent through the ``on_purchases_updated`` signal." msgstr "" -#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:164 +#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:162 msgid "Processing a purchase item" msgstr "" -#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:166 +#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:164 msgid "The ``query_purchases_response`` and ``on_purchases_updated`` signals provide an array of purchases in :ref:`Dictionary ` format. The purchase Dictionary includes keys that map to values of the Google Play Billing `Purchase `_ class." msgstr "" -#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:171 +#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:169 msgid "Purchase fields:" msgstr "" -#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:189 +#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:187 msgid "Check purchase state" msgstr "" -#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:191 +#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:189 msgid "Check the ``purchase_state`` value of a purchase to determine if a purchase was completed or is still pending." msgstr "" -#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:194 +#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:192 msgid "PurchaseState values:" msgstr "" -#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:207 +#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:205 msgid "If a purchase is in a ``PENDING`` state, you should not award the contents of the purchase or do any further processing of the purchase until it reaches the ``PURCHASED`` state. If you have a store interface, you may wish to display information about pending purchases needing to be completed in the Google Play Store. For more details on pending purchases, see `Handling pending transactions `_ in the Google Play Billing Library documentation." msgstr "" -#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:217 +#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:215 msgid "Consumables" msgstr "" -#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:219 +#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:217 msgid "If your in-app item is not a one-time purchase but a consumable item (e.g. coins) which can be purchased multiple times, you can consume an item by calling ``consume_purchase()`` passing the ``purchase_token`` value from the purchase dictionary. Calling ``consume_purchase()`` automatically acknowledges a purchase. Consuming a product allows the user to purchase it again, it will no longer appear in subsequent ``query_purchases()`` calls unless it is repurchased." msgstr "" -#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:226 +#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:224 msgid "Example use of ``consume_purchase()``:" msgstr "" -#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:251 +#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:249 msgid "Acknowledging purchases" msgstr "" -#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:253 +#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:251 msgid "If your in-app item is a one-time purchase, you must acknowledge the purchase by calling the ``acknowledge_purchase()`` function, passing the ``purchase_token`` value from the purchase dictionary. If you do not acknowledge a purchase within three days, the user automatically receives a refund, and Google Play revokes the purchase. If you are calling ``comsume_purchase()`` it automatically acknowledges the purchase and you do not need to call ``acknowledge_purchase()``." msgstr "" -#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:260 +#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:258 msgid "Example use of ``acknowledge_purchase()``:" msgstr "" -#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:287 +#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:285 msgid "Subscriptions" msgstr "" -#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:289 +#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:287 msgid "Subscriptions work mostly like regular in-app items. Use ``BillingClient.ProductType.SUBS`` as the second argument to ``query_product_details()`` to get subscription details. Pass ``BillingClient.ProductType.SUBS`` to ``query_purchases()`` to get subscription purchase details." msgstr "" -#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:293 +#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:291 msgid "You can check ``is_auto_renewing`` in the a subscription purchase returned from ``query_purchases()`` to see if a user has cancelled an auto-renewing subscription." msgstr "" -#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:297 +#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:295 msgid "You need to acknowledge new subscription purchases, but not automatic subscription renewals." msgstr "" -#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:300 +#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:298 msgid "If you support upgrading or downgrading between different subscription levels, you should use ``update_subscription()`` to use the subscription update flow to change an active subscription. Like ``purchase()``, results are returned by the ``on_purchases_updated`` signal. These are the parameters of ``update_subscription()``:" msgstr "" -#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:306 +#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:304 msgid "old_purchase_token: The purchase token of the currently active subscription" msgstr "" -#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:307 +#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:305 msgid "replacement_mode: The replacement mode to apply to the subscription" msgstr "" -#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:308 +#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:306 msgid "product_id: The product ID of the new subscription to switch to" msgstr "" -#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:309 +#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:307 msgid "base_plan_id: The base plan ID of the target subscription" msgstr "" -#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:310 +#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:308 msgid "offer_id: The offer ID under the base plan (optional)" msgstr "" -#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:311 +#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:309 msgid "is_offer_personalized: Whether to enable personalized pricing (optional)" msgstr "" -#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:313 +#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:311 msgid "The replacement modes values are defined as:" msgstr "" -#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:341 +#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:339 msgid "Default behavior is ``WITH_TIME_PRORATION``." msgstr "" -#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:343 +#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:341 msgid "Example use of ``update_subscription``:" msgstr "" diff --git a/sphinx/templates/tutorials/platform/android/javaclasswrapper_and_androidruntimeplugin.pot b/sphinx/templates/tutorials/platform/android/javaclasswrapper_and_androidruntimeplugin.pot index cf5801f443..982a6e2604 100644 --- a/sphinx/templates/tutorials/platform/android/javaclasswrapper_and_androidruntimeplugin.pot +++ b/sphinx/templates/tutorials/platform/android/javaclasswrapper_and_androidruntimeplugin.pot @@ -90,3 +90,15 @@ msgstr "" #: ../../docs/tutorials/platform/android/javaclasswrapper_and_androidruntimeplugin.rst:105 msgid "Java inner classes can be accessed using the ``$`` sign:" msgstr "" + +#: ../../docs/tutorials/platform/android/javaclasswrapper_and_androidruntimeplugin.rst:118 +msgid "Example: Calling a constructor" +msgstr "" + +#: ../../docs/tutorials/platform/android/javaclasswrapper_and_androidruntimeplugin.rst:120 +msgid "A constructor is invoked by calling a method with the same name as the class." +msgstr "" + +#: ../../docs/tutorials/platform/android/javaclasswrapper_and_androidruntimeplugin.rst:122 +msgid "This example creates an intent to send a text:" +msgstr "" diff --git a/sphinx/templates/tutorials/plugins/editor/making_plugins.pot b/sphinx/templates/tutorials/plugins/editor/making_plugins.pot index f2154dd65a..90f8d814cf 100644 --- a/sphinx/templates/tutorials/plugins/editor/making_plugins.pot +++ b/sphinx/templates/tutorials/plugins/editor/making_plugins.pot @@ -44,7 +44,7 @@ msgid "The first thing you need for the editor to identify a new plugin is to cr msgstr "" #: ../../docs/tutorials/plugins/editor/making_plugins.rst:33 -msgid "In the main toolbar, click the ``Project`` dropdown. Then click ``Project Settings...``. Go to the ``Plugins`` tab and then click on the ``Create New Plugin`` button in the top-right." +msgid "In the main toolbar, click the ``Project`` dropdown. Then click ``Project Settings...``. Go to the ``Plugins`` tab and then click on the :button:`Create New Plugin` button in the top-right." msgstr "" #: ../../docs/tutorials/plugins/editor/making_plugins.rst:37 diff --git a/sphinx/templates/tutorials/plugins/running_code_in_the_editor.pot b/sphinx/templates/tutorials/plugins/running_code_in_the_editor.pot index 1fc8d2835e..b4816c53f0 100644 --- a/sphinx/templates/tutorials/plugins/running_code_in_the_editor.pot +++ b/sphinx/templates/tutorials/plugins/running_code_in_the_editor.pot @@ -151,99 +151,99 @@ msgstr "" msgid "You then want to connect the signal when a new resource is set:" msgstr "" -#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:405 +#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:409 msgid "Lastly, remember to disconnect the signal as the old resource being used and changed somewhere else would cause unneeded updates." msgstr "" -#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:438 +#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:446 msgid "Reporting node configuration warnings" msgstr "" -#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:440 +#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:448 msgid "Godot uses a *node configuration warning* system to warn users about incorrectly configured nodes. When a node isn't configured correctly, a yellow warning sign appears next to the node's name in the Scene dock. When you hover or click on the icon, a warning message pops up. You can use this feature in your scripts to help you and your team avoid mistakes when setting up scenes." msgstr "" -#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:446 +#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:454 msgid "When using node configuration warnings, when any value that should affect or remove the warning changes, you need to call :ref:`update_configuration_warnings` . By default, the warning only updates when closing and reopening the scene." msgstr "" -#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:483 +#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:491 msgid "Running one-off scripts using EditorScript" msgstr "" -#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:485 +#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:493 msgid "Sometimes, you need to run code just one time to automate a certain task that is not available in the editor out of the box. Some examples might be:" msgstr "" -#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:488 +#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:496 msgid "Use as a playground for GDScript or C# scripting without having to run a project. ``print()`` output is displayed in the editor Output panel." msgstr "" -#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:490 +#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:498 msgid "Scale all light nodes in the currently edited scene, as you noticed your level ends up looking too dark or too bright after placing lights where desired." msgstr "" -#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:492 +#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:500 msgid "Replace nodes that were copy-pasted with scene instances to make them easier to modify later." msgstr "" -#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:495 +#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:503 msgid "This is available in Godot by extending :ref:`class_EditorScript` in a script. This provides a way to run individual scripts in the editor without having to create an editor plugin." msgstr "" -#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:499 +#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:507 msgid "To create an EditorScript, right-click a folder or empty space in the FileSystem dock then choose **New > Script...**. In the script creation dialog, click the tree icon to choose an object to extend from (or enter ``EditorScript`` directly in the field on the left, though note this is case-sensitive):" msgstr "" -#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:504 -#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:508 +#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:512 +#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:516 msgid "Creating an editor script in the script editor creation dialog" msgstr "" -#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:510 +#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:518 msgid "This will automatically select a script template that is suited for EditorScripts, with a ``_run()`` method already inserted:" msgstr "" -#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:522 +#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:530 msgid "This ``_run()`` method is executed when you use **File > Run** or the keyboard shortcut :kbd:`Ctrl + Shift + X` while the EditorScript is the currently open script in the script editor. This keyboard shortcut is only effective when currently focused on the script editor." msgstr "" -#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:527 +#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:535 msgid "Scripts that extend EditorScript must be ``@tool`` scripts to function." msgstr "" -#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:531 +#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:539 msgid "EditorScripts can only be run from the Godot script editor. If you are using an external editor, open the script inside the Godot script editor to run it." msgstr "" -#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:536 +#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:544 msgid "EditorScripts have no undo/redo functionality, so **make sure to save your scene before running one** if the script is designed to modify any data." msgstr "" -#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:539 +#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:547 msgid "To access nodes in the currently edited scene, use the :ref:`EditorScript.get_scene ` method which returns the root Node of the currently edited scene. Here's an example that recursively gets all nodes in the currently edited scene and doubles the range of all OmniLight3D nodes:" msgstr "" -#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:572 +#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:580 msgid "You can change the currently edited scene at the top of the editor even while the Script view is open. This will affect the return value of :ref:`EditorScript.get_scene `, so make sure you've selected the scene you intend to iterate upon before running the script." msgstr "" -#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:579 +#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:587 msgid "Instancing scenes" msgstr "" -#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:581 +#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:589 msgid "You can instantiate packed scenes normally and add them to the scene currently opened in the editor. By default, nodes or scenes added with :ref:`Node.add_child(node) ` are **not** visible in the Scene tree dock and are **not** persisted to disk. If you wish the node or scene to be visible in the scene tree dock and persisted to disk when saving the scene, you need to set the child node's :ref:`owner ` property to the currently edited scene root." msgstr "" -#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:589 +#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:597 msgid "If you are using ``@tool``:" msgstr "" -#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:614 +#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:622 msgid "If you are using :ref:`EditorScript`:" msgstr "" -#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:645 +#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:653 msgid "Using ``@tool`` improperly can yield many errors. It is advised to first write the code how you want it, and only then add the ``@tool`` annotation to the top. Also, make sure to separate code that runs in-editor from code that runs in-game. This way, you can find bugs more easily." msgstr "" diff --git a/sphinx/templates/tutorials/rendering/multiple_resolutions.pot b/sphinx/templates/tutorials/rendering/multiple_resolutions.pot index be0e7dbd5f..596fa92a85 100644 --- a/sphinx/templates/tutorials/rendering/multiple_resolutions.pot +++ b/sphinx/templates/tutorials/rendering/multiple_resolutions.pot @@ -490,17 +490,9 @@ msgid "However, if your 3D game is intended to be played in portrait mode, it ma msgstr "" #: ../../docs/tutorials/rendering/multiple_resolutions.rst:560 -msgid "Scaling 2D and 3D elements differently using Viewports" +msgid "Scaling 2D and 3D elements differently" msgstr "" #: ../../docs/tutorials/rendering/multiple_resolutions.rst:562 -msgid "Using multiple Viewport nodes, you can have different scales for various elements. For instance, you can use this to render the 3D world at a low resolution while keeping 2D elements at the native resolution. This can improve performance significantly while keeping the HUD and other 2D elements crisp." -msgstr "" - -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:567 -msgid "This is done by using the root Viewport node only for 2D elements, then creating a Viewport node to display the 3D world and displaying it using a SubViewportContainer or TextureRect node. There will effectively be two viewports in the final project. One upside of using TextureRect over SubViewportContainer is that it allows enable linear filtering. This makes scaled 3D viewports look better in many cases." -msgstr "" - -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:574 -msgid "See the `3D viewport scaling demo `__ for examples." +msgid "To render 3D at a different resolution from 2D elements (such as the UI), use Godot's :ref:`resolution scaling ` functionality. This allows you to control the resolution scale factor used for 3D without needing to use a separate Viewport node. This can either be used to improve performance by rendering 3D at a lower resolution, or improve quality via supersampling." msgstr "" diff --git a/sphinx/templates/tutorials/rendering/renderers.pot b/sphinx/templates/tutorials/rendering/renderers.pot index 1d5c74a22e..0c5ccb89f0 100644 --- a/sphinx/templates/tutorials/rendering/renderers.pot +++ b/sphinx/templates/tutorials/rendering/renderers.pot @@ -16,7 +16,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" #: ../../docs/tutorials/rendering/renderers.rst:4 -msgid "Renderers" +msgid "Overview of renderers" msgstr "" #: ../../docs/tutorials/rendering/renderers.rst:8 @@ -308,11 +308,7 @@ msgid "✔️ Yes. Recommended for standalone headsets." msgstr "" #: ../../docs/tutorials/rendering/renderers.rst:154 -msgid "✔️ Yes. Recommended for" -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:155 -msgid "desktop headsets." +msgid "✔️ Yes. Recommended for desktop headsets." msgstr "" #: ../../docs/tutorials/rendering/renderers.rst:158 diff --git a/sphinx/templates/tutorials/scripting/c_sharp/c_sharp_exports.pot b/sphinx/templates/tutorials/scripting/c_sharp/c_sharp_exports.pot index f16c735b2c..d930352c1b 100644 --- a/sphinx/templates/tutorials/scripting/c_sharp/c_sharp_exports.pot +++ b/sphinx/templates/tutorials/scripting/c_sharp/c_sharp_exports.pot @@ -336,50 +336,46 @@ msgstr "" msgid "Using the generic ``Godot.Collections.Dictionary`` allows specifying the types of the key and value elements of the dictionary." msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_exports.rst:585 -msgid "Typed dictionaries are currently unsupported in the Godot editor, so the Inspector will not restrict the types that can be assigned, potentially resulting in runtime exceptions." -msgstr "" - -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_exports.rst:594 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_exports.rst:588 msgid "The default value of Godot dictionaries is null. A different default can be specified:" msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_exports.rst:607 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_exports.rst:601 msgid "Exporting C# arrays" msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_exports.rst:609 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_exports.rst:603 msgid "C# arrays can exported as long as the element type is a :ref:`Variant-compatible type `." msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_exports.rst:619 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_exports.rst:613 msgid "The default value of C# arrays is null. A different default can be specified:" msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_exports.rst:631 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_exports.rst:625 msgid "Setting exported variables from a tool script" msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_exports.rst:633 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_exports.rst:627 msgid "When changing an exported variable's value from a script in :ref:`doc_gdscript_tool_mode`, the value in the inspector won't be updated automatically. To update it, call :ref:`NotifyPropertyListChanged() ` after setting the exported variable's value." msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_exports.rst:640 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_exports.rst:634 msgid "Advanced exports" msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_exports.rst:642 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_exports.rst:636 msgid "Not every type of export can be provided on the level of the language itself to avoid unnecessary design complexity. The following describes some more or less common exporting features which can be implemented with a low-level API." msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_exports.rst:646 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_exports.rst:640 msgid "Before reading further, you should get familiar with the way properties are handled and how they can be customized with :ref:`_Set() `, :ref:`_Get() `, and :ref:`_GetPropertyList() ` methods as described in :ref:`doc_accessing_data_or_logic_from_object`." msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_exports.rst:653 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_exports.rst:647 msgid "For binding properties using the above methods in C++, see :ref:`doc_binding_properties_using_set_get_property_list`." msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_exports.rst:656 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_exports.rst:650 msgid "The script must operate in the ``tool`` mode so the above methods can work from within the editor." msgstr "" diff --git a/sphinx/templates/tutorials/scripting/creating_script_templates.pot b/sphinx/templates/tutorials/scripting/creating_script_templates.pot index bf633bfdef..9b0ed5a087 100644 --- a/sphinx/templates/tutorials/scripting/creating_script_templates.pot +++ b/sphinx/templates/tutorials/scripting/creating_script_templates.pot @@ -108,11 +108,11 @@ msgid "For example:" msgstr "" #: ../../docs/tutorials/scripting/creating_script_templates.rst:75 -msgid "``template_scripts/Node/smooth_camera.gd``" +msgid "``script_templates/Node/smooth_camera.gd``" msgstr "" #: ../../docs/tutorials/scripting/creating_script_templates.rst:76 -msgid "``template_scripts/CharacterBody3D/platformer_movement.gd``" +msgid "``script_templates/CharacterBody3D/platformer_movement.gd``" msgstr "" #: ../../docs/tutorials/scripting/creating_script_templates.rst:79 diff --git a/sphinx/templates/tutorials/scripting/gdscript/static_typing.pot b/sphinx/templates/tutorials/scripting/gdscript/static_typing.pot index 6180f3e758..4da6807612 100644 --- a/sphinx/templates/tutorials/scripting/gdscript/static_typing.pot +++ b/sphinx/templates/tutorials/scripting/gdscript/static_typing.pot @@ -204,217 +204,217 @@ msgid "To define the type of an ``Array``, enclose the type name in ``[]``." msgstr "" #: ../../docs/tutorials/scripting/gdscript/static_typing.rst:220 -msgid "An array's type applies to ``for`` loop variables, as well as some operators like ``[]``, ``[]=``, and ``+``. Array methods (such as ``push_back``) and other operators (such as ``==``) are still untyped. Built-in types, native and custom classes, and enums may be used as element types. Nested array types (like ``Array[Array[int]]``) are not supported." +msgid "An array's type applies to ``for`` loop variables, as well as some operators like ``[]``, ``[...] =`` (assignment), and ``+``. Array methods (such as ``push_back``) and other operators (such as ``==``) are still untyped. Built-in types, native and custom classes, and enums may be used as element types. Nested array types (like ``Array[Array[int]]``) are not supported." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:243 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:244 msgid "Since Godot 4.2, you can also specify a type for the loop variable in a ``for`` loop. For instance, you can write:" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:252 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:253 msgid "The array will remain untyped, but the ``name`` variable within the ``for`` loop will always be of ``String`` type." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:256 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:257 msgid "Specify the element type of a ``Dictionary``" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:258 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:259 msgid "To define the type of a ``Dictionary``'s keys and values, enclose the type name in ``[]`` and separate the key and value type with a comma." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:261 -msgid "A dictionary's value type applies to ``for`` loop variables, as well as some operators like ``[]`` and ``[]=``. Dictionary methods that return values and other operators (such as ``==``) are still untyped. Built-in types, native and custom classes, and enums may be used as element types. Nested typed collections (like ``Dictionary[String, Dictionary[String, int]]``) are not supported." +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:262 +msgid "A dictionary's value type applies to ``for`` loop variables, as well as some operators like ``[]`` and ``[...] =`` (assignment). Dictionary methods that return values and other operators (such as ``==``) are still untyped. Built-in types, native and custom classes, and enums may be used as element types. Nested typed collections (like ``Dictionary[String, Dictionary[String, int]]``) are not supported." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:285 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:286 msgid "Type casting" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:287 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:288 msgid "Type casting is an important concept in typed languages. Casting is the conversion of a value from one type to another." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:290 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:291 msgid "Imagine an ``Enemy`` in your game, that ``extends Area2D``. You want it to collide with the ``Player``, a ``CharacterBody2D`` with a script called ``PlayerController`` attached to it. You use the ``body_entered`` signal to detect the collision. With typed code, the body you detect is going to be a generic ``PhysicsBody2D``, and not your ``PlayerController`` on the ``_on_body_entered`` callback." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:296 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:297 msgid "You can check if this ``PhysicsBody2D`` is your ``Player`` with the ``as`` keyword, and using the colon ``:`` again to force the variable to use this type. This forces the variable to stick to the ``PlayerController`` type:" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:309 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:310 msgid "As we're dealing with a custom type, if the ``body`` doesn't extend ``PlayerController``, the ``player`` variable will be set to ``null``. We can use this to check if the body is the player or not. We will also get full autocompletion on the player variable thanks to that cast." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:316 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:317 msgid "The ``as`` keyword silently casts the variable to ``null`` in case of a type mismatch at runtime, without an error/warning. While this may be convenient in some cases, it can also lead to bugs. Use the ``as`` keyword only if this behavior is intended. A safer alternative is to use the ``is`` keyword:" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:332 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:333 msgid "You can also simplify the code by using the ``is not`` operator:" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:339 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:340 msgid "Alternatively, you can use the ``assert()`` statement:" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:354 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:355 msgid "If you try to cast with a built-in type and it fails, Godot will throw an error." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:359 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:360 msgid "Safe lines" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:361 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:362 msgid "You can also use casting to ensure safe lines. Safe lines are a tool to tell you when ambiguous lines of code are type-safe. As you can mix and match typed and dynamic code, at times, Godot doesn't have enough information to know if an instruction will trigger an error or not at runtime." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:366 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:367 msgid "This happens when you get a child node. Let's take a timer for example: with dynamic code, you can get the node with ``$Timer``. GDScript supports `duck-typing `__, so even if your timer is of type ``Timer``, it is also a ``Node`` and an ``Object``, two classes it extends. With dynamic GDScript, you also don't care about the node's type as long as it has the methods you need to call." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:373 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:374 msgid "You can use casting to tell Godot the type you expect when you get a node: ``($Timer as Timer)``, ``($Player as CharacterBody2D)``, etc. Godot will ensure the type works and if so, the line number will turn green at the left of the script editor." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:378 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:379 msgid "Unsafe vs Safe Line" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:381 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:382 msgid "Unsafe line (line 7) vs Safe Lines (line 6 and 8)" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:385 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:386 msgid "Safe lines do not always mean better or more reliable code. See the note above about the ``as`` keyword. For example:" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:393 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:394 msgid "Even though ``node_2`` declaration is marked as an unsafe line, it is more reliable than ``node_1`` declaration. Because if you change the node type in the scene and accidentally forget to change it in the script, the error will be detected immediately when the scene is loaded. Unlike ``node_1``, which will be silently cast to ``null`` and the error will be detected later." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:401 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:402 msgid "You can turn off safe lines or change their color in the editor settings." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:404 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:405 msgid "Typed or dynamic: stick to one style" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:406 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:407 msgid "Typed GDScript and dynamic GDScript can coexist in the same project. But it's recommended to stick to either style for consistency in your codebase, and for your peers. It's easier for everyone to work together if you follow the same guidelines, and faster to read and understand other people's code." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:411 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:412 msgid "Typed code takes a little more writing, but you get the benefits we discussed above. Here's an example of the same, empty script, in a dynamic style:" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:426 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:427 msgid "And with static typing:" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:440 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:441 msgid "As you can see, you can also use types with the engine's virtual methods. Signal callbacks, like any methods, can also use types. Here's a ``body_entered`` signal in a dynamic style:" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:449 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:450 msgid "And the same callback, with type hints:" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:451 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:452 msgid "::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:452 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:453 msgid "func _on_area_2d_body_entered(body: PhysicsBody2D) -> void:" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:453 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:454 msgid "pass" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:456 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:457 msgid "Warning system" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:460 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:461 msgid "Detailed documentation about the GDScript warning system has been moved to :ref:`doc_gdscript_warning_system`." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:463 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:464 msgid "Godot gives you warnings about your code as you write it. The engine identifies sections of your code that may lead to issues at runtime, but lets you decide whether or not you want to leave the code as it is." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:467 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:468 msgid "We have a number of warnings aimed specifically at users of typed GDScript. By default, these warnings are disabled, you can enable them in Project Settings (**Debug > GDScript**, make sure **Advanced Settings** is enabled)." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:471 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:472 msgid "You can enable the ``UNTYPED_DECLARATION`` warning if you want to always use static types. Additionally, you can enable the ``INFERRED_DECLARATION`` warning if you prefer a more readable and reliable, but more verbose syntax." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:475 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:476 msgid "``UNSAFE_*`` warnings make unsafe operations more noticeable, than unsafe lines. Currently, ``UNSAFE_*`` warnings do not cover all cases that unsafe lines cover." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:479 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:480 msgid "Common unsafe operations and their safe counterparts" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:482 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:483 msgid "``UNSAFE_PROPERTY_ACCESS`` and ``UNSAFE_METHOD_ACCESS`` warnings" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:484 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:485 msgid "In this example, we aim to set a property and call a method on an object that has a script attached with ``class_name MyScript`` and that ``extends Node2D``. If we have a reference to the object as a ``Node2D`` (for instance, as it was passed to us by the physics system), we can first check if the property and method exist and then set and call them if they do:" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:498 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:499 msgid "However, this code will produce ``UNSAFE_PROPERTY_ACCESS`` and ``UNSAFE_METHOD_ACCESS`` warnings as the property and method are not present in the referenced type - in this case a ``Node2D``. To make these operations safe, you can first check if the object is of type ``MyScript`` using the ``is`` keyword and then declare a variable with the type ``MyScript`` on which you can set its properties and call its methods:" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:512 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:513 msgid "Alternatively, you can declare a variable and use the ``as`` operator to try to cast the object. You'll then want to check whether the cast was successful by confirming that the variable was assigned:" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:524 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:525 msgid "``UNSAFE_CAST`` warning" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:526 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:527 msgid "In this example, we would like the label connected to an object entering our collision area to show the area's name. Once the object enters the collision area, the physics system sends a signal with a ``Node2D`` object, and the most straightforward (but not statically typed) solution to do what we want could be achieved like this:" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:537 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:538 msgid "This piece of code produces an ``UNSAFE_PROPERTY_ACCESS`` warning because ``label`` is not defined in ``Node2D``. To solve this, we could first check if the ``label`` property exist and cast it to type ``Label`` before settings its text property like so:" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:548 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:549 msgid "However, this produces an ``UNSAFE_CAST`` warning because ``body.label`` is of a ``Variant`` type. To safely get the property in the type you want, you can use the ``Object.get()`` method which returns the object as a ``Variant`` value or returns ``null`` if the property doesn't exist. You can then determine whether the property contains an object of the right type using the ``is`` keyword, and finally declare a statically typed variable with the object:" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:564 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:565 msgid "Cases where you can't specify types" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:568 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:569 msgid "To wrap up this introduction, let's mention cases where you can't use type hints. This will trigger a **syntax error**." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:571 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:572 msgid "You can't specify the type of individual elements in an array or a dictionary:" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:582 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:583 msgid "Nested types are not currently supported:" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:589 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:590 msgid "Summary" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:594 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:595 msgid "Typed GDScript is a powerful tool. It helps you write more structured code, avoid common errors, and create scalable and reliable systems. Static types improve GDScript performance and more optimizations are planned for the future." msgstr "" diff --git a/sphinx/templates/tutorials/shaders/compute_shaders.pot b/sphinx/templates/tutorials/shaders/compute_shaders.pot index 58f5a63689..848b653672 100644 --- a/sphinx/templates/tutorials/shaders/compute_shaders.pot +++ b/sphinx/templates/tutorials/shaders/compute_shaders.pot @@ -228,5 +228,5 @@ msgid "With that, you have everything you need to get started working with compu msgstr "" #: ../../docs/tutorials/shaders/compute_shaders.rst:384 -msgid "The demo projects repository contains a `Compute Shader Heightmap demo `__ This project performs heightmap image generation on the CPU and GPU separately, which lets you compare how a similar algorithm can be implemented in two different ways (with the GPU implementation being faster in most cases)." +msgid "The demo projects repository contains a `Compute Shader Heightmap demo `__ This project performs heightmap image generation on the CPU and GPU separately, which lets you compare how a similar algorithm can be implemented in two different ways (with the GPU implementation being faster in most cases)." msgstr "" diff --git a/sphinx/templates/tutorials/shaders/shader_reference/canvas_item_shader.pot b/sphinx/templates/tutorials/shaders/shader_reference/canvas_item_shader.pot index 35e9c2fdbe..10712fb191 100644 --- a/sphinx/templates/tutorials/shaders/shader_reference/canvas_item_shader.pot +++ b/sphinx/templates/tutorials/shaders/shader_reference/canvas_item_shader.pot @@ -39,8 +39,8 @@ msgstr "" #: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:58 #: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:108 #: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:218 -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:292 -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:352 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:299 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:359 msgid "Description" msgstr "" @@ -147,7 +147,7 @@ msgstr "" #: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:58 #: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:108 #: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:218 -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:292 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:299 msgid "Built-in" msgstr "" @@ -256,18 +256,18 @@ msgid "Instance custom data." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:126 -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:234 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:238 msgid "in bool **AT_LIGHT_PASS**" msgstr "" #: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:126 -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:234 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:238 msgid "Always ``false``." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:128 -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:230 -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:307 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:234 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:314 msgid "in vec2 **TEXTURE_PIXEL_SIZE**" msgstr "" @@ -276,7 +276,7 @@ msgid "Normalized pixel size of default 2D texture. For a Sprite2D with a textur msgstr "" #: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:132 -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:256 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:263 msgid "inout vec2 **VERTEX**" msgstr "" @@ -301,7 +301,7 @@ msgid "Normalized texture coordinates. Range from ``0.0`` to ``1.0``." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:140 -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:263 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:270 msgid "inout vec4 **COLOR**" msgstr "" @@ -379,12 +379,12 @@ msgid "Similarly, if a normal map is used in the :ref:`CanvasTexture ` of the :ref:`class_Light2D`. If the light is a :ref:`class_PointLight2D`, multiplied by the light's :ref:`texture`." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:319 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:326 msgid "in float **LIGHT_ENERGY**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:319 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:326 msgid ":ref:`Energy multiplier` of the :ref:`class_Light2D`." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:322 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:329 msgid "in vec3 **LIGHT_POSITION**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:322 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:329 msgid "Position of the :ref:`class_Light2D` in screen space. If using a :ref:`class_DirectionalLight2D` this is always ``(0.0, 0.0, 0.0)``." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:325 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:332 msgid "in vec3 **LIGHT_DIRECTION**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:325 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:332 msgid "Direction of the :ref:`class_Light2D` in screen space." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:327 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:334 msgid "in bool **LIGHT_IS_DIRECTIONAL**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:327 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:334 msgid "``true`` if this pass is a :ref:`class_DirectionalLight2D`." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:329 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:336 msgid "in vec3 **LIGHT_VERTEX**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:329 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:336 msgid "Pixel position, in screen space as modified in the ``fragment()`` function." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:331 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:338 msgid "inout vec4 **LIGHT**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:331 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:338 msgid "Output color for this :ref:`class_Light2D`." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:333 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:340 msgid "Specular shininess, as set in the object's texture." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:335 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:342 msgid "out vec4 **SHADOW_MODULATE**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:335 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:342 msgid "Multiply shadows cast at this point by this color." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:339 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:346 msgid "SDF functions" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:341 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:348 msgid "There are a few additional functions implemented to sample an automatically generated Signed Distance Field texture. These functions available for the ``fragment()`` and ``light()`` functions of CanvasItem shaders. Custom functions may also use them as long as they called from supported functions." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:346 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:353 msgid "The signed distance field is generated from :ref:`class_LightOccluder2D` nodes present in the scene with the **SDF Collision** property enabled (which is the default). See the :ref:`2D lights and shadows ` documentation for more information." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:352 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:359 msgid "Function" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:354 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:361 msgid "float **texture_sdf** (vec2 sdf_pos)" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:354 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:361 msgid "Performs an SDF texture lookup." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:356 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:363 msgid "vec2 **texture_sdf_normal** (vec2 sdf_pos)" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:356 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:363 msgid "Calculates a normal from the SDF texture." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:358 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:365 msgid "vec2 **sdf_to_screen_uv** (vec2 sdf_pos)" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:358 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:365 msgid "Converts an SDF to screen UV." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:360 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:367 msgid "vec2 **screen_uv_to_sdf** (vec2 uv)" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:360 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:367 msgid "Converts screen UV to an SDF." msgstr "" diff --git a/sphinx/templates/tutorials/ui/bbcode_in_richtextlabel.pot b/sphinx/templates/tutorials/ui/bbcode_in_richtextlabel.pot index f1d6c2dd8e..0c69162691 100644 --- a/sphinx/templates/tutorials/ui/bbcode_in_richtextlabel.pot +++ b/sphinx/templates/tutorials/ui/bbcode_in_richtextlabel.pot @@ -273,10 +273,10 @@ msgid "**br**" msgstr "" #: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:0 -msgid "Adds line break in a text." +msgid "Adds line break in a text, without adding a new paragraph. If used within a list, this won't create a new list item, but will add a line break within the current item instead." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:283 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:285 msgid "``[br]``" msgstr "" @@ -308,7 +308,7 @@ msgstr "" msgid "Same as ``[p align=center]``." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:296 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:298 msgid "``[center]{text}[/center]``" msgstr "" @@ -324,7 +324,7 @@ msgstr "" msgid "Same as ``[p align=left]``." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:302 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:304 msgid "``[left]{text}[/left]``" msgstr "" @@ -340,7 +340,7 @@ msgstr "" msgid "Same as ``[p align=right]``." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:308 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:310 msgid "``[right]{text}[/right]``" msgstr "" @@ -356,7 +356,7 @@ msgstr "" msgid "Same as ``[p align=fill]``." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:314 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:316 msgid "``[fill]{text}[/fill]``" msgstr "" @@ -368,7 +368,7 @@ msgstr "" msgid "Indents ``{text}`` once. The indentation width is the same as with ``[ul]`` or ``[ol]``, but without a bullet point." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:320 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:322 msgid "``[indent]{text}[/indent]``" msgstr "" @@ -480,7 +480,7 @@ msgstr "" msgid "Use custom font size for ``{text}``." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:365 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:367 msgid "``[font_size={size}]{text}[/font_size]``" msgstr "" @@ -496,7 +496,7 @@ msgstr "" msgid "A `drop cap `__ is typically one uppercase character, but ``[dropcap]`` supports containing multiple characters. ``margins`` values are comma-separated and can be positive, zero or negative. Values must **not** be separated by spaces; otherwise, the values won't be parsed correctly. Negative top and bottom margins are particularly useful to allow the rest of the paragraph to display below the dropcap." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:377 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:379 msgid "``[dropcap font={font} font_size={size} color={color} outline_size={size} outline_color={color} margins={left},{top},{right},{bottom}]{text}[/dropcap]``" msgstr "" @@ -528,13 +528,13 @@ msgstr "" msgid "Overrides the language for ``{text}`` that is set by the **BiDi > Language** property in :ref:`class_RichTextLabel`. ``{code}`` must be an ISO :ref:`language code `. This can be used to enforce the use of a specific script for a language without starting a new paragraph. Some font files may contain script-specific substitutes, in which case they will be used." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:395 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:397 msgid "``[lang={code}]{text}[/lang]``" msgstr "" #: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:0 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:616 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:662 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:618 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:664 msgid "**color**" msgstr "" @@ -542,7 +542,7 @@ msgstr "" msgid "Changes the color of ``{text}``. Color must be provided by a common name (see :ref:`doc_bbcode_in_richtextlabel_named_colors`) or using the HEX format (e.g. ``#ff00ff``, see :ref:`doc_bbcode_in_richtextlabel_hex_colors`)." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:402 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:404 msgid "``[color={code/name}]{text}[/color]``" msgstr "" @@ -554,7 +554,7 @@ msgstr "" msgid "Draws the color behind ``{text}``. This can be used to highlight text. Accepts same values as the ``color`` tag. By default, there is a slight padding which is controlled by the ``text_highlight_h_padding`` and ``text_highlight_v_padding`` theme items in the RichTextLabel node. Set padding to ``0`` to avoid potential overlapping issues when there are background colors on neighboring lines/columns." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:412 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:414 msgid "``[bgcolor={code/name}]{text}[/bgcolor]``" msgstr "" @@ -566,7 +566,7 @@ msgstr "" msgid "Draws the color in front of ``{text}``. This can be used to \"redact\" text by using an opaque foreground color. Accepts same values as the ``color`` tag. By default, there is a slight padding which is controlled by the ``text_highlight_h_padding`` and ``text_highlight_v_padding`` theme items in the RichTextLabel node. Set padding to ``0`` to avoid potential overlapping issues when there are foreground colors on neighboring lines/columns." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:422 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:424 msgid "``[fgcolor={code/name}]{text}[/fgcolor]``" msgstr "" @@ -686,7 +686,7 @@ msgstr "" msgid "Adds an ordered (numbered) list of the given ``{type}`` (see :ref:`doc_bbcode_in_richtextlabel_list_types`). List ``{items}`` must be provided by putting one item per line of text." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:472 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:474 msgid "``[ol type={type}]{items}[/ol]``" msgstr "" @@ -742,72 +742,34 @@ msgstr "" msgid "``[shy]`` (soft hyphen)" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:494 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:496 msgid "Tags for bold (``[b]``) and italics (``[i]``) formatting work best if the appropriate custom fonts are set up in the RichTextLabelNode's theme overrides. If no custom bold or italic fonts are defined, `faux bold and italic fonts `__ will be generated by Godot. These fonts rarely look good in comparison to hand-made bold/italic font variants." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:500 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:502 msgid "The monospaced (``[code]``) tag **only** works if a custom font is set up in the RichTextLabel node's theme overrides. Otherwise, monospaced text will use the regular font." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:503 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:505 msgid "There are no BBCode tags to control vertical centering of text yet." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:505 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:507 msgid "Options can be skipped for all tags." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:510 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:512 msgid "Paragraph options" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:512 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:646 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:514 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:648 msgid "**align**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:515 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:525 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:536 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:548 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:558 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:568 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:619 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:629 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:639 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:649 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:665 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:675 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:685 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:695 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:705 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:715 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:767 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:777 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:787 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:797 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:807 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:817 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:827 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:837 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:847 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:857 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:873 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:924 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:935 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:945 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:956 -msgid "`Values`" -msgstr "" - -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:515 -msgid "``left`` (or ``l``), ``center`` (or ``c``), ``right`` (or ``r``), ``fill`` (or ``f``)" -msgstr "" - #: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:517 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:528 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:540 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:527 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:538 #: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:550 #: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:560 #: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:570 @@ -836,636 +798,670 @@ msgstr "" #: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:937 #: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:947 #: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:958 -msgid "`Default`" +msgid "`Values`" msgstr "" #: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:517 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:651 +msgid "``left`` (or ``l``), ``center`` (or ``c``), ``right`` (or ``r``), ``fill`` (or ``f``)" +msgstr "" + +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:519 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:530 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:542 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:552 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:562 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:572 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:623 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:633 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:643 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:653 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:669 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:679 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:689 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:699 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:709 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:719 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:771 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:781 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:791 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:801 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:811 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:821 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:831 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:841 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:851 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:861 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:877 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:928 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:939 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:949 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:960 +msgid "`Default`" +msgstr "" + +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:519 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:653 msgid "``left``" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:520 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:522 msgid "Text horizontal alignment." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:522 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:524 msgid "**bidi_override**, **st**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:525 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:527 msgid "``default`` (of ``d``), ``uri`` (or ``u``), ``file`` (or ``f``), ``email`` (or ``e``), ``list`` (or ``l``), ``none`` (or ``n``), ``custom`` (or ``c``)" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:528 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:530 msgid "``default``" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:531 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:533 msgid "Structured text override." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:533 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:535 msgid "**justification_flags**, **jst**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:536 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:538 msgid "Comma-separated list of the following values (no space after each comma): ``kashida`` (or ``k``), ``word`` (or ``w``), ``trim`` (or ``tr``), ``after_last_tab`` (or ``lt``), ``skip_last`` (or ``sl``), ``skip_last_with_chars`` (or ``sv``), ``do_not_skip_single`` (or ``ns``)." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:540 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:542 msgid "``word,kashida,skip_last,do_not_skip_single``" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:543 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:545 msgid "Justification (fill alignment) option. See :ref:`class_TextServer` for more details." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:545 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:547 msgid "**direction**, **dir**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:548 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:550 msgid "``ltr`` (or ``l``), ``rtl`` (or ``r``), ``auto`` (or ``a``)" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:550 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:552 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:562 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:669 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:679 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:689 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:699 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:771 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:781 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:791 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:801 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:811 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:821 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:939 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:949 +msgid "Inherit" +msgstr "" + +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:555 +msgid "Base BiDi direction." +msgstr "" + +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:557 +msgid "**language**, **lang**" +msgstr "" + #: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:560 +msgid "ISO language codes. See :ref:`doc_locales`" +msgstr "" + +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:565 +msgid "Locale override. Some font files may contain script-specific substitutes, in which case they will be used." +msgstr "" + +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:567 +msgid "**tab_stops**" +msgstr "" + +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:570 +msgid "List of floating-point numbers, e.g. ``10.0,30.0``" +msgstr "" + +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:572 +msgid "Width of the space character in the font" +msgstr "" + +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:575 +msgid "Overrides the horizontal offsets for each tab character. When the end of the list is reached, the tab stops will loop over. For example, if you set ``tab_stops`` to ``10.0,30.0``, the first tab will be at ``10`` pixels, the second tab will be at ``10 + 30 = 40`` pixels, and the third tab will be at ``10 + 30 + 10 = 50`` pixels from the origin of the RichTextLabel." +msgstr "" + +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:584 +msgid "Handling ``[url]`` tag clicks" +msgstr "" + +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:586 +msgid "By default, ``[url]`` tags do nothing when clicked. This is to allow flexible use of ``[url]`` tags rather than limiting them to opening URLs in a web browser." +msgstr "" + +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:589 +msgid "To handle clicked ``[url]`` tags, connect the ``RichTextLabel`` node's :ref:`meta_clicked ` signal to a script function." +msgstr "" + +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:592 +msgid "For example, the following method can be connected to ``meta_clicked`` to open clicked URLs using the user's default web browser:" +msgstr "" + +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:604 +msgid "For more advanced use cases, it's also possible to store JSON in a ``[url]`` tag's option and parse it in the function that handles the ``meta_clicked`` signal. For example:" +msgstr "" + +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:616 +msgid "Horizontal rule options" +msgstr "" + +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:621 #: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:667 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:937 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:947 +msgid "Color name or color in HEX format" +msgstr "" + +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:623 +msgid "``Color(1, 1, 1, 1)``" +msgstr "" + +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:626 +msgid "Color tint of the rule (modulation)." +msgstr "" + +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:628 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:674 +msgid "**height**" +msgstr "" + +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:631 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:641 #: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:677 #: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:687 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:926 +msgid "Integer number" +msgstr "" + +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:633 +msgid "``2``" +msgstr "" + +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:636 +msgid "Target height of the rule in pixels, add ``%`` to the end of value to specify it as percentages of the control width instead of pixels." +msgstr "" + +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:638 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:684 +msgid "**width**" +msgstr "" + +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:643 +msgid "``90%``" +msgstr "" + +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:646 +msgid "Target width of the rule in pixels, add ``%`` to the end of value to specify it as percentages of the control width instead of pixels." +msgstr "" + +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:651 +msgid "``left`` (or ``l``), ``center`` (or ``c``), ``right`` (or ``r``)" +msgstr "" + +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:656 +msgid "Horizontal alignment." +msgstr "" + +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:662 +msgid "Image options" +msgstr "" + +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:672 +msgid "Color tint of the image (modulation)." +msgstr "" + +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:682 +msgid "Target height of the image in pixels, add ``%`` to the end of value to specify it as percentages of the control width instead of pixels." +msgstr "" + +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:692 +msgid "Target width of the image in pixels, add ``%`` to the end of value to specify it as percentages of the control width instead of pixels." +msgstr "" + +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:694 +msgid "**region**" +msgstr "" + #: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:697 +msgid "x,y,width,height in pixels" +msgstr "" + +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:702 +msgid "Region rect of the image. This can be used to display a single image from a spritesheet." +msgstr "" + +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:704 +msgid "**pad**" +msgstr "" + +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:707 +msgid "``false``, ``true``" +msgstr "" + +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:709 +msgid "``false``" +msgstr "" + +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:712 +msgid "If set to ``true``, and the image is smaller than the size specified by ``width`` and ``height``, the image padding is added to match the size instead of upscaling." +msgstr "" + +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:714 +msgid "**tooltip**" +msgstr "" + +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:717 +msgid "String" +msgstr "" + +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:722 +msgid "Image tooltip." +msgstr "" + +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:727 +msgid "Image and table vertical alignment" +msgstr "" + +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:729 +msgid "When a vertical alignment value is provided with the ``[img]`` or ``[table]`` tag the image/table will try to align itself against the surrounding text. Alignment is performed using a vertical point of the image and a vertical point of the text. There are 3 possible points on the image (``top``, ``center``, and ``bottom``) and 4 possible points on the text and table (``top``, ``center``, ``baseline``, and ``bottom``), which can be used in any combination." +msgstr "" + +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:736 +msgid "To specify both points, use their full or short names as a value of the image/table tag:" +msgstr "" + +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:753 +msgid "You can also specify just one value (``top``, ``center``, or ``bottom``) to make use of a corresponding preset (``top-top``, ``center-center``, and ``bottom-bottom`` respectively)." +msgstr "" + +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:757 +msgid "Short names for the values are ``t`` (``top``), ``c`` (``center``), ``l`` (``baseline``), and ``b`` (``bottom``)." +msgstr "" + +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:764 +msgid "Font options" +msgstr "" + +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:766 +msgid "**name**, **n**" +msgstr "" + #: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:769 +msgid "A valid Font resource path." +msgstr "" + +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:774 +msgid "Font resource path." +msgstr "" + +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:776 +msgid "**size**, **s**" +msgstr "" + #: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:779 #: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:789 #: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:799 #: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:809 #: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:819 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:937 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:947 -msgid "Inherit" -msgstr "" - -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:553 -msgid "Base BiDi direction." -msgstr "" - -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:555 -msgid "**language**, **lang**" -msgstr "" - -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:558 -msgid "ISO language codes. See :ref:`doc_locales`" -msgstr "" - -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:563 -msgid "Locale override. Some font files may contain script-specific substitutes, in which case they will be used." -msgstr "" - -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:565 -msgid "**tab_stops**" -msgstr "" - -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:568 -msgid "List of floating-point numbers, e.g. ``10.0,30.0``" -msgstr "" - -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:570 -msgid "Width of the space character in the font" -msgstr "" - -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:573 -msgid "Overrides the horizontal offsets for each tab character. When the end of the list is reached, the tab stops will loop over. For example, if you set ``tab_stops`` to ``10.0,30.0``, the first tab will be at ``10`` pixels, the second tab will be at ``10 + 30 = 40`` pixels, and the third tab will be at ``10 + 30 + 10 = 50`` pixels from the origin of the RichTextLabel." -msgstr "" - -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:582 -msgid "Handling ``[url]`` tag clicks" -msgstr "" - -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:584 -msgid "By default, ``[url]`` tags do nothing when clicked. This is to allow flexible use of ``[url]`` tags rather than limiting them to opening URLs in a web browser." -msgstr "" - -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:587 -msgid "To handle clicked ``[url]`` tags, connect the ``RichTextLabel`` node's :ref:`meta_clicked ` signal to a script function." -msgstr "" - -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:590 -msgid "For example, the following method can be connected to ``meta_clicked`` to open clicked URLs using the user's default web browser:" -msgstr "" - -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:602 -msgid "For more advanced use cases, it's also possible to store JSON in a ``[url]`` tag's option and parse it in the function that handles the ``meta_clicked`` signal. For example:" -msgstr "" - -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:614 -msgid "Horizontal rule options" -msgstr "" - -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:619 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:665 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:935 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:945 -msgid "Color name or color in HEX format" -msgstr "" - -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:621 -msgid "``Color(1, 1, 1, 1)``" -msgstr "" - -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:624 -msgid "Color tint of the rule (modulation)." -msgstr "" - -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:626 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:672 -msgid "**height**" -msgstr "" - -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:629 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:639 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:675 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:685 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:924 -msgid "Integer number" -msgstr "" - -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:631 -msgid "``2``" -msgstr "" - -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:634 -msgid "Target height of the rule in pixels, add ``%`` to the end of value to specify it as percentages of the control width instead of pixels." -msgstr "" - -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:636 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:682 -msgid "**width**" -msgstr "" - -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:641 -msgid "``90%``" -msgstr "" - -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:644 -msgid "Target width of the rule in pixels, add ``%`` to the end of value to specify it as percentages of the control width instead of pixels." -msgstr "" - -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:649 -msgid "``left`` (or ``l``), ``center`` (or ``c``), ``right`` (or ``r``)" -msgstr "" - -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:654 -msgid "Horizontal alignment." -msgstr "" - -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:660 -msgid "Image options" -msgstr "" - -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:670 -msgid "Color tint of the image (modulation)." -msgstr "" - -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:680 -msgid "Target height of the image in pixels, add ``%`` to the end of value to specify it as percentages of the control width instead of pixels." -msgstr "" - -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:690 -msgid "Target width of the image in pixels, add ``%`` to the end of value to specify it as percentages of the control width instead of pixels." -msgstr "" - -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:692 -msgid "**region**" -msgstr "" - -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:695 -msgid "x,y,width,height in pixels" -msgstr "" - -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:700 -msgid "Region rect of the image. This can be used to display a single image from a spritesheet." -msgstr "" - -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:702 -msgid "**pad**" -msgstr "" - -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:705 -msgid "``false``, ``true``" -msgstr "" - -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:707 -msgid "``false``" -msgstr "" - -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:710 -msgid "If set to ``true``, and the image is smaller than the size specified by ``width`` and ``height``, the image padding is added to match the size instead of upscaling." -msgstr "" - -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:712 -msgid "**tooltip**" -msgstr "" - -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:715 -msgid "String" -msgstr "" - -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:720 -msgid "Image tooltip." -msgstr "" - -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:725 -msgid "Image and table vertical alignment" -msgstr "" - -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:727 -msgid "When a vertical alignment value is provided with the ``[img]`` or ``[table]`` tag the image/table will try to align itself against the surrounding text. Alignment is performed using a vertical point of the image and a vertical point of the text. There are 3 possible points on the image (``top``, ``center``, and ``bottom``) and 4 possible points on the text and table (``top``, ``center``, ``baseline``, and ``bottom``), which can be used in any combination." -msgstr "" - -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:734 -msgid "To specify both points, use their full or short names as a value of the image/table tag:" -msgstr "" - -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:751 -msgid "You can also specify just one value (``top``, ``center``, or ``bottom``) to make use of a corresponding preset (``top-top``, ``center-center``, and ``bottom-bottom`` respectively)." -msgstr "" - -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:755 -msgid "Short names for the values are ``t`` (``top``), ``c`` (``center``), ``l`` (``baseline``), and ``b`` (``bottom``)." -msgstr "" - -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:762 -msgid "Font options" -msgstr "" - -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:764 -msgid "**name**, **n**" -msgstr "" - -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:767 -msgid "A valid Font resource path." -msgstr "" - -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:772 -msgid "Font resource path." -msgstr "" - -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:774 -msgid "**size**, **s**" -msgstr "" - -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:777 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:787 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:797 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:807 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:817 msgid "Number in pixels." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:782 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:784 msgid "Custom font size." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:784 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:786 msgid "**glyph_spacing**, **gl**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:792 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:794 msgid "Extra spacing for each glyph." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:794 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:796 msgid "**space_spacing**, **sp**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:802 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:804 msgid "Extra spacing for the space character." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:804 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:806 msgid "**top_spacing**, **top**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:812 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:814 msgid "Extra spacing at the top of the line." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:814 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:816 msgid "**bottom_spacing**, **bt**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:822 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:824 msgid "Extra spacing at the bottom of the line." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:824 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:826 msgid "**embolden**, **emb**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:827 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:847 -msgid "Floating-point number." -msgstr "" - #: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:829 #: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:849 +msgid "Floating-point number." +msgstr "" + +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:831 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:851 msgid "``0.0``" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:832 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:834 msgid "Font embolden strength, if it is not equal to zero, emboldens the font outlines. Negative values reduce the outline thickness." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:834 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:836 msgid "**face_index**, **fi**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:837 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:839 msgid "Integer number." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:839 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:841 msgid "``0``" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:842 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:844 msgid "An active face index in the TrueType / OpenType collection." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:844 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:846 msgid "**slant**, **sln**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:852 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:854 msgid "Font slant strength, positive values slant glyphs to the right. Negative values to the left." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:854 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:856 msgid "**opentype_variation**, **otv**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:857 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:859 msgid "Comma-separated list of the OpenType variation tags (no space after each comma)." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:862 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:864 msgid "Font OpenType variation coordinates. See `OpenType variation tags `__." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:864 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:880 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:866 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:882 msgid "Note: The value should be enclosed in ``\"`` to allow using ``=`` inside it:" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:870 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:872 msgid "**opentype_features**, **otf**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:873 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:875 msgid "Comma-separated list of the OpenType feature tags (no space after each comma)." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:878 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:880 msgid "Font OpenType features. See `OpenType features tags `__." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:889 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:891 msgid "Named colors" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:891 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:893 msgid "For tags that allow specifying a color by name, you can use names of the constants from the built-in :ref:`class_Color` class. Named classes can be specified in a number of styles using different casings: ``DARK_RED``, ``DarkRed``, and ``darkred`` will give the same exact result." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:896 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:898 msgid "See this image for a list of color constants:" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:900 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:902 msgid "`View at full size `__" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:905 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:907 msgid "Hexadecimal color codes" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:907 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:909 msgid "For opaque RGB colors, any valid 6-digit hexadecimal code is supported, e.g. ``[color=#ffffff]white[/color]``. Shorthand RGB color codes such as ``#6f2`` (equivalent to ``#66ff22``) are also supported." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:911 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:913 msgid "For transparent RGB colors, any RGBA 8-digit hexadecimal code can be used, e.g. ``[color=#ffffff88]translucent white[/color]``. Note that the alpha channel is the **last** component of the color code, not the first one. Short RGBA color codes such as ``#6f28`` (equivalent to ``#66ff2288``) are supported as well." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:919 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:921 msgid "Cell options" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:921 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:923 msgid "**expand**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:926 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:928 msgid "1" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:929 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:931 msgid "Cell expansion ratio. This defines which cells will try to expand to proportionally to other cells and their expansion ratios." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:932 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:934 msgid "**border**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:940 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:942 msgid "Cell border color." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:942 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:944 msgid "**bg**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:950 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:952 msgid "Cell background color. For alternating odd/even row backgrounds, you can use ``bg=odd_color,even_color``." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:953 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:955 msgid "**padding**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:956 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:958 msgid "4 comma-separated floating-point numbers (no space after each comma)" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:958 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:960 msgid "``0,0,0,0``" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:961 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:963 msgid "Left, top, right, and bottom cell padding." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:966 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:968 msgid "Unordered list bullet" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:968 -msgid "By default, the ``[ul]`` tag uses the ``U+2022`` \"Bullet\" Unicode glyph as the bullet character. This behavior is similar to web browsers. The bullet character can be customized using ``[ul bullet={bullet}]``. If provided, this ``{bullet}`` parameter must be a *single* character with no enclosing quotes (for example, ``[bullet=*]``). Additional characters are ignored. The bullet character's width does not affect the list's formatting." +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:970 +msgid "By default, the ``[ul]`` tag uses the ``U+2022`` \"Bullet\" Unicode glyph as the bullet character. This behavior is similar to web browsers. The bullet character can be customized using ``[ul bullet={bullet}]``. If provided, this ``{bullet}`` parameter must be a string with no enclosing quotes (for example, ``[bullet=*]``). You can add trailing spaces after the bullet character to increase the spacing between the bullet and the list item text." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:975 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:977 msgid "See `Bullet (typography) on Wikipedia `__ for a list of common bullet characters that you can paste directly in the ``bullet`` parameter." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:981 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:983 msgid "Ordered list types" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:983 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:985 msgid "Ordered lists can be used to automatically mark items with numbers or letters in ascending order. This tag supports the following type options:" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:987 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:989 msgid "``1`` - Numbers, using language specific numbering system if possible." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:988 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:990 msgid "``a``, ``A`` - Lower and upper case Latin letters." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:989 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:991 msgid "``i``, ``I`` - Lower and upper case Roman numerals." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:992 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:994 msgid "Text effects" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:994 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:996 msgid "BBCode can also be used to create different text effects that can optionally be animated. Five customizable effects are provided out of the box, and you can easily create your own. By default, animated effects will pause :ref:`when the SceneTree is paused `. You can change this behavior by adjusting the RichTextLabel's **Process > Mode** property." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1000 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1002 msgid "All examples below mention the default values for options in the listed tag format." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1004 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1006 msgid "Text effects that move characters' positions may result in characters being clipped by the RichTextLabel node bounds." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1007 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1009 msgid "You can resolve this by disabling **Control > Layout > Clip Contents** in the inspector after selecting the RichTextLabel node, or ensuring there is enough margin added around the text by using line breaks above and below the line using the effect." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1013 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1015 msgid "Pulse" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1017 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1019 msgid "Pulse creates an animated pulsing effect that multiplies each character's opacity and color. It can be used to bring attention to specific text. Its tag format is ``[pulse freq=1.0 color=#ffffff40 ease=-2.0]{text}[/pulse]``." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1021 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1023 msgid "``freq`` controls the frequency of the half-pulsing cycle (higher is faster). A full pulsing cycle takes ``2 * (1.0 / freq)`` seconds. ``color`` is the target color multiplier for blinking. The default mostly fades out text, but not entirely. ``ease`` is the easing function exponent to use. Negative values provide in-out easing, which is why the default is ``-2.0``." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1028 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1030 msgid "Wave" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1032 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1034 msgid "Wave makes the text go up and down. Its tag format is ``[wave amp=50.0 freq=5.0 connected=1]{text}[/wave]``." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1035 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1037 msgid "``amp`` controls how high and low the effect goes, and ``freq`` controls how fast the text goes up and down. A ``freq`` value of ``0`` will result in no visible waves, and negative ``freq`` values won't display any waves either. If ``connected`` is ``1`` (default), glyphs with ligatures will be moved together. If ``connected`` is ``0``, each glyph is moved individually even if they are joined by ligatures. This can work around certain rendering issues with font ligatures." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1044 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1046 msgid "Tornado" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1048 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1050 msgid "Tornado makes the text move around in a circle. Its tag format is ``[tornado radius=10.0 freq=1.0 connected=1]{text}[/tornado]``." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1051 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1053 msgid "``radius`` is the radius of the circle that controls the offset, ``freq`` is how fast the text moves in a circle. A ``freq`` value of ``0`` will pause the animation, while negative ``freq`` will play the animation backwards. If ``connected`` is ``1`` (default), glyphs with ligatures will be moved together. If ``connected`` is ``0``, each glyph is moved individually even if they are joined by ligatures. This can work around certain rendering issues with font ligatures." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1060 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1062 msgid "Shake" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1064 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1066 msgid "Shake makes the text shake. Its tag format is ``[shake rate=20.0 level=5 connected=1]{text}[/shake]``." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1067 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1069 msgid "``rate`` controls how fast the text shakes, ``level`` controls how far the text is offset from the origin. If ``connected`` is ``1`` (default), glyphs with ligatures will be moved together. If ``connected`` is ``0``, each glyph is moved individually even if they are joined by ligatures. This can work around certain rendering issues with font ligatures." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1074 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1076 msgid "Fade" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1078 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1080 msgid "Fade creates a static fade effect that multiplies each character's opacity. Its tag format is ``[fade start=4 length=14]{text}[/fade]``." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1081 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1083 msgid "``start`` controls the starting position of the falloff relative to where the fade command is inserted, ``length`` controls over how many characters should the fade out take place." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1086 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1088 msgid "Rainbow" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1090 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1092 msgid "Rainbow gives the text a rainbow color that changes over time. Its tag format is ``[rainbow freq=1.0 sat=0.8 val=0.8 speed=1.0]{text}[/rainbow]``." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1093 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1095 msgid "``freq`` determines how many letters the rainbow extends over before it repeats itself, ``sat`` is the saturation of the rainbow, ``val`` is the value of the rainbow. ``speed`` is the number of full rainbow cycles per second. A positive ``speed`` value will play the animation forwards, a value of ``0`` will pause the animation, and a negative ``speed`` value will play the animation backwards." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1099 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1101 msgid "Font outlines are *not* affected by the rainbow effect (they keep their original color). Existing font colors are overridden by the rainbow effect. However, CanvasItem's **Modulate** and **Self Modulate** properties will affect how the rainbow effect looks, as modulation multiplies its final colors." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1105 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1107 msgid "Custom BBCode tags and text effects" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1107 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1109 msgid "You can extend the :ref:`class_RichTextEffect` resource type to create your own custom BBCode tags. Create a new script file that extends the :ref:`class_RichTextEffect` resource type and give the script a ``class_name`` so that the effect can be selected in the inspector. Add the ``@tool`` annotation to your GDScript file if you wish to have these custom effects run within the editor itself. The RichTextLabel does not need to have a script attached, nor does it need to be running in ``tool`` mode. The new effect can be registered in the Inspector by adding it to the **Markup > Custom Effects** array, or in code with the :ref:`install_effect() ` method:" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1116 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1120 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1118 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1122 msgid "Selecting a custom RichTextEffect after saving a script that extends RichTextEffect with a ``class_name``" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1124 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1126 msgid "If the custom effect is not registered within the RichTextLabel's **Markup > Custom Effects** property, no effect will be visible and the original tag will be left as-is." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1128 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1130 msgid "There is only one function that you need to extend: ``_process_custom_fx(char_fx)``. Optionally, you can also provide a custom BBCode identifier by adding a member name ``bbcode``. The code will check the ``bbcode`` property automatically or will use the name of the file to determine what the BBCode tag should be." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1134 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1136 msgid "``_process_custom_fx``" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1136 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1138 msgid "This is where the logic of each effect takes place and is called once per glyph during the draw phase of text rendering. This passes in a :ref:`class_CharFXTransform` object, which holds a few variables to control how the associated glyph is rendered:" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1140 -msgid "``identity`` specifies which custom effect is being processed. You should use that for code flow control." -msgstr "" - #: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1142 msgid "``outline`` is ``true`` if effect is called for drawing text outline." msgstr "" diff --git a/sphinx/templates/tutorials/xr/basic_xr_locomotion.pot b/sphinx/templates/tutorials/xr/basic_xr_locomotion.pot index 2e2471d4b1..23f7477ecb 100644 --- a/sphinx/templates/tutorials/xr/basic_xr_locomotion.pot +++ b/sphinx/templates/tutorials/xr/basic_xr_locomotion.pot @@ -32,7 +32,7 @@ msgid "The first step we need to do is to add a helper node to our :ref:`XROrigi msgstr "" #: ../../docs/tutorials/xr/basic_xr_locomotion.rst:16 -msgid "Select your :ref:`XROrigin3D ` node and click on the ``instantiate Child Scene`` button to add a child scene. Select ``addons/godot-xr-tools/player/player_body.tscn`` and add this node." +msgid "Select your :ref:`XROrigin3D ` node and click on the :button:`Instantiate Child Scene` button to add a child scene. Select ``addons/godot-xr-tools/player/player_body.tscn`` and add this node." msgstr "" #: ../../docs/tutorials/xr/basic_xr_locomotion.rst:20 diff --git a/sphinx/templates/tutorials/xr/openxr_settings.pot b/sphinx/templates/tutorials/xr/openxr_settings.pot index 381b16531e..57a48825c2 100644 --- a/sphinx/templates/tutorials/xr/openxr_settings.pot +++ b/sphinx/templates/tutorials/xr/openxr_settings.pot @@ -380,25 +380,33 @@ msgid "Now you can add things to this controller node such as a raycast, and con msgstr "" #: ../../docs/tutorials/xr/openxr_settings.rst:303 -msgid "Binding Modifiers" +msgid "Render Models" msgstr "" #: ../../docs/tutorials/xr/openxr_settings.rst:305 -msgid "These control whether or not binding modifiers can be used. Binding modifiers are used to apply thresholds or offset values. You can find information on how to use and set them up on the XR action map page :ref:`here `." +msgid "This extension is used to query the XR runtime for 3D assets of the hardware being used, usually a controller, as well as the position of that hardware. You can find a detailed guide on how to use it :ref:`here `." msgstr "" #: ../../docs/tutorials/xr/openxr_settings.rst:310 -msgid "Analog Threshold" +msgid "Binding Modifiers" msgstr "" #: ../../docs/tutorials/xr/openxr_settings.rst:312 -msgid "Allow analog threshold binding modifiers." -msgstr "" - -#: ../../docs/tutorials/xr/openxr_settings.rst:315 -msgid "Dpad Binding" +msgid "These control whether or not binding modifiers can be used. Binding modifiers are used to apply thresholds or offset values. You can find information on how to use and set them up on the XR action map page :ref:`here `." msgstr "" #: ../../docs/tutorials/xr/openxr_settings.rst:317 +msgid "Analog Threshold" +msgstr "" + +#: ../../docs/tutorials/xr/openxr_settings.rst:319 +msgid "Allow analog threshold binding modifiers." +msgstr "" + +#: ../../docs/tutorials/xr/openxr_settings.rst:322 +msgid "Dpad Binding" +msgstr "" + +#: ../../docs/tutorials/xr/openxr_settings.rst:324 msgid "Allow D-pad binding modifiers." msgstr "" diff --git a/sphinx/templates/tutorials/xr/setting_up_xr.pot b/sphinx/templates/tutorials/xr/setting_up_xr.pot index f776324acb..b777713548 100644 --- a/sphinx/templates/tutorials/xr/setting_up_xr.pot +++ b/sphinx/templates/tutorials/xr/setting_up_xr.pot @@ -28,129 +28,129 @@ msgid "Godot provides a modular XR system that abstracts many of the different X msgstr "" #: ../../docs/tutorials/xr/setting_up_xr.rst:12 -msgid "Each supported XR platform is implemented as an :ref:`XRInterface `. Supported interfaces register themselves with the :ref:`XRServer ` and can be queried with the ``find_interface`` method on the :ref:`XRServer `. When the desired interface is found it can be initialized by calling ``initialize`` on the interface." -msgstr "" - -#: ../../docs/tutorials/xr/setting_up_xr.rst:15 -msgid "A registered interface means nothing more than that the interface is available, if the interface is not supported by the host system, initialization may fail and return ``false``. This can have many reasons and sadly the reasons differ from platform to platform. It can be because the user hasn't installed the required software, or that the user simply hasn't plugged in their headset. You as a developer must thus react properly on an interface failing to initialize." -msgstr "" - -#: ../../docs/tutorials/xr/setting_up_xr.rst:17 -msgid "Due to the special requirements for output in XR, especially for head mounted devices that supply different images to each eye, the :ref:`XRServer ` in Godot will override various features in the rendering system. For stand-alone devices this means the final output is handled by the :ref:`XRInterface ` and Godot's usual output system is disabled. For desktop XR devices that work as a second screen it is possible to dedicate a separate :ref:`Viewport ` to handle the XR output, leaving the main Godot window available for displaying alternative content." +msgid "Each supported XR platform is implemented as an :ref:`XRInterface `. A list of supported platforms can be found on the list of features page :ref:`here `. Supported interfaces register themselves with the :ref:`XRServer ` and can be queried with the ``find_interface`` method on the :ref:`XRServer `. When the desired interface is found it can be initialized by calling ``initialize`` on the interface." msgstr "" #: ../../docs/tutorials/xr/setting_up_xr.rst:20 -msgid "Note that only one interface can be responsible for handling the output to an XR device, this is known as the primary interface and by default will be the first interface that is initialized. Godot currently thus only supports implementations with a single headset. It is possible, but increasingly uncommon, to have a secondary interface, for example to add tracking to an otherwise 3DOF only device." +msgid "A registered interface means nothing more than that the interface is available, if the interface is not supported by the host system, initialization may fail and return ``false``. This can have many reasons and sadly the reasons differ from platform to platform. It can be because the user hasn't installed the required software, or that the user simply hasn't plugged in their headset. You as a developer must thus react properly on an interface failing to initialize." msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:23 -msgid "There are three XR specific node types that you will find in nearly all XR applications:" +#: ../../docs/tutorials/xr/setting_up_xr.rst:22 +msgid "Due to the special requirements for output in XR, especially for head mounted devices that supply different images to each eye, the :ref:`XRServer ` in Godot will override various features in the rendering system. For stand-alone devices this means the final output is handled by the :ref:`XRInterface ` and Godot's usual output system is disabled. For desktop XR devices that work as a second screen it is possible to dedicate a separate :ref:`Viewport ` to handle the XR output, leaving the main Godot window available for displaying alternative content." msgstr "" #: ../../docs/tutorials/xr/setting_up_xr.rst:25 +msgid "Note that only one interface can be responsible for handling the output to an XR device, this is known as the primary interface and by default will be the first interface that is initialized. Godot currently thus only supports implementations with a single headset. It is possible, but increasingly uncommon, to have a secondary interface, for example to add tracking to an otherwise 3DOF only device." +msgstr "" + +#: ../../docs/tutorials/xr/setting_up_xr.rst:28 +msgid "There are three XR specific node types that you will find in nearly all XR applications:" +msgstr "" + +#: ../../docs/tutorials/xr/setting_up_xr.rst:30 msgid ":ref:`XROrigin3D ` represents, for all intents and purposes, the center point of your play space. That is an oversimplified statement but we'll go into more detail later. All objects tracked in physical space by the XR platform are positioned in relation to this point." msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:26 +#: ../../docs/tutorials/xr/setting_up_xr.rst:31 msgid ":ref:`XRCamera3D ` represents the (stereo) camera that is used when rendering output for the XR device. The positioning of this node is controlled by the XR system and updated automatically using the tracking information provided by the XR platform." msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:27 +#: ../../docs/tutorials/xr/setting_up_xr.rst:32 msgid ":ref:`XRController3D ` represents a controller used by the player, commonly there are two, one held in each hand. These nodes give access to various states on these controllers and send out signals when the player presses buttons on them. The positioning of this node is controlled by the XR system and updated automatically using the tracking information provided by the XR platform." msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:29 +#: ../../docs/tutorials/xr/setting_up_xr.rst:34 msgid "There are other XR related nodes and there is much more to say about these three nodes, but we'll get into that later on." msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:32 +#: ../../docs/tutorials/xr/setting_up_xr.rst:37 msgid "Which Renderer to use" msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:34 +#: ../../docs/tutorials/xr/setting_up_xr.rst:39 msgid "Godot has 3 renderer options for projects: Compatibility, Mobile, and Forward+. The current recommendation is to use the Mobile renderer for any desktop VR project, and use the Compatibility renderer for any project running on a standalone headset like the Meta Quest 3. XR projects will run with the Forward+ renderer, but it isn't well optimized for XR right now compared to the other two." msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:41 +#: ../../docs/tutorials/xr/setting_up_xr.rst:46 msgid "OpenXR" msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:43 +#: ../../docs/tutorials/xr/setting_up_xr.rst:48 msgid "OpenXR is a new industry standard that allows different XR platforms to present themselves through a standardised API to XR applications. This standard is an open standard maintained by the Khronos Group and thus aligns very well with Godot's interests." msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:45 +#: ../../docs/tutorials/xr/setting_up_xr.rst:50 msgid "The Vulkan implementation of OpenXR is closely integrated with Vulkan, taking over part of the Vulkan system. This requires tight integration of certain core graphics features in the Vulkan renderer which are needed before the XR system is setup. This was one of the main deciding factors to include OpenXR as a core interface." msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:47 +#: ../../docs/tutorials/xr/setting_up_xr.rst:52 msgid "This also means OpenXR needs to be enabled when Godot starts in order to set things up correctly. Check the :ref:`Enabled` setting in your project settings under **XR > OpenXR**." msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:53 +#: ../../docs/tutorials/xr/setting_up_xr.rst:58 msgid "You can find several other settings related to OpenXR here as well. These can't be changed while your application is running. The default settings will get us started, but for more information on what's here see :ref:`doc_openxr_settings`." msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:57 +#: ../../docs/tutorials/xr/setting_up_xr.rst:62 msgid "You'll also need to go to **XR > Shaders** in the project settings and check the :ref:`Enabled` box to enable them. Once you've done that click the **Save & Restart** button." msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:64 +#: ../../docs/tutorials/xr/setting_up_xr.rst:69 msgid "Many post process effects have not yet been updated to support stereoscopic rendering. Using these will have adverse effects." msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:68 +#: ../../docs/tutorials/xr/setting_up_xr.rst:73 msgid "Setting up the XR scene" msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:70 +#: ../../docs/tutorials/xr/setting_up_xr.rst:75 msgid "Every XR application needs at least an :ref:`XROrigin3D ` and an :ref:`XRCamera3D ` node. Most will have two :ref:`XRController3D `, one for the left hand and one for the right. Keep in mind that the camera and controller nodes should be children of the origin node. Add these nodes to a new scene and rename the controller nodes to ``LeftHand`` and ``RightHand``, your scene should look something like this:" msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:74 +#: ../../docs/tutorials/xr/setting_up_xr.rst:79 msgid "The warning icons are expected and should go away after you configure the controllers. Select the left hand and set it up as follows:" msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:79 +#: ../../docs/tutorials/xr/setting_up_xr.rst:84 msgid "And the right hand:" msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:83 +#: ../../docs/tutorials/xr/setting_up_xr.rst:88 msgid "Right now all these nodes are on the floor, they will be positioned correctly in runtime. To help during development, it can be helpful to move the camera upwards so its ``y`` is set to ``1.7``, and move the controller nodes to ``-0.5, 1.0, -0.5`` and ``0.5, 1.0, -0.5`` for respectively the left and right hand." msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:85 +#: ../../docs/tutorials/xr/setting_up_xr.rst:90 msgid "Next we need to add a script to our root node. Add the following code into this script:" msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:135 +#: ../../docs/tutorials/xr/setting_up_xr.rst:140 msgid "This code fragment assumes we are using OpenXR, if you wish to use any of the other interfaces you can change the ``find_interface`` call." msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:139 +#: ../../docs/tutorials/xr/setting_up_xr.rst:144 msgid "As you can see in the code snippet above, we turn off v-sync. When using OpenXR you are outputting the rendering results to an HMD that often requires us to run at 90Hz or higher. If your monitor is a 60hz monitor and v-sync is turned on, you will limit the output to 60 frames per second." msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:143 +#: ../../docs/tutorials/xr/setting_up_xr.rst:148 msgid "XR interfaces like OpenXR perform their own sync." msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:145 +#: ../../docs/tutorials/xr/setting_up_xr.rst:150 msgid "Also note that by default the physics engine runs at 60Hz as well and this can result in choppy physics. You should set ``Engine.physics_ticks_per_second`` to a higher value." msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:148 +#: ../../docs/tutorials/xr/setting_up_xr.rst:153 msgid "If you run your project at this point in time, everything will work but you will be in a dark world. So to finish off our starting point add a :ref:`DirectionalLight3D ` and a :ref:`WorldEnvironment ` node to your scene. You may wish to also add a mesh instance as a child to each controller node just to temporarily visualise them. Make sure you configure a sky in your world environment." msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:152 +#: ../../docs/tutorials/xr/setting_up_xr.rst:157 msgid "Now run your project, you should be floating somewhere in space and be able to look around." msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:156 +#: ../../docs/tutorials/xr/setting_up_xr.rst:161 msgid "While traditional level switching can definitely be used with XR applications, where this scene setup is repeated in each level, most find it easier to set this up once and loading levels as a subscene. If you do switch scenes and replicate the XR setup in each one, do make sure you do not run ``initialize`` multiple times. The effect can be unpredictable depending on the XR interface used." msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:158 +#: ../../docs/tutorials/xr/setting_up_xr.rst:163 msgid "For the rest of this basic tutorial series we will create a game that uses a single scene." msgstr "" diff --git a/sphinx/templates/tutorials/xr/xr_action_map.pot b/sphinx/templates/tutorials/xr/xr_action_map.pot index 2ee20592b7..36ce342fcb 100644 --- a/sphinx/templates/tutorials/xr/xr_action_map.pot +++ b/sphinx/templates/tutorials/xr/xr_action_map.pot @@ -152,7 +152,7 @@ msgid "For your first XR game/application we highly recommend starting with just msgstr "" #: ../../docs/tutorials/xr/xr_action_map.rst:123 -msgid "For our walkthrough in this document we will thus create a single action set called ``my_first_action_set``. We do this by pressing the ``Add action set`` button:" +msgid "For our walkthrough in this document we will thus create a single action set called ``my_first_action_set``. We do this by pressing the :button:`Add action set` button:" msgstr "" #: ../../docs/tutorials/xr/xr_action_map.rst:129 @@ -580,7 +580,7 @@ msgstr "" #: ../../docs/tutorials/xr/xr_action_map.rst:519 #: ../../docs/tutorials/xr/xr_action_map.rst:586 -msgid "You can add a new modifier by pressing the ``Add binding modifier`` button." +msgid "You can add a new modifier by pressing the :button:`Add binding modifier` button." msgstr "" #: ../../docs/tutorials/xr/xr_action_map.rst:522 diff --git a/templates_list.txt b/templates_list.txt index 1567017cf3..094484de8c 100644 --- a/templates_list.txt +++ b/templates_list.txt @@ -166,17 +166,18 @@ tutorials/export/index.pot tutorials/export/exporting_projects.pot tutorials/export/exporting_pcks.pot tutorials/export/feature_tags.pot +tutorials/export/exporting_for_windows.pot tutorials/export/exporting_for_linux.pot tutorials/export/exporting_for_macos.pot -tutorials/export/running_on_macos.pot -tutorials/export/exporting_for_windows.pot -tutorials/export/changing_application_icon_for_windows.pot -tutorials/export/exporting_for_ios.pot tutorials/export/exporting_for_android.pot -tutorials/export/android_gradle_build.pot +tutorials/export/exporting_for_ios.pot +tutorials/export/exporting_for_visionos.pot tutorials/export/exporting_for_web.pot -tutorials/export/exporting_for_dedicated_servers.pot +tutorials/export/changing_application_icon_for_windows.pot +tutorials/export/running_on_macos.pot +tutorials/export/android_gradle_build.pot tutorials/export/one-click_deploy.pot +tutorials/export/exporting_for_dedicated_servers.pot tutorials/io/index.pot tutorials/io/background_loading.pot tutorials/io/data_paths.pot @@ -287,11 +288,11 @@ tutorials/plugins/editor/inspector_plugins.pot tutorials/plugins/editor/visual_shader_plugins.pot tutorials/plugins/running_code_in_the_editor.pot tutorials/rendering/index.pot +tutorials/rendering/renderers.pot tutorials/rendering/viewports.pot tutorials/rendering/multiple_resolutions.pot tutorials/rendering/jitter_stutter.pot tutorials/rendering/compositor.pot -tutorials/rendering/renderers.pot tutorials/scripting/index.pot tutorials/scripting/gdscript/index.pot tutorials/scripting/gdscript/gdscript_basics.pot @@ -448,8 +449,9 @@ contributing/development/compiling/compiling_for_linuxbsd.pot contributing/development/compiling/compiling_for_macos.pot contributing/development/compiling/compiling_for_android.pot contributing/development/compiling/compiling_for_ios.pot -contributing/development/compiling/cross-compiling_for_ios_on_linux.pot +contributing/development/compiling/compiling_for_visionos.pot contributing/development/compiling/compiling_for_web.pot +contributing/development/compiling/cross-compiling_for_ios_on_linux.pot contributing/development/compiling/compiling_with_dotnet.pot contributing/development/compiling/compiling_with_script_encryption_key.pot contributing/development/compiling/optimizing_for_size.pot diff --git a/weblate/docs.pot b/weblate/docs.pot index 8d400466b2..97686d4ca4 100644 --- a/weblate/docs.pot +++ b/weblate/docs.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot-docs-l10n\n" -"POT-Creation-Date: 2025-08-01 17:37+0200\n" +"POT-Creation-Date: 2025-09-08 16:18+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -247,8 +247,8 @@ msgstr "" #: ../../docs/tutorials/platform/android/android_plugin.rst:7 #: ../../docs/tutorials/plugins/editor/import_plugins.rst:13 #: ../../docs/tutorials/plugins/editor/3d_gizmos.rst:9 -#: ../../docs/tutorials/rendering/viewports.rst:7 #: ../../docs/tutorials/rendering/renderers.rst:13 +#: ../../docs/tutorials/rendering/viewports.rst:7 #: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:5 #: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:7 #: ../../docs/tutorials/scripting/gdextension/gdextension_c_example.rst:7 @@ -650,8 +650,8 @@ msgstr "" #: ../../docs/tutorials/migrating/upgrading_to_godot_4.2.rst:128 #: ../../docs/tutorials/migrating/upgrading_to_godot_4.3.rst:88 #: ../../docs/tutorials/migrating/upgrading_to_godot_4.3.rst:306 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:85 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:165 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:104 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:184 #: ../../docs/tutorials/2d/index.rst:26 #: ../../docs/tutorials/2d/using_tilemaps.rst:58 #: ../../docs/tutorials/3d/index.rst:18 @@ -1977,7 +1977,7 @@ msgstr "" #: ../../docs/about/list_of_features.rst:580 #: ../../docs/tutorials/migrating/upgrading_to_godot_4.1.rst:136 #: ../../docs/tutorials/migrating/upgrading_to_godot_4.3.rst:160 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:121 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:140 #: ../../docs/tutorials/2d/using_tilemaps.rst:78 #: ../../docs/tutorials/navigation/index.rst:4 msgid "Navigation" @@ -2203,182 +2203,192 @@ msgstr "" msgid "Support for advertisements using third-party modules." msgstr "" -#: ../../docs/about/list_of_features.rst:656 +#: ../../docs/about/list_of_features.rst:658 msgid "XR support (AR and VR)" msgstr "" -#: ../../docs/about/list_of_features.rst:658 +#: ../../docs/about/list_of_features.rst:660 msgid "Out of the box :ref:`support for OpenXR `." msgstr "" -#: ../../docs/about/list_of_features.rst:660 +#: ../../docs/about/list_of_features.rst:662 msgid "" "Including support for popular desktop headsets like the Valve Index, WMR " "headsets, and Quest over Link." msgstr "" -#: ../../docs/about/list_of_features.rst:662 +#: ../../docs/about/list_of_features.rst:664 msgid "" "Support for :ref:`Android-based headsets ` using " "OpenXR through a plugin." msgstr "" -#: ../../docs/about/list_of_features.rst:664 +#: ../../docs/about/list_of_features.rst:666 msgid "" "Including support for popular stand alone headsets like the Meta Quest 1/2/3 " "and Pro, Pico 4, Magic Leap 2, and Lynx R1." msgstr "" -#: ../../docs/about/list_of_features.rst:666 +#: ../../docs/about/list_of_features.rst:668 +msgid "Out of the box limited support for visionOS Apple headsets." +msgstr "" + +#: ../../docs/about/list_of_features.rst:670 +msgid "" +"Currently only exporting an application for use on a flat plane within the " +"headset is supported. Immersive experiences are not supported." +msgstr "" + +#: ../../docs/about/list_of_features.rst:673 msgid "Other devices supported through an XR plugin structure." msgstr "" -#: ../../docs/about/list_of_features.rst:667 +#: ../../docs/about/list_of_features.rst:674 msgid "" "Various advanced toolkits are available that implement common features " "required by XR applications." msgstr "" -#: ../../docs/about/list_of_features.rst:670 +#: ../../docs/about/list_of_features.rst:677 msgid "GUI system" msgstr "" -#: ../../docs/about/list_of_features.rst:672 +#: ../../docs/about/list_of_features.rst:679 msgid "" "Godot's GUI is built using the same Control nodes used to make games in " "Godot. The editor UI can easily be extended in many ways using add-ons." msgstr "" -#: ../../docs/about/list_of_features.rst:675 +#: ../../docs/about/list_of_features.rst:682 msgid "**Nodes:**" msgstr "" -#: ../../docs/about/list_of_features.rst:677 +#: ../../docs/about/list_of_features.rst:684 msgid "Buttons." msgstr "" -#: ../../docs/about/list_of_features.rst:678 +#: ../../docs/about/list_of_features.rst:685 msgid "Checkboxes, check buttons, radio buttons." msgstr "" -#: ../../docs/about/list_of_features.rst:679 +#: ../../docs/about/list_of_features.rst:686 msgid "" "Text entry using :ref:`class_LineEdit` (single line) " "and :ref:`class_TextEdit` (multiple lines). TextEdit also supports code " "editing features such as displaying line numbers and syntax highlighting." msgstr "" -#: ../../docs/about/list_of_features.rst:682 +#: ../../docs/about/list_of_features.rst:689 msgid "" "Dropdown menus using :ref:`class_PopupMenu` and :ref:`class_OptionButton`." msgstr "" -#: ../../docs/about/list_of_features.rst:683 +#: ../../docs/about/list_of_features.rst:690 msgid "Scrollbars." msgstr "" -#: ../../docs/about/list_of_features.rst:684 +#: ../../docs/about/list_of_features.rst:691 msgid "Labels." msgstr "" -#: ../../docs/about/list_of_features.rst:685 +#: ../../docs/about/list_of_features.rst:692 msgid "" "RichTextLabel for :ref:`text formatted using BBCode " "`, with support for animated custom effects." msgstr "" -#: ../../docs/about/list_of_features.rst:687 +#: ../../docs/about/list_of_features.rst:694 msgid "Trees (can also be used to represent tables)." msgstr "" -#: ../../docs/about/list_of_features.rst:688 +#: ../../docs/about/list_of_features.rst:695 msgid "Color picker with RGB and HSV modes." msgstr "" -#: ../../docs/about/list_of_features.rst:689 +#: ../../docs/about/list_of_features.rst:696 msgid "Controls can be rotated and scaled." msgstr "" -#: ../../docs/about/list_of_features.rst:691 +#: ../../docs/about/list_of_features.rst:698 msgid "**Sizing:**" msgstr "" -#: ../../docs/about/list_of_features.rst:693 +#: ../../docs/about/list_of_features.rst:700 msgid "Anchors to keep GUI elements in a specific corner, edge or centered." msgstr "" -#: ../../docs/about/list_of_features.rst:694 +#: ../../docs/about/list_of_features.rst:701 msgid "Containers to place GUI elements automatically following certain rules." msgstr "" -#: ../../docs/about/list_of_features.rst:696 +#: ../../docs/about/list_of_features.rst:703 msgid ":ref:`Stack ` layouts." msgstr "" -#: ../../docs/about/list_of_features.rst:697 +#: ../../docs/about/list_of_features.rst:704 msgid ":ref:`Grid ` layouts." msgstr "" -#: ../../docs/about/list_of_features.rst:698 +#: ../../docs/about/list_of_features.rst:705 msgid "" ":ref:`Flow ` layouts (similar to autowrapping text)." msgstr "" -#: ../../docs/about/list_of_features.rst:699 +#: ../../docs/about/list_of_features.rst:706 msgid "" ":ref:`Margin `, :ref:`centered " "` and :ref:`aspect ratio " "` layouts." msgstr "" -#: ../../docs/about/list_of_features.rst:701 +#: ../../docs/about/list_of_features.rst:708 msgid ":ref:`Draggable splitter ` layouts." msgstr "" -#: ../../docs/about/list_of_features.rst:703 +#: ../../docs/about/list_of_features.rst:710 msgid "" "Scale to :ref:`multiple resolutions ` using the " "``canvas_items`` or ``viewport`` stretch modes." msgstr "" -#: ../../docs/about/list_of_features.rst:705 +#: ../../docs/about/list_of_features.rst:712 msgid "" "Support any aspect ratio using anchors and the ``expand`` stretch aspect." msgstr "" -#: ../../docs/about/list_of_features.rst:707 +#: ../../docs/about/list_of_features.rst:714 msgid "**Theming:**" msgstr "" -#: ../../docs/about/list_of_features.rst:709 +#: ../../docs/about/list_of_features.rst:716 msgid "Built-in theme editor." msgstr "" -#: ../../docs/about/list_of_features.rst:711 +#: ../../docs/about/list_of_features.rst:718 msgid "Generate a theme based on the current editor theme settings." msgstr "" -#: ../../docs/about/list_of_features.rst:713 +#: ../../docs/about/list_of_features.rst:720 msgid "Procedural vector-based theming using :ref:`class_StyleBoxFlat`." msgstr "" -#: ../../docs/about/list_of_features.rst:715 +#: ../../docs/about/list_of_features.rst:722 msgid "" "Supports rounded/beveled corners, drop shadows, per-border widths and " "antialiasing." msgstr "" -#: ../../docs/about/list_of_features.rst:717 +#: ../../docs/about/list_of_features.rst:724 msgid "Texture-based theming using :ref:`class_StyleBoxTexture`." msgstr "" -#: ../../docs/about/list_of_features.rst:719 +#: ../../docs/about/list_of_features.rst:726 msgid "" "Godot's small distribution size can make it a suitable alternative to " "frameworks like Electron or Qt." msgstr "" -#: ../../docs/about/list_of_features.rst:723 +#: ../../docs/about/list_of_features.rst:730 #: ../../docs/about/docs_changelog.rst:181 #: ../../docs/about/docs_changelog.rst:244 #: ../../docs/about/docs_changelog.rst:489 @@ -2394,168 +2404,168 @@ msgstr "" msgid "Animation" msgstr "" -#: ../../docs/about/list_of_features.rst:725 +#: ../../docs/about/list_of_features.rst:732 msgid "Direct kinematics and inverse kinematics." msgstr "" -#: ../../docs/about/list_of_features.rst:726 +#: ../../docs/about/list_of_features.rst:733 msgid "Support for animating any property with customizable interpolation." msgstr "" -#: ../../docs/about/list_of_features.rst:727 +#: ../../docs/about/list_of_features.rst:734 msgid "Support for calling methods in animation tracks." msgstr "" -#: ../../docs/about/list_of_features.rst:728 +#: ../../docs/about/list_of_features.rst:735 msgid "Support for playing sounds in animation tracks." msgstr "" -#: ../../docs/about/list_of_features.rst:729 +#: ../../docs/about/list_of_features.rst:736 msgid "Support for Bézier curves in animation." msgstr "" -#: ../../docs/about/list_of_features.rst:732 +#: ../../docs/about/list_of_features.rst:739 msgid "File formats" msgstr "" -#: ../../docs/about/list_of_features.rst:734 +#: ../../docs/about/list_of_features.rst:741 msgid "" "Scenes and resources can be saved in :ref:`text-based " "` or binary formats." msgstr "" -#: ../../docs/about/list_of_features.rst:736 +#: ../../docs/about/list_of_features.rst:743 msgid "" "Text-based formats are human-readable and more friendly to version control." msgstr "" -#: ../../docs/about/list_of_features.rst:737 +#: ../../docs/about/list_of_features.rst:744 msgid "Binary formats are faster to save/load for large scenes/resources." msgstr "" -#: ../../docs/about/list_of_features.rst:739 +#: ../../docs/about/list_of_features.rst:746 msgid "Read and write text or binary files using :ref:`class_FileAccess`." msgstr "" -#: ../../docs/about/list_of_features.rst:741 +#: ../../docs/about/list_of_features.rst:748 msgid "Can optionally be compressed or encrypted." msgstr "" -#: ../../docs/about/list_of_features.rst:743 +#: ../../docs/about/list_of_features.rst:750 msgid "Read and write :ref:`class_JSON` files." msgstr "" -#: ../../docs/about/list_of_features.rst:744 +#: ../../docs/about/list_of_features.rst:751 msgid "" "Read and write INI-style configuration files using :ref:`class_ConfigFile`." msgstr "" -#: ../../docs/about/list_of_features.rst:746 +#: ../../docs/about/list_of_features.rst:753 msgid "Can (de)serialize any Godot datatype, including Vector2/3, Color, ..." msgstr "" -#: ../../docs/about/list_of_features.rst:748 +#: ../../docs/about/list_of_features.rst:755 msgid "Read XML files using :ref:`class_XMLParser`." msgstr "" -#: ../../docs/about/list_of_features.rst:749 +#: ../../docs/about/list_of_features.rst:756 msgid "" ":ref:`Load and save images, audio/video, fonts and ZIP archives " "` in an exported project without having to " "go through Godot's import system." msgstr "" -#: ../../docs/about/list_of_features.rst:751 +#: ../../docs/about/list_of_features.rst:758 msgid "" "Pack game data into a PCK file (custom format optimized for fast seeking), " "into a ZIP archive, or directly into the executable for single-file " "distribution." msgstr "" -#: ../../docs/about/list_of_features.rst:753 +#: ../../docs/about/list_of_features.rst:760 msgid "" ":ref:`Export additional PCK files` that can be read by " "the engine to support mods and DLCs." msgstr "" -#: ../../docs/about/list_of_features.rst:757 +#: ../../docs/about/list_of_features.rst:764 #: ../../docs/about/docs_changelog.rst:541 msgid "Miscellaneous" msgstr "" -#: ../../docs/about/list_of_features.rst:759 +#: ../../docs/about/list_of_features.rst:766 msgid "" ":ref:`Video playback ` with built-in support for Ogg " "Theora." msgstr "" -#: ../../docs/about/list_of_features.rst:760 +#: ../../docs/about/list_of_features.rst:767 msgid "" ":ref:`Movie Maker mode ` to record videos from a " "running project with synchronized audio and perfect frame pacing." msgstr "" -#: ../../docs/about/list_of_features.rst:762 +#: ../../docs/about/list_of_features.rst:769 msgid "" ":ref:`Low-level access to servers ` which allows " "bypassing the scene tree's overhead when needed." msgstr "" -#: ../../docs/about/list_of_features.rst:764 +#: ../../docs/about/list_of_features.rst:771 msgid "" ":ref:`Command line interface ` for automation." msgstr "" -#: ../../docs/about/list_of_features.rst:766 +#: ../../docs/about/list_of_features.rst:773 msgid "Export and deploy projects using continuous integration platforms." msgstr "" -#: ../../docs/about/list_of_features.rst:767 +#: ../../docs/about/list_of_features.rst:774 msgid "" "`Shell completion scripts `__ are available for Bash, zsh and fish." msgstr "" -#: ../../docs/about/list_of_features.rst:769 +#: ../../docs/about/list_of_features.rst:776 msgid "" "Print colored text to standard output on all platforms " "using :ref:`print_rich `." msgstr "" -#: ../../docs/about/list_of_features.rst:772 +#: ../../docs/about/list_of_features.rst:779 msgid "" "Support for :ref:`C++ modules ` statically linked " "into the engine binary." msgstr "" -#: ../../docs/about/list_of_features.rst:774 +#: ../../docs/about/list_of_features.rst:781 msgid "Engine and editor written in C++17." msgstr "" -#: ../../docs/about/list_of_features.rst:776 +#: ../../docs/about/list_of_features.rst:783 msgid "" "Can be :ref:`compiled ` using GCC, " "Clang and MSVC. MinGW is also supported." msgstr "" -#: ../../docs/about/list_of_features.rst:778 +#: ../../docs/about/list_of_features.rst:785 msgid "" "Friendly towards packagers. In most cases, system libraries can be used " "instead of the ones provided by Godot. The build system doesn't download " "anything. Builds can be fully reproducible." msgstr "" -#: ../../docs/about/list_of_features.rst:782 +#: ../../docs/about/list_of_features.rst:789 msgid "Licensed under the permissive MIT license." msgstr "" -#: ../../docs/about/list_of_features.rst:784 +#: ../../docs/about/list_of_features.rst:791 msgid "" "Open development process with :ref:`contributions welcome " "`." msgstr "" -#: ../../docs/about/list_of_features.rst:788 +#: ../../docs/about/list_of_features.rst:795 msgid "" "The `Godot proposals repository `__ lists features that have been requested by the community and " @@ -2656,8 +2666,7 @@ msgstr "" #: ../../docs/about/system_requirements.rst:228 #: ../../docs/about/system_requirements.rst:233 msgid "" -"*Example: Intel HD Graphics 5500 (Broadwell), AMD Radeon R5 Graphics " -"(Kaveri)*" +"*Example: Intel HD Graphics 510 (Skylake), AMD Radeon R5 Graphics (Kaveri)*" msgstr "" #: ../../docs/about/system_requirements.rst:43 @@ -3304,7 +3313,7 @@ msgstr "" #: ../../docs/about/faq.rst:55 #: ../../docs/tutorials/migrating/upgrading_to_godot_4.3.rst:328 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:183 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:202 #: ../../docs/tutorials/export/one-click_deploy.rst:103 #: ../../docs/tutorials/platform/android/index.rst:4 #: ../../docs/tutorials/rendering/jitter_stutter.rst:177 @@ -4361,8 +4370,8 @@ msgstr "" #: ../../docs/contributing/development/compiling/compiling_for_macos.rst:14 #: ../../docs/contributing/development/compiling/compiling_for_android.rst:25 #: ../../docs/contributing/development/compiling/compiling_for_ios.rst:14 -#: ../../docs/contributing/development/compiling/cross-compiling_for_ios_on_linux.rst:25 #: ../../docs/contributing/development/compiling/compiling_for_web.rst:14 +#: ../../docs/contributing/development/compiling/cross-compiling_for_ios_on_linux.rst:25 #: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:9 #: ../../docs/community/asset_library/submitting_to_assetlib.rst:24 msgid "Requirements" @@ -5209,7 +5218,7 @@ msgstr "" #: ../../docs/about/docs_changelog.rst:483 #: ../../docs/tutorials/migrating/upgrading_to_godot_4.1.rst:104 #: ../../docs/tutorials/migrating/upgrading_to_godot_4.3.rst:73 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:75 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:94 #: ../../docs/tutorials/2d/using_tilemaps.rst:70 #: ../../docs/tutorials/performance/cpu_optimization.rst:246 #: ../../docs/tutorials/physics/index.rst:6 @@ -6110,7 +6119,7 @@ msgid ":ref:`doc_change_scenes_manually`" msgstr "" #: ../../docs/about/docs_changelog.rst:548 -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:116 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:115 #: ../../docs/contributing/development/compiling/compiling_for_linuxbsd.rst:248 #: ../../docs/contributing/development/compiling/compiling_for_macos.rst:52 #: ../../docs/contributing/development/compiling/compiling_for_ios.rst:51 @@ -6514,15 +6523,15 @@ msgid "" msgstr "" #: ../../docs/getting_started/introduction/key_concepts_overview.rst:96 -#: ../../docs/getting_started/step_by_step/instancing.rst:231 +#: ../../docs/getting_started/step_by_step/instancing.rst:232 #: ../../docs/getting_started/step_by_step/scripting_languages.rst:156 #: ../../docs/getting_started/step_by_step/scripting_player_input.rst:199 -#: ../../docs/getting_started/step_by_step/signals.rst:548 +#: ../../docs/getting_started/step_by_step/signals.rst:549 #: ../../docs/tutorials/2d/2d_sprite_animation.rst:279 #: ../../docs/tutorials/2d/2d_movement.rst:312 #: ../../docs/tutorials/3d/global_illumination/introduction_to_global_illumination.rst:328 #: ../../docs/tutorials/export/exporting_pcks.rst:171 -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:589 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:590 msgid "Summary" msgstr "" @@ -7148,10 +7157,10 @@ msgstr "" #: ../../docs/getting_started/first_3d_game/index.rst:72 #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:451 #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:334 -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:348 -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:370 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:346 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:375 #: ../../docs/getting_started/first_3d_game/07.killing_player.rst:514 -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:618 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:616 #: ../../docs/community/asset_library/using_assetlib.rst:186 #: ../../docs/community/asset_library/submitting_to_assetlib.rst:218 msgid "image0" @@ -7187,11 +7196,11 @@ msgstr "" #: ../../docs/getting_started/introduction/godot_design_philosophy.rst:175 #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:452 #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:335 -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:349 -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:371 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:347 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:376 #: ../../docs/getting_started/first_3d_game/07.killing_player.rst:515 #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:449 -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:619 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:617 #: ../../docs/community/asset_library/using_assetlib.rst:187 msgid "image1" msgstr "" @@ -7230,11 +7239,11 @@ msgstr "" #: ../../docs/getting_started/introduction/godot_design_philosophy.rst:176 #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:453 #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:336 -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:350 -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:372 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:348 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:377 #: ../../docs/getting_started/first_3d_game/07.killing_player.rst:516 #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:450 -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:620 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:618 #: ../../docs/community/asset_library/using_assetlib.rst:188 msgid "image2" msgstr "" @@ -7515,11 +7524,11 @@ msgstr "" #: ../../docs/getting_started/step_by_step/nodes_and_scenes.rst:75 msgid "" -"In an empty scene, the Scene dock on the left shows several options to add a " -"root node quickly. :button:`2D Scene` adds a :ref:`Node2D ` " -"node, :button:`3D Scene` adds a :ref:`Node3D ` node, " -"and :button:`User Interface` adds a :ref:`Control ` node. " -"These presets are here for convenience; they are not " +"In an empty scene, the :ui:`Scene` dock on the left shows several options to " +"add a root node quickly. :button:`2D Scene` adds a :ref:`Node2D " +"` node, :button:`3D Scene` adds a :ref:`Node3D ` " +"node, and :button:`User Interface` adds a :ref:`Control ` " +"node. These presets are here for convenience; they are not " "mandatory. :button:`Other Node` lets you select any node to be the root " "node. In an empty scene, :button:`Other Node` is equivalent to pressing " "the :button:`Add Child Node` button at the top-left of the Scene dock, which " @@ -7768,33 +7777,34 @@ msgstr "" msgid "" "Extract the archive on your computer. To import it, you need the Project " "Manager. The Project Manager is accessed by opening Godot, or if you already " -"have Godot opened, click on *Project -> Quit to Project List* (:kbd:`Ctrl + " -"Shift + Q`, :kbd:`Ctrl + Option + Cmd + Q` on macOS)" +"have Godot opened, click on :menu:`Project > Quit to Project List` " +"(:kbd:`Ctrl + Shift + Q`, :kbd:`Ctrl + Option + Cmd + Q` on macOS)" msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:57 +#: ../../docs/getting_started/step_by_step/instancing.rst:58 msgid "" -"In the Project Manager, click the *Import* button to import the project." +"In the Project Manager, click the :button:`Import` button to import the " +"project." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:61 +#: ../../docs/getting_started/step_by_step/instancing.rst:62 msgid "" "In the pop-up that appears navigate to the folder you extracted. Double-" "click the ``project.godot`` file to open it." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:66 -msgid "Finally, click the Import & Edit button." +#: ../../docs/getting_started/step_by_step/instancing.rst:67 +msgid "Finally, click the :button:`Import` button." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:70 -#: ../../docs/tutorials/scripting/singletons_autoload.rst:135 +#: ../../docs/getting_started/step_by_step/instancing.rst:71 msgid "" "A window notifying you that the project was last opened in an older Godot " -"version may appear, that's not an issue. Click *Ok* to open the project." +"version may appear, that's not an issue. Click :button:`Ok` to open the " +"project." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:73 +#: ../../docs/getting_started/step_by_step/instancing.rst:74 msgid "" "The project contains two packed scenes: ``main.tscn``, containing walls " "against which the ball collides, and ``ball.tscn``. The Main scene should " @@ -7802,7 +7812,7 @@ msgid "" "scene, click the 2D button at the top of the screen." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:81 +#: ../../docs/getting_started/step_by_step/instancing.rst:82 msgid "" "Let's add a ball as a child of the Main node. In the Scene dock, select the " "Main node. Then, click the link icon at the top of the scene dock. This " @@ -7810,25 +7820,25 @@ msgid "" "selected node." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:87 +#: ../../docs/getting_started/step_by_step/instancing.rst:88 msgid "Double-click the ball scene to instance it." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:91 +#: ../../docs/getting_started/step_by_step/instancing.rst:92 msgid "The ball appears in the top-left corner of the viewport." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:95 +#: ../../docs/getting_started/step_by_step/instancing.rst:96 msgid "Click on it and drag it towards the center of the view." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:99 +#: ../../docs/getting_started/step_by_step/instancing.rst:100 msgid "" "Play the game by pressing :kbd:`F5` (:kbd:`Cmd + B` on macOS). You should " "see it fall." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:101 +#: ../../docs/getting_started/step_by_step/instancing.rst:102 msgid "" "Now, we want to create more instances of the Ball node. With the ball still " "selected, press :kbd:`Ctrl + D` (:kbd:`Cmd + D` on macOS) to call the " @@ -7836,62 +7846,63 @@ msgid "" "location." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:107 +#: ../../docs/getting_started/step_by_step/instancing.rst:108 msgid "You can repeat this process until you have several in the scene." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:111 +#: ../../docs/getting_started/step_by_step/instancing.rst:112 msgid "" "Play the game again. You should now see every ball fall independently from " "one another. This is what instances do. Each is an independent reproduction " "of a template scene." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:116 +#: ../../docs/getting_started/step_by_step/instancing.rst:117 msgid "Editing scenes and instances" msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:118 +#: ../../docs/getting_started/step_by_step/instancing.rst:119 msgid "There is more to instances. With this feature, you can:" msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:120 +#: ../../docs/getting_started/step_by_step/instancing.rst:121 msgid "" -"Change the properties of one ball without affecting the others using the " -"Inspector." +"Change the properties of one ball without affecting the others using " +"the :ui:`Inspector`." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:122 +#: ../../docs/getting_started/step_by_step/instancing.rst:123 msgid "" "Change the default properties of every Ball by opening the ``ball.tscn`` " "scene and making a change to the Ball node there. Upon saving, all instances " "of the Ball in the project will see their values update." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:126 +#: ../../docs/getting_started/step_by_step/instancing.rst:127 msgid "" "Changing a property on an instance always overrides values from the " "corresponding packed scene." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:129 +#: ../../docs/getting_started/step_by_step/instancing.rst:130 msgid "" "Let's try this. Double-click ``ball.tscn`` in the FileSystem to open it." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:133 +#: ../../docs/getting_started/step_by_step/instancing.rst:134 msgid "" -"In the Scene dock on the left, select the Ball node. Then, in the Inspector " -"on the right, click on the PhysicsMaterial property to expand it." +"In the Scene dock on the left, select the Ball node. Then, in " +"the :ui:`Inspector` on the right, click on the :inspector:`PhysicsMaterial` " +"property to expand it." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:138 +#: ../../docs/getting_started/step_by_step/instancing.rst:139 msgid "" "Set its Bounce property to ``0.5`` by clicking on the number field, typing " "``0.5``, and pressing :kbd:`Enter`." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:143 +#: ../../docs/getting_started/step_by_step/instancing.rst:144 msgid "" "Play the game by pressing :kbd:`F5` (:kbd:`Cmd + B` on macOS) and notice how " "all balls now bounce a lot more. As the Ball scene is a template for all " @@ -7899,23 +7910,23 @@ msgid "" "accordingly." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:147 +#: ../../docs/getting_started/step_by_step/instancing.rst:148 msgid "" "Let's now adjust an individual instance. Head back to the Main scene by " "clicking on the corresponding tab above the viewport." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:152 +#: ../../docs/getting_started/step_by_step/instancing.rst:153 msgid "" -"Select one of the instanced Ball nodes and, in the Inspector, set its " -"Gravity Scale value to ``10``." +"Select one of the instanced Ball nodes and, in the :ui:`Inspector`, set " +"its :inspector:`Gravity Scale` value to ``10``." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:157 +#: ../../docs/getting_started/step_by_step/instancing.rst:158 msgid "A grey \"revert\" button appears next to the adjusted property." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:161 +#: ../../docs/getting_started/step_by_step/instancing.rst:162 msgid "" "This icon indicates you are overriding a value from the source packed scene. " "Even if you modify the property in the original scene, the value override " @@ -7923,40 +7934,41 @@ msgid "" "property to the value in the saved scene." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:166 +#: ../../docs/getting_started/step_by_step/instancing.rst:167 msgid "" "Rerun the game and notice how this ball now falls much faster than the " "others." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:170 +#: ../../docs/getting_started/step_by_step/instancing.rst:171 msgid "" -"You may notice you are unable to change the values of the PhysicsMaterial of " -"the ball. This is because PhysicsMaterial is a *resource*, and needs to be " -"made unique before you can edit it in a scene that is linking to its " -"original scene. To make a resource unique for one instance, right-click on " -"the **Physics Material** property in the Inspector and click **Make Unique** " -"in the context menu." +"You may notice you are unable to change the values of " +"the :inspector:`PhysicsMaterial` of the ball. This is " +"because :inspector:`PhysicsMaterial` is a *resource*, and needs to be made " +"unique before you can edit it in a scene that is linking to its original " +"scene. To make a resource unique for one instance, right-click on " +"the :inspector:`Physics Material` property in the :ui:`Inspector` and " +"click :button:`Make Unique` in the context menu." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:177 +#: ../../docs/getting_started/step_by_step/instancing.rst:178 msgid "" "Resources are another essential building block of Godot games we will cover " "in a later lesson." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:181 +#: ../../docs/getting_started/step_by_step/instancing.rst:182 msgid "Scene instances as a design language" msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:183 +#: ../../docs/getting_started/step_by_step/instancing.rst:184 msgid "" "Instances and scenes in Godot offer an excellent design language, setting " "the engine apart from others out there. We designed Godot around this " "concept from the ground up." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:187 +#: ../../docs/getting_started/step_by_step/instancing.rst:188 msgid "" "We recommend dismissing architectural code patterns when making games with " "Godot, such as Model-View-Controller (MVC) or Entity-Relationship diagrams. " @@ -7964,25 +7976,25 @@ msgid "" "game and structure your code around them." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:192 +#: ../../docs/getting_started/step_by_step/instancing.rst:193 msgid "For example, you could break down a shooter game like so:" msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:196 +#: ../../docs/getting_started/step_by_step/instancing.rst:197 msgid "" "You can come up with a diagram like this for almost any type of game. Each " "rectangle represents an entity that's visible in the game from the player's " "perspective. The arrows point towards the instantiator of each scene." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:200 +#: ../../docs/getting_started/step_by_step/instancing.rst:201 msgid "" "Once you have a diagram, we recommend creating a scene for each element " "listed in it to develop your game. You'll use instancing, either by code or " "directly in the editor, to build your tree of scenes." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:204 +#: ../../docs/getting_started/step_by_step/instancing.rst:205 msgid "" "Programmers tend to spend a lot of time designing abstract architectures and " "trying to fit components into it. Designing based on scenes makes " @@ -7992,13 +8004,13 @@ msgid "" "architectural code." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:210 +#: ../../docs/getting_started/step_by_step/instancing.rst:211 msgid "" "Here's the example of a scene diagram for an open-world game with tons of " "assets and nested elements:" msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:215 +#: ../../docs/getting_started/step_by_step/instancing.rst:216 msgid "" "Imagine we started by creating the room. We could make a couple of different " "room scenes, with unique arrangements of furniture in them. Later, we could " @@ -8008,13 +8020,13 @@ msgid "" "one or more sub-scenes." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:221 +#: ../../docs/getting_started/step_by_step/instancing.rst:222 msgid "" "Later, we could create scenes representing guards and add them to the " "citadel. They would be indirectly added to the overall game world." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:224 +#: ../../docs/getting_started/step_by_step/instancing.rst:225 msgid "" "With Godot, it's easy to iterate on your game like this, as all you need to " "do is create and instantiate more scenes. We designed the editor to be " @@ -8023,21 +8035,21 @@ msgid "" "designers, and animators, all working with the Godot editor." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:233 +#: ../../docs/getting_started/step_by_step/instancing.rst:234 msgid "" "Instancing, the process of producing an object from a blueprint, has many " "handy uses. With scenes, it gives you:" msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:236 +#: ../../docs/getting_started/step_by_step/instancing.rst:237 msgid "The ability to divide your game into reusable components." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:237 +#: ../../docs/getting_started/step_by_step/instancing.rst:238 msgid "A tool to structure and encapsulate complex systems." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:238 +#: ../../docs/getting_started/step_by_step/instancing.rst:239 msgid "" "A language to think about your game project's structure in a natural way." msgstr "" @@ -8323,8 +8335,8 @@ msgstr "" #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:44 msgid "" -"We need to create a Sprite2D node to display it in the game. In the Scene " -"dock, click the **Other Node** button." +"We need to create a Sprite2D node to display it in the game. In " +"the :ui:`Scene` dock, click the :button:`Other Node` button." msgstr "" #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:49 @@ -8334,15 +8346,15 @@ msgid "" msgstr "" #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:54 -msgid "Your Scene tab should now only have a Sprite2D node." +msgid "Your :ui:`Scene` tab should now only have a Sprite2D node." msgstr "" #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:58 msgid "" -"A Sprite2D node needs a texture to display. In the Inspector on the right, " -"you can see that the **Texture** property says ````. To display the " -"Godot icon, click and drag the file ``icon.svg`` from the FileSystem dock " -"onto the Texture slot." +"A Sprite2D node needs a texture to display. In the :ui:`Inspector` on the " +"right, you can see that the :inspector:`Texture` property says ````. " +"To display the Godot icon, click and drag the file ``icon.svg`` from the " +"FileSystem dock onto the Texture slot." msgstr "" #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:67 @@ -8363,20 +8375,20 @@ msgstr "" #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:77 msgid "" "To create and attach a new script to our node, right-click on Sprite2D in " -"the Scene dock and select **Attach Script**." +"the Scene dock and select :button:`Attach Script`." msgstr "" #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:82 msgid "" -"The **Attach Node Script** window appears. It allows you to select the " +"The :ui:`Attach Node Script` window appears. It allows you to select the " "script's language and file path, among other options." msgstr "" #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:85 msgid "" -"Change the **Template** field from ``Node: Default`` to ``Object: Empty`` to " -"start with a clean file. Leave the other options set to their default values " -"and click the **Create** button to create the script." +"Change the :ui:`Template` field from ``Node: Default`` to ``Object: Empty`` " +"to start with a clean file. Leave the other options set to their default " +"values and click the :button:`Create` button to create the script." msgstr "" #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:93 @@ -8387,8 +8399,8 @@ msgstr "" #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:96 msgid "" -"The Script workspace should appear with your new ``sprite_2d.gd`` file open " -"and the following line of code:" +"The :ui:`Script` workspace should appear with your new ``sprite_2d.gd`` file " +"open and the following line of code:" msgstr "" #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:113 @@ -8409,22 +8421,22 @@ msgstr "" #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:123 msgid "" -"Inherited properties include the ones you can see in the Inspector dock, " -"like our node's ``texture``." +"Inherited properties include the ones you can see in the :ui:`Inspector` " +"dock, like our node's ``texture``." msgstr "" #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:128 msgid "" -"By default, the Inspector displays a node's properties in \"Title Case\", " -"with capitalized words separated by a space. In GDScript code, these " +"By default, the :ui:`Inspector` displays a node's properties in \"Title " +"Case\", with capitalized words separated by a space. In GDScript code, these " "properties are in \"snake_case\", which is lowercase with words separated by " "an underscore." msgstr "" #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:132 msgid "" -"You can hover over any property's name in the Inspector to see a description " -"and its identifier in code." +"You can hover over any property's name in the :ui:`Inspector` to see a " +"description and its identifier in code." msgstr "" #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:136 @@ -8460,8 +8472,9 @@ msgstr "" #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:167 msgid "" "Save the scene as ``sprite_2d.tscn`` if you haven't already, then " -"press :kbd:`F6` (:kbd:`Cmd + R` on macOS) to run it. Look at the **Output** " -"bottom panel that expands. It should display \"Hello, world!\"." +"press :kbd:`F6` (:kbd:`Cmd + R` on macOS) to run it. Look at " +"the :ui:`Output` bottom panel that expands. It should display \"Hello, world!" +"\"." msgstr "" #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:173 @@ -8478,7 +8491,7 @@ msgstr "" msgid "" "It's time to make our node move and rotate. To do so, we're going to add two " "member variables to our script: the movement speed in pixels per second and " -"the angular speed in radians per second. Add the following after the " +"the angular speed in radians per second. Add the following after the " "``extends Sprite2D`` line." msgstr "" @@ -8626,7 +8639,7 @@ msgstr "" #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:312 #: ../../docs/getting_started/step_by_step/scripting_player_input.rst:132 -#: ../../docs/getting_started/step_by_step/signals.rst:368 +#: ../../docs/getting_started/step_by_step/signals.rst:369 msgid "Complete script" msgstr "" @@ -8713,8 +8726,9 @@ msgstr "" #: ../../docs/getting_started/step_by_step/scripting_player_input.rst:77 msgid "" -"You can see and edit input actions in your project by going to Project -> " -"Project Settings and clicking on the Input Map tab." +"You can see and edit input actions in your project by going " +"to :menu:`Project > Project Settings` and clicking on the :ui:`Input Map` " +"tab." msgstr "" #: ../../docs/getting_started/step_by_step/scripting_player_input.rst:80 @@ -8901,13 +8915,13 @@ msgid "" msgstr "" #: ../../docs/getting_started/step_by_step/signals.rst:61 -msgid "Create a new scene by going to the menu Scene -> New Scene." +msgid "Create a new scene by going to the menu :menu:`Scene > New Scene`." msgstr "" #: ../../docs/getting_started/step_by_step/signals.rst:65 msgid "" -"In the Scene dock, click the 2D Scene button. This will add a :ref:`Node2D " -"` as our root." +"In the Scene dock, click the :button:`2D Scene` button. This will add " +"a :ref:`Node2D ` as our root." msgstr "" #: ../../docs/getting_started/step_by_step/signals.rst:70 @@ -8919,7 +8933,7 @@ msgstr "" #: ../../docs/getting_started/step_by_step/signals.rst:75 msgid "" "We want to add another node as a sibling of the Sprite2D. To do so, right-" -"click on Node2D and select Add Child Node." +"click on Node2D and select :button:`Add Child Node`." msgstr "" #: ../../docs/getting_started/step_by_step/signals.rst:80 @@ -8944,8 +8958,8 @@ msgstr "" #: ../../docs/getting_started/step_by_step/signals.rst:95 msgid "" -"You can also write a label on the Button by editing its Text property in the " -"Inspector. Enter ``Toggle motion``." +"You can also write a label on the Button by editing its :inspector:`Text` " +"property in the :ui:`Inspector`. Enter ``Toggle motion``." msgstr "" #: ../../docs/getting_started/step_by_step/signals.rst:100 @@ -8973,20 +8987,20 @@ msgstr "" #: ../../docs/getting_started/step_by_step/signals.rst:117 msgid "" -"You can connect signals in the Node dock. Select the Button node and, on the " -"right side of the editor, click on the tab named \"Node\" next to the " -"Inspector." +"You can connect signals in the :ui:`Node` dock. Select the Button node and, " +"on the right side of the editor, click on the tab named :ui:`Node` next to " +"the :ui:`Inspector`." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:122 +#: ../../docs/getting_started/step_by_step/signals.rst:123 msgid "The dock displays a list of signals available on the selected node." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:126 +#: ../../docs/getting_started/step_by_step/signals.rst:127 msgid "Double-click the \"pressed\" signal to open the node connection window." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:130 +#: ../../docs/getting_started/step_by_step/signals.rst:131 msgid "" "There, you can connect the signal to the Sprite2D node. The node needs a " "receiver method, a function that Godot will call when the Button emits the " @@ -8995,48 +9009,48 @@ msgid "" "\"_on_button_pressed\"." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:137 +#: ../../docs/getting_started/step_by_step/signals.rst:138 msgid "" "When connecting signals via the editor's Node dock, you can use two modes. " "The simple one only allows you to connect to nodes that have a script " "attached to them and creates a new callback function on them." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:143 +#: ../../docs/getting_started/step_by_step/signals.rst:144 msgid "" "The advanced view lets you connect to any node and any built-in function, " "add arguments to the callback, and set options. You can toggle the mode in " -"the window's bottom-right by clicking the Advanced button." +"the window's bottom-right by clicking the :button:`Advanced` button." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:150 +#: ../../docs/getting_started/step_by_step/signals.rst:151 msgid "" "If you are using an external editor (such as VS Code), this automatic code " "generation might not work. In this case, you need to connect the signal via " "code as explained in the next section." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:154 +#: ../../docs/getting_started/step_by_step/signals.rst:155 msgid "" -"Click the Connect button to complete the signal connection and jump to the " -"Script workspace. You should see the new method with a connection icon in " -"the left margin." +"Click the :button:`Connect` button to complete the signal connection and " +"jump to the :ui:`Script` workspace. You should see the new method with a " +"connection icon in the left margin." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:160 +#: ../../docs/getting_started/step_by_step/signals.rst:161 msgid "" "If you click the icon, a window pops up and displays information about the " "connection. This feature is only available when connecting nodes in the " "editor." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:165 +#: ../../docs/getting_started/step_by_step/signals.rst:166 msgid "" "Let's replace the line with the ``pass`` keyword with code that'll toggle " "the node's motion." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:168 +#: ../../docs/getting_started/step_by_step/signals.rst:169 msgid "" "Our Sprite2D moves thanks to code in the ``_process()`` function. Godot " "provides a method to toggle processing on and off: :ref:`Node.set_process() " @@ -9045,90 +9059,90 @@ msgid "" "use the ``not`` keyword to invert the value." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:188 +#: ../../docs/getting_started/step_by_step/signals.rst:189 msgid "" "This function will toggle processing and, in turn, the icon's motion on and " "off upon pressing the button." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:191 +#: ../../docs/getting_started/step_by_step/signals.rst:192 msgid "" "Before trying the game, we need to simplify our ``_process()`` function to " "move the node automatically and not wait for user input. Replace it with the " "following code, which we saw two lessons ago:" msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:212 +#: ../../docs/getting_started/step_by_step/signals.rst:213 msgid "Your complete ``sprite_2d.gd`` code should look like the following." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:255 +#: ../../docs/getting_started/step_by_step/signals.rst:256 msgid "" "Run the current scene by pressing :kbd:`F6` (:kbd:`Cmd + R` on macOS), and " "click the button to see the sprite start and stop." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:259 +#: ../../docs/getting_started/step_by_step/signals.rst:260 msgid "Connecting a signal via code" msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:261 +#: ../../docs/getting_started/step_by_step/signals.rst:262 msgid "" "You can connect signals via code instead of using the editor. This is " "necessary when you create nodes or instantiate scenes inside of a script." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:264 +#: ../../docs/getting_started/step_by_step/signals.rst:265 msgid "" "Let's use a different node here. Godot has a :ref:`Timer ` node " "that's useful to implement skill cooldown times, weapon reloading, and more." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:267 +#: ../../docs/getting_started/step_by_step/signals.rst:268 msgid "" "Head back to the 2D workspace. You can either click the \"2D\" text at the " "top of the window or press :kbd:`Ctrl + F1` (:kbd:`Ctrl + Cmd + 1` on macOS)." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:270 +#: ../../docs/getting_started/step_by_step/signals.rst:271 msgid "" "In the Scene dock, right-click on the Sprite2D node and add a new child " "node. Search for Timer and add the corresponding node. Your scene should now " "look like this." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:276 +#: ../../docs/getting_started/step_by_step/signals.rst:277 msgid "" -"With the Timer node selected, go to the Inspector and enable the " -"**Autostart** property." +"With the Timer node selected, go to the :ui:`Inspector` and enable " +"the :inspector:`Autostart` property." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:281 +#: ../../docs/getting_started/step_by_step/signals.rst:282 msgid "" "Click the script icon next to Sprite2D to jump back to the scripting " "workspace." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:285 +#: ../../docs/getting_started/step_by_step/signals.rst:286 msgid "We need to do two operations to connect the nodes via code:" msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:287 +#: ../../docs/getting_started/step_by_step/signals.rst:288 msgid "Get a reference to the Timer from the Sprite2D." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:288 +#: ../../docs/getting_started/step_by_step/signals.rst:289 msgid "Call the ``connect()`` method on the Timer's \"timeout\" signal." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:290 +#: ../../docs/getting_started/step_by_step/signals.rst:291 msgid "" "To connect to a signal via code, you need to call the ``connect()`` method " "of the signal you want to listen to. In this case, we want to listen to the " "Timer's \"timeout\" signal." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:294 +#: ../../docs/getting_started/step_by_step/signals.rst:295 msgid "" "We want to connect the signal when the scene is instantiated, and we can do " "that using the :ref:`Node._ready() ` built-" @@ -9136,14 +9150,14 @@ msgid "" "fully instantiated." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:298 +#: ../../docs/getting_started/step_by_step/signals.rst:299 msgid "" "To get a reference to a node relative to the current one, we use the " "method :ref:`Node.get_node() `. We can store the " "reference in a variable." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:315 +#: ../../docs/getting_started/step_by_step/signals.rst:316 msgid "" "The function ``get_node()`` looks at the Sprite2D's children and gets nodes " "by their name. For example, if you renamed the Timer node to " @@ -9151,12 +9165,12 @@ msgid "" "``get_node(\"BlinkingTimer\")``." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:321 +#: ../../docs/getting_started/step_by_step/signals.rst:322 msgid "" "We can now connect the Timer to the Sprite2D in the ``_ready()`` function." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:338 +#: ../../docs/getting_started/step_by_step/signals.rst:339 msgid "" "The line reads like so: we connect the Timer's \"timeout\" signal to the " "node to which the script is attached. When the Timer emits ``timeout``, we " @@ -9165,43 +9179,43 @@ msgid "" "visibility." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:343 +#: ../../docs/getting_started/step_by_step/signals.rst:344 msgid "" "By convention, we name these callback methods in GDScript as " "\"_on_node_name_signal_name\" and in C# as \"OnNodeNameSignalName\". Here, " "it'll be \"_on_timer_timeout\" for GDScript and OnTimerTimeout() for C#." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:360 +#: ../../docs/getting_started/step_by_step/signals.rst:361 msgid "" "The ``visible`` property is a boolean that controls the visibility of our " "node. The line ``visible = not visible`` toggles the value. If ``visible`` " "is ``true``, it becomes ``false``, and vice-versa." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:364 +#: ../../docs/getting_started/step_by_step/signals.rst:365 msgid "" "If you run the Node2D scene now, you will see that the sprite blinks on and " "off, at one second intervals." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:370 +#: ../../docs/getting_started/step_by_step/signals.rst:371 msgid "" "That's it for our little moving and blinking Godot icon demo! Here is the " "complete ``sprite_2d.gd`` file for reference." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:435 +#: ../../docs/getting_started/step_by_step/signals.rst:436 msgid "Custom signals" msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:437 +#: ../../docs/getting_started/step_by_step/signals.rst:438 msgid "" "This section is a reference on how to define and use your own signals, and " "does not build upon the project created in previous lessons." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:440 +#: ../../docs/getting_started/step_by_step/signals.rst:441 msgid "" "You can define custom signals in a script. Say, for example, that you want " "to show a game over screen when the player's health reaches zero. To do so, " @@ -9209,29 +9223,29 @@ msgid "" "health reaches 0." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:466 +#: ../../docs/getting_started/step_by_step/signals.rst:467 msgid "" "As signals represent events that just occurred, we generally use an action " "verb in the past tense in their names." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:469 +#: ../../docs/getting_started/step_by_step/signals.rst:470 msgid "" -"Your signals work the same way as built-in ones: they appear in the Node tab " -"and you can connect to them like any other." +"Your signals work the same way as built-in ones: they appear in " +"the :ui:`Node` tab and you can connect to them like any other." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:474 +#: ../../docs/getting_started/step_by_step/signals.rst:475 msgid "To emit a signal in your scripts, call ``emit()`` on the signal." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:496 +#: ../../docs/getting_started/step_by_step/signals.rst:497 msgid "" "A signal can optionally declare one or more arguments. Specify the argument " "names between parentheses:" msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:522 +#: ../../docs/getting_started/step_by_step/signals.rst:523 msgid "" "The signal arguments show up in the editor's node dock, and Godot can use " "them to generate callback functions for you. However, you can still emit any " @@ -9239,34 +9253,34 @@ msgid "" "correct values." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:527 +#: ../../docs/getting_started/step_by_step/signals.rst:528 msgid "" "To emit values along with the signal, add them as extra arguments to the " "``emit()`` function:" msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:550 +#: ../../docs/getting_started/step_by_step/signals.rst:551 msgid "" "Any node in Godot emits signals when something specific happens to them, " "like a button being pressed. Other nodes can connect to individual signals " "and react to selected events." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:554 +#: ../../docs/getting_started/step_by_step/signals.rst:555 msgid "" "Signals have many uses. With them, you can react to a node entering or " "exiting the game world, to a collision, to a character entering or leaving " "an area, to an element of the interface changing size, and much more." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:558 +#: ../../docs/getting_started/step_by_step/signals.rst:559 msgid "" "For example, an :ref:`Area2D ` representing a coin emits a " "``body_entered`` signal whenever the player's physics body enters its " "collision shape, allowing you to know when the player collected it." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:562 +#: ../../docs/getting_started/step_by_step/signals.rst:563 msgid "" "In the next section, :ref:`doc_your_first_2d_game`, you'll create a complete " "2D game and put everything you learned so far into practice." @@ -11058,8 +11072,8 @@ msgstr "" #: ../../docs/getting_started/first_3d_game/01.game_setup.rst:29 msgid "" "A window notifying you that the project was generated by an older Godot " -"version may appear. Click *Convert Full Project* to convert the project to " -"your current Godot version." +"version may appear. Click *OK* to convert the project to your current Godot " +"version." msgstr "" #: ../../docs/getting_started/first_3d_game/01.game_setup.rst:34 @@ -11224,8 +11238,7 @@ msgid "" msgstr "" #: ../../docs/getting_started/first_3d_game/01.game_setup.rst:150 -msgid "" -"In the *Inspector*, turn on *Shadow -> Enabled* by clicking the checkbox." +msgid "In the *Inspector*, turn on *Shadow* by clicking the checkbox." msgstr "" #: ../../docs/getting_started/first_3d_game/01.game_setup.rst:154 @@ -11663,11 +11676,11 @@ msgid "|image3|" msgstr "" #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:454 -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:351 -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:373 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:349 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:378 #: ../../docs/getting_started/first_3d_game/07.killing_player.rst:517 #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:451 -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:621 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:619 #: ../../docs/community/asset_library/using_assetlib.rst:189 msgid "image3" msgstr "" @@ -11692,11 +11705,11 @@ msgstr "" #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:455 #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:337 -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:352 -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:374 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:350 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:379 #: ../../docs/getting_started/first_3d_game/07.killing_player.rst:518 #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:452 -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:622 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:620 #: ../../docs/community/asset_library/using_assetlib.rst:190 msgid "image4" msgstr "" @@ -11717,15 +11730,15 @@ msgstr "" #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:397 #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:91 #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:195 -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:93 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:96 #: ../../docs/community/asset_library/using_assetlib.rst:164 msgid "|image11|" msgstr "" #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:462 -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:359 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:357 #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:459 -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:629 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:627 #: ../../docs/community/asset_library/using_assetlib.rst:197 msgid "image11" msgstr "" @@ -11743,11 +11756,11 @@ msgstr "" #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:456 #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:338 -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:353 -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:375 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:351 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:380 #: ../../docs/getting_started/first_3d_game/07.killing_player.rst:519 #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:453 -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:623 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:621 #: ../../docs/community/asset_library/using_assetlib.rst:191 msgid "image5" msgstr "" @@ -11770,10 +11783,10 @@ msgstr "" #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:457 #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:339 -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:354 -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:376 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:352 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:381 #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:454 -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:624 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:622 #: ../../docs/community/asset_library/using_assetlib.rst:192 msgid "image6" msgstr "" @@ -11787,19 +11800,19 @@ msgstr "" #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:409 #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:99 #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:66 -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:189 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:186 #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:72 -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:59 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:62 #: ../../docs/community/asset_library/using_assetlib.rst:124 msgid "|image7|" msgstr "" #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:458 #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:340 -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:355 -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:377 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:353 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:382 #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:455 -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:625 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:623 #: ../../docs/community/asset_library/using_assetlib.rst:193 msgid "image7" msgstr "" @@ -11814,19 +11827,19 @@ msgstr "" #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:415 #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:222 #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:72 -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:194 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:190 #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:106 -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:64 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:67 #: ../../docs/community/asset_library/using_assetlib.rst:132 msgid "|image8|" msgstr "" #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:459 #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:341 -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:356 -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:378 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:354 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:383 #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:456 -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:626 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:624 #: ../../docs/community/asset_library/using_assetlib.rst:194 msgid "image8" msgstr "" @@ -11840,17 +11853,19 @@ msgstr "" #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:420 #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:227 #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:77 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:194 #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:167 -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:69 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:83 #: ../../docs/community/asset_library/using_assetlib.rst:153 msgid "|image9|" msgstr "" #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:460 #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:342 -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:357 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:355 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:384 #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:457 -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:627 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:625 #: ../../docs/community/asset_library/using_assetlib.rst:195 msgid "image9" msgstr "" @@ -11890,17 +11905,19 @@ msgstr "" #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:444 #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:231 #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:87 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:199 #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:191 -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:85 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:91 #: ../../docs/community/asset_library/using_assetlib.rst:159 msgid "|image10|" msgstr "" #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:461 #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:343 -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:358 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:356 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:385 #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:458 -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:628 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:626 #: ../../docs/community/asset_library/using_assetlib.rst:196 msgid "image10" msgstr "" @@ -12173,7 +12190,7 @@ msgstr "" #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:23 msgid "" "In the left menu, navigate down to *Display -> Window*. On the right, set " -"the *Width* to ``720`` and the *Height* to ``540``." +"the *Viewport Width* to ``720`` and the *Viewport Height* to ``540``." msgstr "" #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:29 @@ -12284,14 +12301,14 @@ msgstr "" #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:103 #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:200 -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:98 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:109 #: ../../docs/community/asset_library/using_assetlib.rst:172 msgid "|image12|" msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:360 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:358 #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:460 -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:630 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:628 #: ../../docs/community/asset_library/using_assetlib.rst:198 msgid "image12" msgstr "" @@ -12304,127 +12321,127 @@ msgstr "" #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:107 #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:214 -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:111 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:118 #: ../../docs/community/asset_library/using_assetlib.rst:179 msgid "|image13|" msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:361 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:359 #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:461 -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:631 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:629 #: ../../docs/community/asset_library/using_assetlib.rst:199 msgid "image13" msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:111 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:109 msgid "" "Click the sphere icon to open the material resource. You get a preview of " "the material and a long list of sections filled with properties. You can use " "these to create all sorts of surfaces, from metal to rock or water." msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:115 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:113 msgid "Expand the *Albedo* section." msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:119 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:117 msgid "" "Set the color to something that contrasts with the background, like a bright " "orange." msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:122 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:120 #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:221 -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:120 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:137 #: ../../docs/community/asset_library/using_assetlib.rst:126 msgid "|image14|" msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:362 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:360 #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:462 -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:632 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:630 #: ../../docs/community/asset_library/using_assetlib.rst:200 msgid "image14" msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:124 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:122 msgid "" "We can now use the cylinders as guides. Fold them in the *Scene* dock by " "clicking the grey arrow next to them. Moving forward, you can also toggle " "their visibility by clicking the eye icon next to *Cylinders*." msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:128 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:126 #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:310 -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:139 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:148 msgid "|image15|" msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:363 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:361 #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:463 -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:633 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:631 msgid "image15" msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:130 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:128 msgid "" "Add a child node :ref:`Path3D ` to ``Main`` node. In the " "toolbar, four icons appear. Click the *Add Point* tool, the icon with the " "green \"+\" sign." msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:133 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:131 #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:315 -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:150 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:153 msgid "|image16|" msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:364 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:362 #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:464 -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:634 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:632 msgid "image16" msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:135 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:133 msgid "You can hover any icon to see a tooltip describing the tool." msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:137 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:135 msgid "" "Click in the center of each cylinder to create a point. Then, click the " "*Close Curve* icon in the toolbar to close the path. If any point is a bit " "off, you can click and drag on it to reposition it." msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:141 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:139 #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:322 -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:155 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:159 msgid "|image17|" msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:365 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:363 #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:465 -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:635 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:633 msgid "image17" msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:143 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:141 msgid "Your path should look like this." msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:145 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:143 #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:333 -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:161 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:166 msgid "|image18|" msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:366 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:364 #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:466 -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:636 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:634 msgid "image18" msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:147 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:145 msgid "" "To sample random positions on it, we need a :ref:`PathFollow3D " "` node. Add a :ref:`PathFollow3D ` " @@ -12433,37 +12450,37 @@ msgid "" "for." msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:151 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:149 #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:342 -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:168 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:170 msgid "|image19|" msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:367 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:365 #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:467 -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:637 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:635 msgid "image19" msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:153 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:151 msgid "With that, we're ready to code the spawn mechanism." msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:156 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:154 msgid "Spawning monsters randomly" msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:158 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:156 msgid "Right-click on the ``Main`` node and attach a new script to it." msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:160 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:158 msgid "" "We first export a variable to the *Inspector* so that we can assign " "``mob.tscn`` or any other monster to it." msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:182 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:180 msgid "" "We want to spawn mobs at regular time intervals. To do this, we need to go " "back to the scene and add a timer. Before that, though, we need to assign " @@ -12471,57 +12488,55 @@ msgid "" "null!)" msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:186 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:184 msgid "" "Head back to the 3D screen and select the ``Main`` node. Drag ``mob.tscn`` " "from the *FileSystem* dock to the *Mob Scene* slot in the *Inspector*." msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:189 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:187 #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:348 -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:172 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:174 msgid "|image20|" msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:368 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:366 #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:468 -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:638 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:636 msgid "image20" msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:191 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:189 msgid "" "Add a new :ref:`Timer ` node as a child of ``Main``. Name it " "``MobTimer``." msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:193 -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:176 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:191 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:198 msgid "|image21|" msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:369 -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:639 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:367 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:637 msgid "image21" msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:195 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:193 msgid "" "In the *Inspector*, set its *Wait Time* to ``0.5`` seconds and turn on " "*Autostart* so it automatically starts when we run the game." msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:198 -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:200 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:196 msgid "|image22|" msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:370 -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:640 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:368 msgid "image22" msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:200 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:198 msgid "" "Timers emit a ``timeout`` signal every time they reach the end of their " "*Wait Time*. By default, they restart automatically, emitting the signal in " @@ -12529,65 +12544,65 @@ msgid "" "monsters every ``0.5`` seconds." msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:205 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:203 msgid "" "With the *MobTimer* still selected, head to the *Node* dock on the right, " "and double-click the ``timeout`` signal." msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:208 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:206 msgid "|image23|" msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:371 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:369 msgid "image23" msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:210 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:208 msgid "Connect it to the *Main* node." msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:212 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:210 msgid "|image24|" msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:372 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:370 msgid "image24" msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:214 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:212 msgid "" "This will take you back to the script, with a new empty " "``_on_mob_timer_timeout()`` function." msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:217 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:215 msgid "Let's code the mob spawning logic. We're going to:" msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:219 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:217 msgid "Instantiate the mob scene." msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:220 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:218 msgid "Sample a random position on the spawn path." msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:221 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:219 msgid "Get the player's position." msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:222 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:220 msgid "" "Call the mob's ``initialize()`` method, passing it the random position and " "the player's position." msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:224 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:222 msgid "Add the mob as a child of the *Main* node." msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:266 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:264 msgid "" "Above, ``randf()`` produces a random value between ``0`` and ``1``, which is " "what the *PathFollow* node's ``progress_ratio`` expects: 0 is the start of " @@ -12596,35 +12611,35 @@ msgid "" "alongside the edges of the viewport!" msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:272 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:270 msgid "" "Note that if you remove the ``Player`` from the main scene, the following " "line" msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:284 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:282 msgid "gives an error because there is no $Player!" msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:286 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:284 msgid "Here is the complete ``main.gd`` script so far, for reference." msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:340 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:338 msgid "" "You can test the scene by pressing :kbd:`F6`. You should see the monsters " "spawn and move in a straight line." msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:343 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:341 msgid "|image25|" msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:373 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:371 msgid "image25" msgstr "" -#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:345 +#: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:343 msgid "" "For now, they bump and slide against one another when their paths cross. " "We'll address this in the next part." @@ -12850,43 +12865,46 @@ msgid "" "Open the scene ``mob.tscn`` again and select the *Mob* node. Go to the " "*Node* dock on the right to see a list of signals. The *Node* dock has two " "tabs: *Signals*, which you've already used, and *Groups*, which allows you " -"to assign tags to nodes." +"to assign tags to nodes. Click on the *+* button to open the *Create new " +"Group* dialog." msgstr "" -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:186 -msgid "" -"Click on it to reveal a field where you can write a tag name. Enter \"mob\" " -"in the field and click the *Add* button." +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:188 +msgid "Enter \"mob\" in the *Name* field and click the *Ok* button." msgstr "" -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:191 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:192 +msgid "The \"mob\" group is now shown under the *Scene Groups* section." +msgstr "" + +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:196 msgid "" "An icon appears in the *Scene* dock to indicate the node is part of at least " "one group." msgstr "" -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:196 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:201 msgid "" "We can now use the group from the code to distinguish collisions with " "monsters from collisions with the floor." msgstr "" -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:200 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:205 msgid "Coding the squash mechanic" msgstr "" -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:202 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:207 msgid "Head back to the *Player* script to code the squash and bounce." msgstr "" -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:204 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:209 msgid "" "At the top of the script, we need another property, ``bounce_impulse``. When " "squashing an enemy, we don't necessarily want the character to go as high up " "as when jumping." msgstr "" -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:223 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:228 msgid "" "Then, after the **Jumping** codeblock we added above in " "``_physics_process()``, add the following loop. With ``move_and_slide()``, " @@ -12895,30 +12913,30 @@ msgid "" "happened." msgstr "" -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:228 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:233 msgid "" "In every iteration of the loop, we check if we landed on a mob. If so, we " "kill it and bounce." msgstr "" -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:231 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:236 msgid "" "With this code, if no collisions occurred on a given frame, the loop won't " "run." msgstr "" -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:293 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:298 msgid "That's a lot of new functions. Here's some more information about them." msgstr "" -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:295 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:300 msgid "" "The functions ``get_slide_collision_count()`` and ``get_slide_collision()`` " "both come from the :ref:`CharacterBody3D ` class and " "are related to ``move_and_slide()``." msgstr "" -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:299 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:304 msgid "" "``get_slide_collision()`` returns " "a :ref:`KinematicCollision3D` object that holds " @@ -12928,12 +12946,12 @@ msgid "" "``collision.get_collider().is_in_group(\"mob\")``." msgstr "" -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:307 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:312 msgid "" "The method ``is_in_group()`` is available on every :ref:`Node`." msgstr "" -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:309 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:314 msgid "" "To check that we are landing on the monster, we use the vector dot product: " "``Vector3.UP.dot(collision.get_normal()) > 0.1``. The collision normal is a " @@ -12941,14 +12959,14 @@ msgid "" "The dot product allows us to compare it to the up direction." msgstr "" -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:314 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:319 msgid "" "With dot products, when the result is greater than ``0``, the two vectors " "are at an angle of fewer than 90 degrees. A value higher than ``0.1`` tells " "us that we are roughly above the monster." msgstr "" -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:318 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:323 msgid "" "After handling the squash and bounce logic, we terminate the loop early via " "the ``break`` statement to prevent further duplicate calls to " @@ -12956,13 +12974,13 @@ msgid "" "counting the score multiple times for one kill." msgstr "" -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:322 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:327 msgid "" "We are calling one undefined function, ``mob.squash()``, so we have to add " "it to the Mob class." msgstr "" -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:325 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:330 msgid "" "Open the script ``mob.gd`` by double-clicking on it in the *FileSystem* " "dock. At the top of the script, we want to define a new signal named " @@ -12970,25 +12988,25 @@ msgid "" "emit the signal and destroy the mob." msgstr "" -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:361 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:366 msgid "" "When using C#, Godot will create the appropriate events automatically for " "all Signals ending with `EventHandler`, see :ref:`C# Signals " "`." msgstr "" -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:363 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:368 msgid "We will use the signal to add points to the score in the next lesson." msgstr "" -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:365 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:370 msgid "" "With that, you should be able to kill monsters by jumping on them. You can " "press :kbd:`F5` to try the game and set ``main.tscn`` as your project's main " "scene." msgstr "" -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:368 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:373 msgid "However, the player won't die yet. We'll work on that in the next part." msgstr "" @@ -13626,7 +13644,7 @@ msgid "" "toolbar and the looping arrows, respectively." msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:644 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:641 msgid "Autoplay" msgstr "" @@ -13642,23 +13660,23 @@ msgid "" "Set the animation duration to ``1.2`` seconds in the top-right of the dock." msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:61 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:59 msgid "" "You should see the gray ribbon widen a bit. It shows you the start and end " "of your animation and the vertical blue line is your time cursor." msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:66 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:64 msgid "" "You can click and drag the slider in the bottom-right to zoom in and out of " "the timeline." msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:72 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:70 msgid "The float animation" msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:74 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:72 msgid "" "With the animation player node, you can animate most properties on as many " "nodes as you need. Notice the key icon next to properties in the " @@ -13667,80 +13685,80 @@ msgid "" "your time cursor is in the timeline." msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:80 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:78 msgid "" "Let's insert our first keys. Here, we will animate both the position and the " "rotation of the ``Character`` node." msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:83 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:81 msgid "" "Select the ``Character`` and in the *Inspector* expand the *Transform* " "section. Click the key icon next to *Position*, and *Rotation*." msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:89 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:87 msgid "" "For this tutorial, just create RESET Track(s) which is the default choice" msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:91 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:89 msgid "" "Two tracks appear in the editor with a diamond icon representing each " "keyframe." msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:95 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:93 msgid "" "You can click and drag on the diamonds to move them in time. Move the " "position key to ``0.3`` seconds and the rotation key to ``0.1`` seconds." msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:100 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:98 msgid "" "Move the time cursor to ``0.5`` seconds by clicking and dragging on the gray " -"timeline." +"timeline, or by entering it into the input field." msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:103 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:101 msgid "|timeline_05_click|" msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:643 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:640 msgid "timeline_05_click" msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:105 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:103 msgid "" "In the *Inspector*, set the *Position*'s *Y* axis to ``0.65`` meters and the " "*Rotation*' *X* axis to ``8``." msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:108 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:106 msgid "" "If you don't see the properties in the *Inspector* panel, first click on the " "``Character`` node again in the *Scene* dock." msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:113 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:111 msgid "Create a keyframe for both properties" msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:115 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:113 msgid "|second_keys_both|" msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:642 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:639 msgid "second_keys_both" msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:117 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:115 msgid "" "Now, move the position keyframe to ``0.7`` seconds by dragging it on the " "timeline." msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:124 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:122 msgid "" "A lecture on the principles of animation is beyond the scope of this " "tutorial. Just note that you don't want to time and space everything evenly. " @@ -13749,29 +13767,29 @@ msgid "" "make them feel alive." msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:130 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:128 msgid "" "Move the time cursor to the end of the animation, at ``1.2`` seconds. Set " "the Y position to about ``0.35`` and the X rotation to ``-9`` degrees. Once " "again, create a key for both properties." msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:134 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:132 msgid "|animation_final_keyframes|" msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:641 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:638 msgid "animation_final_keyframes" msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:136 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:134 msgid "" "You can preview the result by clicking the play button or " "pressing :kbd:`Shift + D`. Click the stop button or press :kbd:`S` to stop " "playback." msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:141 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:139 msgid "" "You can see that the engine interpolates between your keyframes to produce a " "continuous animation. At the moment, though, the motion feels very robotic. " @@ -13779,48 +13797,48 @@ msgid "" "transitions, unlike how living things move in the real world." msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:146 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:144 msgid "We can control the transition between keyframes using easing curves." msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:148 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:146 msgid "" "Click and drag around the first two keys in the timeline to box select them." msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:152 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:150 msgid "" "You can edit the properties of both keys simultaneously in the *Inspector*, " "where you can see an *Easing* property." msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:157 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:155 msgid "" "Click and drag on the curve, pulling it towards the left. This will make it " "ease-out, that is to say, transition fast initially and slow down as the " "time cursor reaches the next keyframe." msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:163 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:161 msgid "" "Play the animation again to see the difference. The first half should " "already feel a bit bouncier." msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:166 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:164 msgid "Apply an ease-out to the second keyframe in the rotation track." msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:170 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:168 msgid "" "Do the opposite for the second position keyframe, dragging it to the right." msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:174 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:172 msgid "Your animation should look something like this." msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:180 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:178 msgid "" "Animations update the properties of the animated nodes every frame, " "overriding initial values. If we directly animated the *Player* node, it " @@ -13829,66 +13847,66 @@ msgid "" "and rotate the *Pivot* and layer changes on top of the animation in a script." msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:187 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:185 msgid "If you play the game, the player's creature will now float!" msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:189 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:187 msgid "" "If the creature is a little too close to the floor, you can move the " "``Pivot`` up to offset it." msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:193 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:191 msgid "Controlling the animation in code" msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:195 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:193 msgid "" "We can use code to control the animation playback based on the player's " "input. Let's change the animation speed when the character is moving." msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:198 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:196 msgid "Open the ``Player``'s script by clicking the script icon next to it." msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:202 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:200 msgid "" "In ``_physics_process()``, after the line where we check the ``direction`` " "vector, add the following code." msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:232 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:230 msgid "" "This code makes it so when the player moves, we multiply the playback speed " "by ``4``. When they stop, we reset it to normal." msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:235 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:233 msgid "" "We mentioned that the ``Pivot`` could layer transforms on top of the " "animation. We can make the character arc when jumping using the following " "line of code. Add it at the end of ``_physics_process()``." msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:256 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:254 msgid "Animating the mobs" msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:258 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:256 msgid "" "Here's another nice trick with animations in Godot: as long as you use a " "similar node structure, you can copy them to different scenes." msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:261 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:259 msgid "" "For example, both the ``Mob`` and the ``Player`` scenes have a ``Pivot`` and " "a ``Character`` node, so we can reuse animations between them." msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:264 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:262 msgid "" "Open the *Player* scene, select the AnimationPlayer node and then click on " "**Animation > Manage Animations...**. Click the *Copy animation to " @@ -13896,7 +13914,7 @@ msgid "" "OK to close the window." msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:268 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:266 msgid "" "Then open ``mob.tscn``, create an :ref:`AnimationPlayer " "` child node and select it. Click **Animation > " @@ -13906,40 +13924,40 @@ msgid "" "OK to close the window." msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:274 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:272 msgid "" "Next, make sure that the autoplay button (|Autoplay|) and the looping arrows " "(Animation looping) are also turned on in the animation editor in the bottom " "panel. That's it; all monsters will now play the float animation." msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:278 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:276 msgid "" "We can change the playback speed based on the creature's ``random_speed``. " "Open the *Mob*'s script and at the end of the ``initialize()`` function, add " "the following line." msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:296 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:294 msgid "And with that, you finished coding your first complete 3D game." msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:298 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:296 msgid "**Congratulations**!" msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:300 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:298 msgid "" "In the next part, we'll quickly recap what you learned and give you some " "links to keep learning more. But for now, here are the complete " "``player.gd`` and ``mob.gd`` so you can check your code against them." msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:304 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:302 msgid "Here's the *Player* script." msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:519 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:517 msgid "And the *Mob*'s script." msgstr "" @@ -16694,12 +16712,12 @@ msgstr "" #: ../../docs/tutorials/export/exporting_for_ios.rst:143 #: ../../docs/tutorials/export/one-click_deploy.rst:100 #: ../../docs/tutorials/inputs/controllers_gamepads_joysticks.rst:275 -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:433 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:432 #: ../../docs/contributing/development/compiling/compiling_for_macos.rst:258 #: ../../docs/contributing/development/compiling/compiling_for_android.rst:265 #: ../../docs/contributing/development/compiling/compiling_for_ios.rst:88 #: ../../docs/contributing/development/compiling/compiling_with_script_encryption_key.rst:77 -#: ../../docs/contributing/development/editor/creating_icons.rst:77 +#: ../../docs/contributing/development/editor/creating_icons.rst:82 msgid "Troubleshooting" msgstr "" @@ -17498,7 +17516,7 @@ msgstr "" #: ../../docs/tutorials/editor/project_manager.rst:166 #: ../../docs/tutorials/migrating/upgrading_to_godot_4.1.rst:176 #: ../../docs/tutorials/migrating/upgrading_to_godot_4.3.rst:210 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:133 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:152 #: ../../docs/tutorials/plugins/editor/index.rst:4 msgid "Editor plugins" msgstr "" @@ -22738,8 +22756,8 @@ msgstr "" #: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:58 #: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:108 #: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:218 -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:292 -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:352 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:299 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:359 #: ../../docs/tutorials/shaders/shader_reference/particle_shader.rst:34 #: ../../docs/tutorials/shaders/shader_reference/particle_shader.rst:58 #: ../../docs/tutorials/shaders/shader_reference/particle_shader.rst:84 @@ -24864,7 +24882,7 @@ msgid "PlaneShape" msgstr "" #: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:272 -#: ../../docs/tutorials/physics/using_jolt_physics.rst:202 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:193 msgid "WorldBoundaryShape3D" msgstr "" @@ -26375,7 +26393,7 @@ msgstr "" #: ../../docs/tutorials/migrating/upgrading_to_godot_4.2.rst:52 #: ../../docs/tutorials/migrating/upgrading_to_godot_4.3.rst:230 #: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:25 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:157 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:176 msgid "Core" msgstr "" @@ -26410,11 +26428,11 @@ msgstr "" #: ../../docs/tutorials/migrating/upgrading_to_godot_4.3.rst:201 #: ../../docs/tutorials/migrating/upgrading_to_godot_4.3.rst:213 #: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:28 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:64 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:78 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:88 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:124 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:136 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:83 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:97 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:107 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:143 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:155 msgid "Change" msgstr "" @@ -26448,11 +26466,11 @@ msgstr "" #: ../../docs/tutorials/migrating/upgrading_to_godot_4.3.rst:201 #: ../../docs/tutorials/migrating/upgrading_to_godot_4.3.rst:213 #: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:28 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:64 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:78 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:88 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:124 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:136 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:83 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:97 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:107 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:143 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:155 msgid "GDScript Compatible" msgstr "" @@ -26486,11 +26504,11 @@ msgstr "" #: ../../docs/tutorials/migrating/upgrading_to_godot_4.3.rst:201 #: ../../docs/tutorials/migrating/upgrading_to_godot_4.3.rst:213 #: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:28 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:64 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:78 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:88 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:124 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:136 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:83 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:97 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:107 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:143 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:155 msgid "C# Binary Compatible" msgstr "" @@ -26524,11 +26542,11 @@ msgstr "" #: ../../docs/tutorials/migrating/upgrading_to_godot_4.3.rst:201 #: ../../docs/tutorials/migrating/upgrading_to_godot_4.3.rst:213 #: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:28 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:64 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:78 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:88 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:124 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:136 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:83 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:97 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:107 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:143 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:155 msgid "C# Source Compatible" msgstr "" @@ -26563,11 +26581,11 @@ msgstr "" #: ../../docs/tutorials/migrating/upgrading_to_godot_4.3.rst:201 #: ../../docs/tutorials/migrating/upgrading_to_godot_4.3.rst:213 #: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:28 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:64 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:78 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:88 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:124 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:136 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:83 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:97 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:107 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:143 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:155 msgid "Introduced" msgstr "" @@ -26754,28 +26772,28 @@ msgstr "" #: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:51 #: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:53 #: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:55 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:67 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:68 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:70 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:81 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:91 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:93 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:95 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:97 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:99 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:101 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:102 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:103 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:105 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:107 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:108 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:86 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:87 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:89 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:100 #: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:110 #: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:112 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:114 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:116 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:118 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:120 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:121 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:122 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:124 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:126 #: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:127 #: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:129 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:139 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:140 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:141 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:131 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:146 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:148 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:158 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:159 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:160 msgid "|✔️|" msgstr "" @@ -26906,14 +26924,14 @@ msgstr "" #: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:44 #: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:45 #: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:48 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:71 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:100 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:107 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:108 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:110 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:112 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:143 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:145 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:90 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:119 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:126 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:127 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:129 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:131 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:162 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:164 msgid "|❌|" msgstr "" @@ -27025,25 +27043,25 @@ msgstr "" #: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:51 #: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:53 #: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:55 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:67 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:68 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:70 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:81 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:91 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:93 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:95 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:97 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:99 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:86 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:87 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:89 #: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:100 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:101 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:102 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:103 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:105 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:127 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:129 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:139 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:140 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:141 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:110 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:112 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:114 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:116 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:118 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:119 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:120 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:121 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:122 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:124 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:146 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:148 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:158 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:159 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:160 msgid "|✔️ with compat|" msgstr "" @@ -27160,7 +27178,7 @@ msgstr "" #: ../../docs/tutorials/migrating/upgrading_to_godot_4.2.rst:114 #: ../../docs/tutorials/migrating/upgrading_to_godot_4.3.rst:62 #: ../../docs/tutorials/migrating/upgrading_to_godot_4.3.rst:280 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:61 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:80 msgid "GUI nodes" msgstr "" @@ -27181,7 +27199,7 @@ msgstr "" #: ../../docs/tutorials/migrating/upgrading_to_godot_4.1.rst:95 #: ../../docs/tutorials/migrating/upgrading_to_godot_4.2.rst:123 #: ../../docs/tutorials/migrating/upgrading_to_godot_4.3.rst:141 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:66 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:85 msgid "**RichTextLabel**" msgstr "" @@ -27279,7 +27297,7 @@ msgstr "" #: ../../docs/tutorials/migrating/upgrading_to_godot_4.1.rst:127 #: ../../docs/tutorials/migrating/upgrading_to_godot_4.2.rst:139 #: ../../docs/tutorials/migrating/upgrading_to_godot_4.3.rst:93 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:98 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:117 msgid "**RenderingDevice**" msgstr "" @@ -27291,7 +27309,7 @@ msgstr "" #: ../../docs/tutorials/migrating/upgrading_to_godot_4.1.rst:129 #: ../../docs/tutorials/migrating/upgrading_to_godot_4.3.rst:110 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:104 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:123 msgid "**RenderingServer**" msgstr "" @@ -27378,7 +27396,7 @@ msgid "**NavigationObstacle3D**" msgstr "" #: ../../docs/tutorials/migrating/upgrading_to_godot_4.1.rst:155 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:126 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:145 msgid "**NavigationServer2D**" msgstr "" @@ -27401,7 +27419,7 @@ msgid "" msgstr "" #: ../../docs/tutorials/migrating/upgrading_to_godot_4.1.rst:159 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:128 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:147 msgid "**NavigationServer3D**" msgstr "" @@ -27432,7 +27450,7 @@ msgid "`GH-76413`_" msgstr "" #: ../../docs/tutorials/migrating/upgrading_to_godot_4.1.rst:183 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:138 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:157 msgid "**EditorInterface**" msgstr "" @@ -27482,7 +27500,7 @@ msgstr "" #: ../../docs/tutorials/migrating/upgrading_to_godot_4.1.rst:196 #: ../../docs/tutorials/migrating/upgrading_to_godot_4.3.rst:225 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:154 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:173 msgid "Behavior changes" msgstr "" @@ -28044,7 +28062,7 @@ msgid "GraphEdit" msgstr "" #: ../../docs/tutorials/migrating/upgrading_to_godot_4.2.rst:167 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:69 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:88 msgid "**GraphEdit**" msgstr "" @@ -28321,6 +28339,7 @@ msgstr "" #: ../../docs/tutorials/migrating/upgrading_to_godot_4.3.rst:44 #: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:129 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:232 msgid "**Animation**" msgstr "" @@ -29154,179 +29173,207 @@ msgid "`GH-98972`_" msgstr "" #: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:58 -msgid "Default buffer size in 4.3 is ``1024``." +msgid "**Export annotations**" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:67 -msgid "Method ``push_meta`` adds a new ``tooltip`` optional parameter" -msgstr "" - -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:67 -msgid "`GH-99481`_" +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:62 +msgid "" +"The behavior of ``@export_file`` changed in Godot 4.4. When assigning a new " +"value from the Inspector, the path is now stored and returned as a ``uid://" +"`` reference instead of the traditional ``res://`` path(`GH-97912`_). This " +"is a **breaking change** and may cause issues if you're expecting ``res://``-" +"based paths in scripts or serialized files." msgstr "" #: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:68 msgid "" -"Method ``set_table_column_expand`` adds a new ``shrink`` optional parameter" -msgstr "" - -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:68 -msgid "`GH-101482`_" -msgstr "" - -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:70 -msgid "Method ``connect_node`` adds a new ``keep_alive`` optional parameter" -msgstr "" - -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:70 -msgid "`GH-97449`_" +"For example, exported arrays of files may now contain a mix of ``uid://`` " +"and ``res://`` paths, especially if they were partially edited in the " +"Inspector." msgstr "" #: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:71 msgid "" +"In 4.4, the only way to retain the ``res://`` format is to **manually edit** " +"the `.tscn` or `.tres` files in a text editor. Starting in Godot 4.5, a new " +"annotation ``@export_file_path`` can be used to explicitly retain the old " +"behavior and export raw ``res://`` paths." +msgstr "" + +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:76 +msgid "Default buffer size in 4.3 is ``1024``." +msgstr "" + +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:86 +msgid "Method ``push_meta`` adds a new ``tooltip`` optional parameter" +msgstr "" + +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:86 +msgid "`GH-99481`_" +msgstr "" + +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:87 +msgid "" +"Method ``set_table_column_expand`` adds a new ``shrink`` optional parameter" +msgstr "" + +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:87 +msgid "`GH-101482`_" +msgstr "" + +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:89 +msgid "Method ``connect_node`` adds a new ``keep_alive`` optional parameter" +msgstr "" + +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:89 +msgid "`GH-97449`_" +msgstr "" + +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:90 +msgid "" "Signal ``frame_rect_changed`` changes ``new_rect`` parameter type from " "``Vector2`` to ``Rect2``" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:71 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:90 msgid "`GH-102796`_" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:80 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:99 msgid "**SoftBody3D**" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:81 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:100 msgid "Method ``set_point_pinned`` adds a new ``insert_at`` optional parameter" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:81 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:100 msgid "`GH-94684`_" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:90 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:109 msgid "**CPUParticles2D**" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:91 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:93 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:95 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:97 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:110 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:112 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:114 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:116 msgid "Method ``restart`` adds a new ``keep_seed`` optional parameter" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:91 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:93 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:95 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:97 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:110 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:112 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:114 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:116 msgid "`GH-92089`_" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:92 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:111 msgid "**CPUParticles3D**" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:94 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:113 msgid "**GPUParticles2D**" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:96 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:115 msgid "**GPUParticles3D**" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:99 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:118 msgid "Method ``draw_list_begin`` adds a new ``breadcrumb`` optional parameter" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:99 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:118 msgid "`GH-90993`_" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:100 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:119 msgid "Method ``draw_list_begin`` removes many parameters" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:100 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:119 msgid "`GH-98670`_" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:101 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:120 msgid "" "Method ``index_buffer_create`` adds a new ``enable_device_address`` optional " "parameter" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:101 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:102 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:103 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:120 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:121 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:122 msgid "`GH-100062`_" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:102 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:121 msgid "" "Method ``uniform_buffer_create`` adds a new ``enable_device_address`` " "optional parameter" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:103 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:122 msgid "" "Method ``vertex_buffer_create`` adds a new ``enable_device_address`` " "optional parameter" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:105 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:124 msgid "" "Method ``multimesh_allocate_data`` adds a new ``use_indirect`` optional " "parameter" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:105 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:124 msgid "`GH-99455`_" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:106 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:125 msgid "**Shader**" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:107 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:126 msgid "" "Method ``get_default_texture_parameter`` changes return type from " "``Texture2D`` to ``Texture``" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:107 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:108 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:110 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:112 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:126 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:127 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:129 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:131 msgid "`GH-95126`_" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:108 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:127 msgid "" "Method ``set_default_texture_parameter`` changes ``texture`` parameter type " "from ``Texture2D`` to ``Texture``" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:109 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:128 msgid "**VisualShaderNodeCubemap**" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:110 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:129 msgid "" "Property ``cube_map`` changes type from ``Cubemap`` to ``TextureLayered``" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:111 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:130 msgid "**VisualShaderNodeTexture2DArray**" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:112 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:131 msgid "" "Property ``texture_array`` changes type from ``Texture2DArray`` to " "``TextureLayered``" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:117 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:136 msgid "" "In C#, the enum ``RenderingDevice.StorageBufferUsage`` breaks compatibility " "because of the way the bindings generator detects the enum prefix. New " @@ -29334,94 +29381,94 @@ msgid "" "to be renamed." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:127 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:129 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:146 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:148 msgid "Method ``query_path`` adds a new ``callback`` optional parameter" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:127 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:129 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:146 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:148 msgid "`GH-100129`_" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:139 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:158 msgid "" "Method ``open_scene_from_path`` adds a new ``set_inherited`` optional " "parameter" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:139 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:158 msgid "`GH-90057`_" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:140 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:159 msgid "" "Method ``popup_node_selector`` adds a new ``current_value`` optional " "parameter" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:140 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:141 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:159 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:160 msgid "`GH-94323`_" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:141 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:160 msgid "" "Method ``popup_property_selector`` adds a new ``current_value`` optional " "parameter" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:142 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:161 msgid "**EditorSceneFormatImporter**" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:143 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:162 msgid "Method ``_get_import_flags`` removed" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:143 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:162 msgid "`GH-101531`_" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:144 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:163 msgid "**EditorTranslationParserPlugin**" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:145 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:164 msgid "" "Method ``_parse_file`` changes return type to ``Array`` and removes " "``msgids`` and ``msgids_context_plural`` parameters" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:145 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:164 msgid "`GH-99297`_" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:150 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:169 msgid "" "The method ``_get_import_flags`` was never used by the engine. It was " "removed despite the compatibility breakage as there's no way for users to " "rely on this affecting engine behavior." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:161 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:180 msgid "" "The ``Curve`` resource now enforces its value range, so ``min_value`` and " "``max_value`` need to be changed if any of the points fall outside of the " "default ``[0, 1]`` range." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:169 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:188 msgid "" "The ``VisualShaderNodeVec4Constant`` shader node had its input type changed " "to ``Vector4``. Users need to recreate the values in their constants." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:173 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:192 msgid "CSG" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:177 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:196 msgid "" "The CSG implementation now uses Emmett Lalish's `Manifold `_ library (`GH-94321`_). The new implementation " @@ -29431,7 +29478,7 @@ msgid "" "quads or planes." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:187 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.4.rst:206 msgid "" "Android sensor events are no longer enabled by default (`GH-94799`_). " "Projects that use sensor events can enable them as needed in Project " @@ -30981,7 +31028,7 @@ msgstr "" #: ../../docs/tutorials/2d/2d_meshes.rst:52 msgid "" -"Finally, push the ``Convert 2D Mesh`` button and your Sprite2D will be " +"Finally, push the :button:`Convert 2D Mesh` button and your Sprite2D will be " "replaced:" msgstr "" @@ -36506,7 +36553,7 @@ msgstr "" #: ../../docs/tutorials/3d/procedural_geometry/arraymesh.rst:37 #: ../../docs/tutorials/io/binary_serialization_api.rst:49 #: ../../docs/tutorials/io/binary_serialization_api.rst:496 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:926 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:928 #: ../../docs/tutorials/xr/xr_action_map.rst:140 #: ../../docs/tutorials/xr/xr_action_map.rst:229 msgid "1" @@ -43078,10 +43125,10 @@ msgid "" "To create an SDF collision node, add a new child node to your scene and " "select ``GPUParticlesCollisionSDF3D`` from the list of available nodes. SDF " "collision nodes have to be baked in order to have any effect on particles in " -"the level. To do that, click the ``Bake SDF`` button in the viewport toolbar " -"while the SDF collision node is selected and choose a directory to store the " -"baked data. Since SDF collision needs to be baked in the editor, it's static " -"and cannot change at runtime." +"the level. To do that, click the :button:`Bake SDF` button in the viewport " +"toolbar while the SDF collision node is selected and choose a directory to " +"store the baked data. Since SDF collision needs to be baked in the editor, " +"it's static and cannot change at runtime." msgstr "" #: ../../docs/tutorials/3d/particles/collision.rst:150 @@ -51996,35 +52043,58 @@ msgid "" msgstr "" #: ../../docs/tutorials/3d/using_gridmaps.rst:93 -msgid "MeshLibrary format" +msgid "Lightmaps" msgstr "" #: ../../docs/tutorials/3d/using_gridmaps.rst:95 msgid "" +"It is possible to bake lightmaps onto a GridMap. Lightmap UV2 data will be " +"reused from meshes if already present. If UV2 data is not present, then it " +"will be automatically generated on bake with a lightmap texel size of 0.1 " +"units. To generate UV2 data with a different lightmap texel size, you can " +"set the global illumination mode in the Import dock to **Static Lightmaps** " +"and specify the texel size there. This option must be changed *before* the " +"scene is converted to a MeshLibrary, as changing it later on will not affect " +"the existing MeshLibrary data." +msgstr "" + +#: ../../docs/tutorials/3d/using_gridmaps.rst:104 +msgid "" +"Aside from this peculiarity, the lightmap baking process is the same as for " +"any other 3D scene. See :ref:`doc_using_lightmap_gi` for more information " +"about lightmap baking." +msgstr "" + +#: ../../docs/tutorials/3d/using_gridmaps.rst:108 +msgid "MeshLibrary format" +msgstr "" + +#: ../../docs/tutorials/3d/using_gridmaps.rst:110 +msgid "" "To summarize the specific constraints of the MeshLibrary format, a " "MeshLibrary scene has a Node3D as the root node, and several child nodes " "which will become MeshLibrary items. Each child of the root node should:" msgstr "" -#: ../../docs/tutorials/3d/using_gridmaps.rst:99 +#: ../../docs/tutorials/3d/using_gridmaps.rst:114 msgid "" "Be a :ref:`class_MeshInstance3D`, which will become the MeshLibrary item. " "Only this visual mesh will be exported." msgstr "" -#: ../../docs/tutorials/3d/using_gridmaps.rst:101 +#: ../../docs/tutorials/3d/using_gridmaps.rst:116 msgid "" "Have a material, in the mesh's material slot, *not* the MeshInstance3D's " "material slots." msgstr "" -#: ../../docs/tutorials/3d/using_gridmaps.rst:103 +#: ../../docs/tutorials/3d/using_gridmaps.rst:118 msgid "" "Have up to one :ref:`class_StaticBody3D` child, for collision. The " "StaticBody3D should have one or more :ref:`class_CollisionShape3D` children." msgstr "" -#: ../../docs/tutorials/3d/using_gridmaps.rst:105 +#: ../../docs/tutorials/3d/using_gridmaps.rst:120 msgid "" "Have up to one :ref:`class_NavigationRegion3D` child, for navigation. The " "NavigationRegion3D can have one or more " @@ -52032,7 +52102,7 @@ msgid "" "navigation, but won't be exported as a visual mesh." msgstr "" -#: ../../docs/tutorials/3d/using_gridmaps.rst:110 +#: ../../docs/tutorials/3d/using_gridmaps.rst:125 msgid "" "Only this specific format is recognized. Other node types placed as children " "will not be recognized and exported. GridMap is not a general-purpose system " @@ -52040,185 +52110,185 @@ msgid "" "designed to place *meshes* with collisions and navigation." msgstr "" -#: ../../docs/tutorials/3d/using_gridmaps.rst:116 +#: ../../docs/tutorials/3d/using_gridmaps.rst:131 msgid "Exporting the MeshLibrary" msgstr "" -#: ../../docs/tutorials/3d/using_gridmaps.rst:118 +#: ../../docs/tutorials/3d/using_gridmaps.rst:133 msgid "" "To export the library, click on **Scene > Export As... > MeshLibrary...**, " "and save it as a resource." msgstr "" -#: ../../docs/tutorials/3d/using_gridmaps.rst:123 +#: ../../docs/tutorials/3d/using_gridmaps.rst:138 msgid "" "You can find an already exported MeshLibrary in the project named " -"\"MeshLibrary.tres\"." +"``MeshLibrary.tres``." msgstr "" -#: ../../docs/tutorials/3d/using_gridmaps.rst:126 +#: ../../docs/tutorials/3d/using_gridmaps.rst:141 msgid "Using GridMap" msgstr "" -#: ../../docs/tutorials/3d/using_gridmaps.rst:128 +#: ../../docs/tutorials/3d/using_gridmaps.rst:143 msgid "" "Create a new scene and add a GridMap node. Add the mesh library by dragging " "the resource file from the FileSystem dock and dropping it in the **Mesh " "Library** property in the Inspector." msgstr "" -#: ../../docs/tutorials/3d/using_gridmaps.rst:135 +#: ../../docs/tutorials/3d/using_gridmaps.rst:150 msgid "Inspector properties" msgstr "" -#: ../../docs/tutorials/3d/using_gridmaps.rst:137 +#: ../../docs/tutorials/3d/using_gridmaps.rst:152 msgid "" "The **Physics Material** setting allows you to override the physics material " "for every mesh in the NavigationMesh." msgstr "" -#: ../../docs/tutorials/3d/using_gridmaps.rst:140 +#: ../../docs/tutorials/3d/using_gridmaps.rst:155 msgid "" "Under **Cells**, the **Size** property should be set to the size of your " "meshes. You can leave it at the default value for the demo. Uncheck the " "**Center Y** property." msgstr "" -#: ../../docs/tutorials/3d/using_gridmaps.rst:143 +#: ../../docs/tutorials/3d/using_gridmaps.rst:158 msgid "" "The **Collision** options allow you to set the collision layer, collision " "mask, and priority for the entire grid. For more information on how those " "work see the :ref:`doc_physics_index` section." msgstr "" -#: ../../docs/tutorials/3d/using_gridmaps.rst:147 +#: ../../docs/tutorials/3d/using_gridmaps.rst:162 msgid "" "Under **Navigation** is the \"Bake Navigation\" option. If enabled it " "creates a navigation region for each cell that uses a mesh library item with " "a navigation mesh." msgstr "" -#: ../../docs/tutorials/3d/using_gridmaps.rst:151 +#: ../../docs/tutorials/3d/using_gridmaps.rst:166 msgid "" "If you click on the MeshLibrary itself in the inspector you can adjust " "settings for individual meshes, such as their navigation mesh, navigation " "layers, or if the mesh casts shadows." msgstr "" -#: ../../docs/tutorials/3d/using_gridmaps.rst:158 +#: ../../docs/tutorials/3d/using_gridmaps.rst:173 msgid "GridMap panel" msgstr "" -#: ../../docs/tutorials/3d/using_gridmaps.rst:160 +#: ../../docs/tutorials/3d/using_gridmaps.rst:175 msgid "" "At the bottom of the editor is the GridMap panel, which should have opened " "automatically when you added the GridMap node." msgstr "" -#: ../../docs/tutorials/3d/using_gridmaps.rst:165 +#: ../../docs/tutorials/3d/using_gridmaps.rst:180 #: ../../docs/tutorials/shaders/visual_shaders.rst:44 msgid "From left to right in the toolbar:" msgstr "" -#: ../../docs/tutorials/3d/using_gridmaps.rst:167 +#: ../../docs/tutorials/3d/using_gridmaps.rst:182 msgid "" "**Transform**: Adds a gizmo to the scene that allows you to change the " "relative position and rotation of the gridmap in the scene." msgstr "" -#: ../../docs/tutorials/3d/using_gridmaps.rst:169 +#: ../../docs/tutorials/3d/using_gridmaps.rst:184 msgid "" "**Selection**: While active you can select an area in the viewport, click " "and drag to select more than one space on the grid." msgstr "" -#: ../../docs/tutorials/3d/using_gridmaps.rst:171 +#: ../../docs/tutorials/3d/using_gridmaps.rst:186 msgid "**Erase**: While active, click in the viewport and delete meshes." msgstr "" -#: ../../docs/tutorials/3d/using_gridmaps.rst:172 +#: ../../docs/tutorials/3d/using_gridmaps.rst:187 msgid "" "**Paint**: While active, click in the viewport and add whatever mesh is " "currently selected in the GridMap panel to the scene." msgstr "" -#: ../../docs/tutorials/3d/using_gridmaps.rst:174 +#: ../../docs/tutorials/3d/using_gridmaps.rst:189 msgid "" "**Pick**: While active, clicking on a gridmap mesh in the viewport will " "cause it to be selected in the GridMap panel." msgstr "" -#: ../../docs/tutorials/3d/using_gridmaps.rst:176 +#: ../../docs/tutorials/3d/using_gridmaps.rst:191 msgid "" "**Fill**: Fill the area that has been selected in the viewport with whatever " "mesh is selected in the GridMap bottom panel." msgstr "" -#: ../../docs/tutorials/3d/using_gridmaps.rst:178 +#: ../../docs/tutorials/3d/using_gridmaps.rst:193 msgid "" "**Move**: Move whatever mesh or meshes are currently selected in the " "viewport." msgstr "" -#: ../../docs/tutorials/3d/using_gridmaps.rst:179 +#: ../../docs/tutorials/3d/using_gridmaps.rst:194 msgid "" "**Duplicate**: Create a copy of whatever the selected mesh or meshes in the " "GridMap are." msgstr "" -#: ../../docs/tutorials/3d/using_gridmaps.rst:181 +#: ../../docs/tutorials/3d/using_gridmaps.rst:196 msgid "**Delete**: Similar to erase, but for the entire selected area." msgstr "" -#: ../../docs/tutorials/3d/using_gridmaps.rst:182 +#: ../../docs/tutorials/3d/using_gridmaps.rst:197 msgid "" "**Cursor Rotate X**: While the paint tool is selected, this will rotate the " "mesh that will be painted on the X-axis. This will also rotate selected " "areas if they are being moved." msgstr "" -#: ../../docs/tutorials/3d/using_gridmaps.rst:185 +#: ../../docs/tutorials/3d/using_gridmaps.rst:200 msgid "" "**Cursor Rotate Y**: While the paint tool is selected, this will rotate the " "mesh that will be painted on the Y-axis. This will also rotate selected " "areas if they are being moved." msgstr "" -#: ../../docs/tutorials/3d/using_gridmaps.rst:188 +#: ../../docs/tutorials/3d/using_gridmaps.rst:203 msgid "" "**Cursor Rotate Z**: While the paint tool is selected, this will rotate the " "mesh that will be painted on the Z-axis. This will also rotate selected " "areas if they are being moved." msgstr "" -#: ../../docs/tutorials/3d/using_gridmaps.rst:191 +#: ../../docs/tutorials/3d/using_gridmaps.rst:206 msgid "" "**Change Grid Floor**: Adjusts what floor is currently being worked on, can " "be changed with the arrows or typing" msgstr "" -#: ../../docs/tutorials/3d/using_gridmaps.rst:193 +#: ../../docs/tutorials/3d/using_gridmaps.rst:208 msgid "" "**Filter Meshes**: Used to search for a specific mesh in the bottom panel." msgstr "" -#: ../../docs/tutorials/3d/using_gridmaps.rst:194 +#: ../../docs/tutorials/3d/using_gridmaps.rst:209 msgid "**Zoom**: Controls the zoom level on meshes in the bottom panel." msgstr "" -#: ../../docs/tutorials/3d/using_gridmaps.rst:195 +#: ../../docs/tutorials/3d/using_gridmaps.rst:210 msgid "" "**Layout toggles**: These two buttons toggle between different layouts for " "meshes in the bottom panel." msgstr "" -#: ../../docs/tutorials/3d/using_gridmaps.rst:197 +#: ../../docs/tutorials/3d/using_gridmaps.rst:212 msgid "" "**Tools dropdown**: This button opens a dropdown menu with a few more " "options." msgstr "" -#: ../../docs/tutorials/3d/using_gridmaps.rst:201 +#: ../../docs/tutorials/3d/using_gridmaps.rst:216 msgid "" "Clicking on **Settings** in that dropdown brings up a window that allows you " "to change the **Pick Distance**, which is the maximum distance at which " @@ -52226,11 +52296,11 @@ msgid "" "meters)." msgstr "" -#: ../../docs/tutorials/3d/using_gridmaps.rst:206 +#: ../../docs/tutorials/3d/using_gridmaps.rst:221 msgid "Using GridMap in code" msgstr "" -#: ../../docs/tutorials/3d/using_gridmaps.rst:208 +#: ../../docs/tutorials/3d/using_gridmaps.rst:223 msgid "" "See :ref:`class_GridMap` for details on the node's methods and member " "variables." @@ -54113,9 +54183,9 @@ msgid "" "You will notice that all bones raise a warning about a missing rest pose. A " "rest pose is the default pose for a skeleton, you can come back to it " "anytime you want (which is very handy for animating). To set one click on " -"the *skeleton* node in the scene tree, then click on the ``Skeleton2D`` " -"button in the toolbar, and select ``Overwrite Rest Pose`` from the dropdown " -"menu." +"the *skeleton* node in the scene tree, then click on " +"the :button:`Skeleton2D` button in the toolbar, and select ``Overwrite Rest " +"Pose`` from the dropdown menu." msgstr "" #: ../../docs/tutorials/animation/2d_skeletons.rst:152 @@ -54379,9 +54449,9 @@ msgstr "" #: ../../docs/tutorials/animation/animation_tree.rst:66 msgid "" -"In order for animations to play, a node has to be connected to to the " -"output. You can add nodes from the **Add Node..** menu or by right clicking " -"an empty space:" +"In order for animations to play, a node has to be connected to the output. " +"You can add nodes from the **Add Node..** menu or by right clicking an empty " +"space:" msgstr "" #: ../../docs/tutorials/animation/animation_tree.rst:70 @@ -55507,41 +55577,42 @@ msgstr "" #: ../../docs/tutorials/animation/creating_movies.rst:69 msgid "" -"The icon gets a background matching the accent color when Movie Maker mode " -"is enabled:" +"A menu will be displayed with options to enable Movie Maker mode and to go " +"to the settings. The icon gets a background matching the accent color when " +"Movie Maker mode is enabled:" msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:72 -#: ../../docs/tutorials/animation/creating_movies.rst:76 +#: ../../docs/tutorials/animation/creating_movies.rst:73 +#: ../../docs/tutorials/animation/creating_movies.rst:77 msgid "" "Movie Maker mode is enabled, click the \"movie reel\" icon again to disable" msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:78 +#: ../../docs/tutorials/animation/creating_movies.rst:79 msgid "" "Movie Maker status is **not** persisted when the editor quits, so you must " "re-enable Movie Maker mode again after restarting the editor if needed." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:83 +#: ../../docs/tutorials/animation/creating_movies.rst:84 msgid "" "Toggling Movie Maker mode while running the project will not have any effect " "until the project is restarted." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:86 +#: ../../docs/tutorials/animation/creating_movies.rst:87 msgid "" "Before you can record video by running the project, you still need to " "configure the output file path. This path can be set for all scenes in the " "Project Settings:" msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:89 -#: ../../docs/tutorials/animation/creating_movies.rst:93 +#: ../../docs/tutorials/animation/creating_movies.rst:90 +#: ../../docs/tutorials/animation/creating_movies.rst:94 msgid "Movie Maker project settings (with Advanced toggle enabled)" msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:95 +#: ../../docs/tutorials/animation/creating_movies.rst:96 msgid "" "Alternatively, you can set the output file path on a per-scene basis by " "adding a String metadata with the name ``movie_file`` to the scene's **root " @@ -55550,34 +55621,34 @@ msgid "" "(:kbd:`Cmd + R` on macOS)." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:100 -#: ../../docs/tutorials/animation/creating_movies.rst:104 +#: ../../docs/tutorials/animation/creating_movies.rst:101 +#: ../../docs/tutorials/animation/creating_movies.rst:105 msgid "Inspector view after creating a ``movie_file`` metadata of type String" msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:106 +#: ../../docs/tutorials/animation/creating_movies.rst:107 msgid "" "The path specified in the project settings or metadata can be either " "absolute, or relative to the project root." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:109 +#: ../../docs/tutorials/animation/creating_movies.rst:110 msgid "" "Once you've configured and enabled Movie Maker mode, it will be " "automatically used when running the project from the editor." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:113 +#: ../../docs/tutorials/animation/creating_movies.rst:114 msgid "Command line usage" msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:115 +#: ../../docs/tutorials/animation/creating_movies.rst:116 msgid "" "Movie Maker can also be enabled from the :ref:`command line " "`:" msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:121 +#: ../../docs/tutorials/animation/creating_movies.rst:122 msgid "" "If the output path is relative, then it is **relative to the project " "folder**, not the current working directory. In the above example, the file " @@ -55585,7 +55656,7 @@ msgid "" "similar to the ``--export-release`` command line argument." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:126 +#: ../../docs/tutorials/animation/creating_movies.rst:127 msgid "" "Since Movie Maker's output resolution is set by the viewport size, you can " "adjust the window size on startup to override it if the project uses the " @@ -55593,20 +55664,20 @@ msgid "" "`:" msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:134 +#: ../../docs/tutorials/animation/creating_movies.rst:135 msgid "" "Note that the window size is clamped by your display's resolution. " "See :ref:`doc_creating_movies_recording_at_higher_resolution` if you need to " "record a video at a higher resolution than the screen resolution." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:138 +#: ../../docs/tutorials/animation/creating_movies.rst:139 msgid "" "The recording FPS can also be overridden on the command line, without having " "to edit the Project Settings:" msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:147 +#: ../../docs/tutorials/animation/creating_movies.rst:148 msgid "" "The ``--write-movie`` and ``--fixed-fps`` command line arguments are both " "available in exported projects. Movie Maker mode cannot be toggled while the " @@ -55615,30 +55686,74 @@ msgid "" "project that will record a video file." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:153 +#: ../../docs/tutorials/animation/creating_movies.rst:154 msgid "Choosing an output format" msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:155 +#: ../../docs/tutorials/animation/creating_movies.rst:156 msgid "" "Output formats are provided by the :ref:`MovieWriter ` " -"class. Godot has 2 built-in :ref:`MovieWriters `, and " +"class. Godot has 3 built-in :ref:`MovieWriters `, and " "more can be implemented by extensions:" msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:160 -msgid "AVI (recommended)" +#: ../../docs/tutorials/animation/creating_movies.rst:161 +msgid "OGV (recommended)" msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:162 +#: ../../docs/tutorials/animation/creating_movies.rst:163 +msgid "" +"OGV container with Theora for video and Vorbis for audio. Features lossy " +"video and audio compression with a good balance of file size and encoding " +"speed, with a better image quality than MJPEG. It has 4 speed levels that " +"can be adjusted by changing **Editor > Movie Writer > Encoding Speed** with " +"the fastest one being around as fast as AVI with better compression. At " +"slower speed levels, it can compress even better while keeping the same " +"image quality. The lossy compression quality can be adjusted by changing " +"**Editor > Movie Writer > Video Quality** for video and **Editor > Movie " +"Writer > Audio Quality** for audio." +msgstr "" + +#: ../../docs/tutorials/animation/creating_movies.rst:172 +msgid "" +"The Keyframe Interval can be adjusted by changing **Editor > Movie Writer > " +"Keyframe Interval**. In some cases, increasing this setting can improve " +"compression efficiency without downsides." +msgstr "" + +#: ../../docs/tutorials/animation/creating_movies.rst:176 +msgid "" +"The resulting file can be viewed in Godot with :ref:`VideoStreamPlayer " +"` and most video players but not web browsers. OGV " +"does not support transparency." +msgstr "" + +#: ../../docs/tutorials/animation/creating_movies.rst:180 +msgid "" +"To use OGV, specify a path to a ``.ogv`` file to be created in the **Editor " +"> Movie Writer > Movie File** project setting." +msgstr "" + +#: ../../docs/tutorials/animation/creating_movies.rst:185 +msgid "" +"OGV can only be recorded in editor builds. On the other hand, :ref:`OGV " +"playback ` is possible in both editor and export " +"template builds." +msgstr "" + +#: ../../docs/tutorials/animation/creating_movies.rst:190 +msgid "AVI" +msgstr "" + +#: ../../docs/tutorials/animation/creating_movies.rst:192 msgid "" "AVI container with MJPEG for video and uncompressed audio. Features lossy " "video compression, resulting in medium file sizes and fast encoding. The " "lossy compression quality can be adjusted by changing **Editor > Movie " -"Writer > MJPEG Quality**." +"Writer > Video Quality**." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:167 +#: ../../docs/tutorials/animation/creating_movies.rst:197 msgid "" "The resulting file can be viewed in most video players, but it must be " "converted to another format for viewing on the web or by Godot with the " @@ -55646,17 +55761,17 @@ msgid "" "currently limited to a file of 4 GB in size at most." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:172 +#: ../../docs/tutorials/animation/creating_movies.rst:202 msgid "" "To use AVI, specify a path to a ``.avi`` file to be created in the **Editor " "> Movie Writer > Movie File** project setting." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:176 +#: ../../docs/tutorials/animation/creating_movies.rst:206 msgid "PNG" msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:178 +#: ../../docs/tutorials/animation/creating_movies.rst:208 msgid "" "PNG image sequence for video and WAV for audio. Features lossless video " "compression, at the cost of large file sizes and slow encoding. This is " @@ -55664,7 +55779,7 @@ msgid "" "recording `." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:183 +#: ../../docs/tutorials/animation/creating_movies.rst:213 msgid "" "Transparency is supported, but the root viewport **must** have its " "``transparent_bg`` property set to ``true`` for transparency to be visible " @@ -55676,18 +55791,18 @@ msgid "" "to contain transparency." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:191 +#: ../../docs/tutorials/animation/creating_movies.rst:221 msgid "" "To use PNG, specify a ``.png`` file to be created in the **Editor > Movie " "Writer > Movie File** project setting. The generated ``.wav`` file will have " "the same name as the ``.png`` file (minus the extension)." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:196 +#: ../../docs/tutorials/animation/creating_movies.rst:226 msgid "Custom" msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:198 +#: ../../docs/tutorials/animation/creating_movies.rst:228 msgid "" "If you need to encode directly to a different format or pipe a stream " "through third-party software, you can extend the MovieWriter class to create " @@ -55695,12 +55810,12 @@ msgid "" "performance reasons." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:204 +#: ../../docs/tutorials/animation/creating_movies.rst:234 #: ../../docs/tutorials/plugins/editor/import_plugins.rst:32 msgid "Configuration" msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:206 +#: ../../docs/tutorials/animation/creating_movies.rst:236 msgid "" "In the **Editor > Movie Writer** section of the Project Settings, there are " "several options you can configure. Some of them are only visible after " @@ -55708,7 +55823,7 @@ msgid "" "Settings dialog." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:210 +#: ../../docs/tutorials/animation/creating_movies.rst:240 msgid "" "**Mix Rate Hz:** The audio mix rate to use in the recorded audio when " "writing a movie. This can be different from the project's mix rate, but this " @@ -55716,29 +55831,29 @@ msgid "" "desynchronizing over time." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:214 +#: ../../docs/tutorials/animation/creating_movies.rst:244 msgid "" "**Speaker Mode:** The speaker mode to use in the recorded audio when writing " "a movie (stereo, 5.1 surround or 7.1 surround)." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:216 +#: ../../docs/tutorials/animation/creating_movies.rst:246 msgid "" -"**MJPEG Quality:** The JPEG quality to use when writing a video to an AVI " -"file, between ``0.01`` and ``1.0`` (inclusive). Higher quality values result " -"in better-looking output at the cost of larger file sizes. Recommended " -"quality values are between ``0.75`` and ``0.9``. Even at quality ``1.0``, " -"JPEG compression remains lossy. This setting does not affect audio quality " -"and is ignored when writing to a PNG image sequence." +"**Video Quality:** The image quality to use when writing a video to an OGV " +"or AVI file, between ``0.01`` and ``1.0`` (inclusive). Higher quality values " +"result in better-looking output at the cost of larger file sizes. " +"Recommended quality values are between ``0.75`` and ``0.9``. Even at quality " +"``1.0``, compression remains lossy. This setting does not affect audio " +"quality and is ignored when writing to a PNG image sequence." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:222 +#: ../../docs/tutorials/animation/creating_movies.rst:252 msgid "" "**Movie File:** The output path for the movie. This can be absolute or " "relative to the project root." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:224 +#: ../../docs/tutorials/animation/creating_movies.rst:254 msgid "" "**Disable V-Sync:** If enabled, requests V-Sync to be disabled when writing " "a movie. This can speed up video writing if the hardware is fast enough to " @@ -55747,7 +55862,7 @@ msgid "" "driver forces V-Sync with no way for applications to disable it." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:229 +#: ../../docs/tutorials/animation/creating_movies.rst:259 msgid "" "**FPS:** The rendered frames per second in the output movie. Higher values " "result in smoother animation, at the cost of longer rendering times and " @@ -55756,7 +55871,31 @@ msgid "" "generate motion blur." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:237 +#: ../../docs/tutorials/animation/creating_movies.rst:264 +msgid "" +"**Audio Quality:** The audio quality to use when writing a video to an OGV " +"file, between ``-0.1`` and ``1.0`` (inclusive). Higher quality values result " +"in better audio quality at the cost of very slightly larger file sizes. " +"Recommended quality values are between ``0.3`` and ``0.5``. Even at quality " +"``1.0``, compression remains lossy." +msgstr "" + +#: ../../docs/tutorials/animation/creating_movies.rst:269 +msgid "" +"**Encoding Speed:** The speed level to use when writing a video to an OGV " +"file. Faster speed levels have less compression efficiency. The image " +"quality stays barely the same." +msgstr "" + +#: ../../docs/tutorials/animation/creating_movies.rst:272 +msgid "" +"**Keyframe Interval:** Also known as GOP (Group Of Pictures), the maximum " +"number of inter-frames to use when writing to an OGV file. Higher values can " +"improve compression efficiency without quality loss but at the cost of " +"slower video seeks." +msgstr "" + +#: ../../docs/tutorials/animation/creating_movies.rst:279 msgid "" "When using the ``disabled`` or ``2d`` :ref:`stretch modes " "`, the output file's resolution is set by the " @@ -55766,15 +55905,15 @@ msgid "" "project settings." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:244 +#: ../../docs/tutorials/animation/creating_movies.rst:286 msgid "See also :ref:`doc_creating_movies_recording_at_higher_resolution`." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:247 +#: ../../docs/tutorials/animation/creating_movies.rst:289 msgid "Quitting Movie Maker mode" msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:249 +#: ../../docs/tutorials/animation/creating_movies.rst:291 msgid "" "To safely quit a project that is using Movie Maker mode, use the X button at " "the top of the window, or call ``get_tree().quit()`` in a script. You can " @@ -55782,16 +55921,17 @@ msgid "" "number of frames to render before quitting." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:254 +#: ../../docs/tutorials/animation/creating_movies.rst:296 msgid "" "Pressing :kbd:`F8` (:kbd:`Cmd + .` on macOS) or pressing :kbd:`Ctrl + C` on " "the terminal running Godot is **not recommended**, as it will result in an " "improperly formatted AVI file with no duration information. For PNG image " "sequences, PNG images will not be negatively altered, but the associated WAV " -"file will still lack duration information." +"file will still lack duration information. OGV files might end up with " +"slightly different duration video and audio tracks but still valid." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:260 +#: ../../docs/tutorials/animation/creating_movies.rst:303 msgid "" "Some video players may still be able to play the AVI or WAV file with " "working video and audio. However, software that makes use of the AVI or WAV " @@ -55800,7 +55940,7 @@ msgid "" "those cases." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:266 +#: ../../docs/tutorials/animation/creating_movies.rst:309 msgid "" "If you're using an AnimationPlayer to control a \"main action\" in the scene " "(such as camera movement), you can enable the **Movie Quit On Finish** " @@ -55811,11 +55951,11 @@ msgid "" "the animation is set as non-looping." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:274 +#: ../../docs/tutorials/animation/creating_movies.rst:317 msgid "Using high-quality graphics settings" msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:276 +#: ../../docs/tutorials/animation/creating_movies.rst:319 msgid "" "The ``movie`` :ref:`feature tag ` can be used to override " "specific project settings. This is useful to enable high-quality graphics " @@ -55826,24 +55966,24 @@ msgid "" "settings if they make a meaningful difference in the output image." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:284 +#: ../../docs/tutorials/animation/creating_movies.rst:327 msgid "" "This feature tag can also be queried in a script to increase quality " "settings that are set in the Environment resource. For example, to further " "improve SDFGI detail and reduce light leaking:" msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:321 +#: ../../docs/tutorials/animation/creating_movies.rst:364 msgid "Rendering at a higher resolution than the screen resolution" msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:323 +#: ../../docs/tutorials/animation/creating_movies.rst:366 msgid "" "The overall rendering quality can be improved significantly by rendering at " "high resolutions such as 4K or 8K." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:328 +#: ../../docs/tutorials/animation/creating_movies.rst:371 msgid "" "For 3D rendering, Godot provides a **Rendering > Scaling 3D > Scale** " "advanced project setting, which can be set above ``1.0`` to obtain " @@ -55852,21 +55992,21 @@ msgid "" "antialiasing, without increasing the final output resolution." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:334 +#: ../../docs/tutorials/animation/creating_movies.rst:377 msgid "" "Consider using this project setting first, as it avoids slowing down movie " "writing speeds and increasing output file size compared to actually " "increasing the output resolution." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:338 +#: ../../docs/tutorials/animation/creating_movies.rst:381 msgid "" "If you wish to render 2D at a higher resolution, or if you actually need the " "higher raw pixel output for 3D rendering, you can increase the resolution " "above what the screen allows." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:342 +#: ../../docs/tutorials/animation/creating_movies.rst:385 msgid "" "By default, Godot uses the ``disabled`` :ref:`stretch modes " "` in projects. If using ``disabled`` or " @@ -55874,7 +56014,7 @@ msgid "" "resolution." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:346 +#: ../../docs/tutorials/animation/creating_movies.rst:389 msgid "" "On the other hand, if the project is configured to use the ``viewport`` " "stretch mode, the viewport resolution dictates the output video resolution. " @@ -55883,7 +56023,7 @@ msgid "" "to render a video at a higher resolution than the screen resolution." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:352 +#: ../../docs/tutorials/animation/creating_movies.rst:395 msgid "" "To make the window smaller during recording without affecting the output " "video resolution, you can set the **Display > Window > Size > Window Width " @@ -55891,32 +56031,32 @@ msgid "" "values greater than ``0``." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:357 +#: ../../docs/tutorials/animation/creating_movies.rst:400 msgid "" "To apply a resolution override only when recording a movie, you can override " "those settings with the ``movie`` :ref:`feature tag `." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:361 +#: ../../docs/tutorials/animation/creating_movies.rst:404 msgid "Post-processing steps" msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:363 +#: ../../docs/tutorials/animation/creating_movies.rst:406 msgid "Some common post-processing steps are listed below." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:367 +#: ../../docs/tutorials/animation/creating_movies.rst:410 msgid "" "When using several post-processing steps, try to perform all of them in a " "single FFmpeg command. This will save encoding time and improve quality by " "avoiding multiple lossy encoding steps." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:374 -msgid "Converting AVI video to MP4" +#: ../../docs/tutorials/animation/creating_movies.rst:417 +msgid "Converting OGV/AVI video to MP4" msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:376 +#: ../../docs/tutorials/animation/creating_movies.rst:419 msgid "" "While some platforms such as YouTube support uploading the AVI file " "directly, many others will require a conversion step beforehand. `HandBrake " @@ -55925,21 +56065,21 @@ msgid "" "learning curve, but it's more powerful." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:381 +#: ../../docs/tutorials/animation/creating_movies.rst:424 msgid "" -"The command below converts an AVI video to an MP4 (H.264) video with a " +"The command below converts an OGV/AVI video to an MP4 (H.264) video with a " "Constant Rate Factor (CRF) of 15. This results in a relatively large file, " "but is well-suited for platforms that will re-encode your videos to reduce " "their size (such as most video sharing websites):" msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:390 +#: ../../docs/tutorials/animation/creating_movies.rst:433 msgid "" "To get a smaller file at the cost of quality, *increase* the CRF value in " "the above command." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:393 +#: ../../docs/tutorials/animation/creating_movies.rst:436 msgid "" "To get a file with a better size/quality ratio (at the cost of slower " "encoding times), add ``-preset veryslow`` before ``-crf 15`` in the above " @@ -55947,17 +56087,17 @@ msgid "" "encoding at the cost of a worse size/quality ratio." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:401 +#: ../../docs/tutorials/animation/creating_movies.rst:444 msgid "Converting PNG image sequence + WAV audio to a video" msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:403 +#: ../../docs/tutorials/animation/creating_movies.rst:446 msgid "" "If you chose to record a PNG image sequence with a WAV file beside it, you " "need to convert it to a video before you can use it elsewhere." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:406 +#: ../../docs/tutorials/animation/creating_movies.rst:449 msgid "" "The filename for the PNG image sequence generated by Godot always contains 8 " "digits, starting at 0 with zero-padded numbers. If you specify an output " @@ -55966,68 +56106,68 @@ msgid "" "folder. The audio will be saved at ``folder/example.wav``." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:412 +#: ../../docs/tutorials/animation/creating_movies.rst:455 msgid "" "The FPS is specified using the ``-r`` argument. It should match the FPS " "specified during recording. Otherwise, the video will appear to be slowed " "down or sped up, and audio will be out of sync with the video." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:420 +#: ../../docs/tutorials/animation/creating_movies.rst:463 msgid "" "If you recorded a PNG image sequence with transparency enabled, you need to " "use a video format that supports storing transparency. MP4/H.264 doesn't " "support storing transparency, so you can use WebM/VP9 as an alternative:" msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:431 +#: ../../docs/tutorials/animation/creating_movies.rst:474 msgid "Cutting video" msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:433 +#: ../../docs/tutorials/animation/creating_movies.rst:476 msgid "" "You can trim parts of the video you don't want to keep after the video is " "recorded. For example, to discard everything before 12.1 seconds and keep " "only 5.2 seconds of video after that point:" msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:441 +#: ../../docs/tutorials/animation/creating_movies.rst:484 msgid "" "Cutting videos can also be done with the GUI tool `LosslessCut `__." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:445 +#: ../../docs/tutorials/animation/creating_movies.rst:488 msgid "Resizing video" msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:447 +#: ../../docs/tutorials/animation/creating_movies.rst:490 msgid "" "The following command resizes a video to be 1080 pixels tall (1080p), while " "preserving its existing aspect ratio:" msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:458 +#: ../../docs/tutorials/animation/creating_movies.rst:501 msgid "Reducing framerate" msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:460 +#: ../../docs/tutorials/animation/creating_movies.rst:503 msgid "" "The following command changes a video's framerate to 30 FPS, dropping some " "of the original frames if there are more in the input video:" msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:468 +#: ../../docs/tutorials/animation/creating_movies.rst:511 msgid "Generating accumulation motion blur with FFmpeg" msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:470 +#: ../../docs/tutorials/animation/creating_movies.rst:513 msgid "" "Godot does not have built-in support for motion blur, but it can still be " "created in recorded videos." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:473 +#: ../../docs/tutorials/animation/creating_movies.rst:516 msgid "" "If you record the video at a multiple of the original framerate, you can " "blend the frames together then reduce the frameate to produce a video with " @@ -56036,13 +56176,13 @@ msgid "" "second (on top of the time spent on post-processing)." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:479 +#: ../../docs/tutorials/animation/creating_movies.rst:522 msgid "" "Example with a 240 FPS source video, generating 4× motion blur and " "decreasing its output framerate to 60 FPS:" msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:486 +#: ../../docs/tutorials/animation/creating_movies.rst:529 msgid "" "This also makes effects that converge over several frames (such as temporal " "antialiasing, SDFGI and volumetric fog) converge faster and therefore look " @@ -58864,6 +59004,7 @@ msgid "" msgstr "" #: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:75 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:201 msgid "**Meshes**" msgstr "" @@ -59044,25 +59185,169 @@ msgid "" "respectively." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:180 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:177 +msgid "**Blender-specific options**" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:179 +msgid "Only visible for ``.blend`` files." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:181 +msgid "**Nodes**" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:183 +msgid "" +"**Visible:** **All** imports everything, even invisible objects. **Visible " +"Only** only imports visible objects. **Renderable** only imports objects " +"that are marked as renderable in Blender, regardless of whether they are " +"actually visible. In Blender, renderability is toggled by clicking the " +"camera icon next to each object in the Outliner, while visibility is toggled " +"by the eye icon." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:188 +msgid "" +"**Active Collection Only:** If checked, only imports nodes that are in the " +"active collection in Blender." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:190 +msgid "" +"**Punctual Lights:** If checked, imports lights (directional, omni, and " +"spot) from Blender. \"Punctual\" is not to be confused with \"positional\", " +"which is why directional lights are also included." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:193 +msgid "**Cameras:** If checked, imports cameras from Blender." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:194 +msgid "" +"**Custom Properties:** If checked, imports custom properties from Blender as " +"glTF extras. This data can then be used from an editor plugin that " +"uses :ref:`GLTFDocument.register_gltf_document_extension() " +"`, which can set " +"node metadata on import (among other use cases)." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:198 +msgid "" +"**Modifiers:** If set to **No Modifiers**, object modifiers are ignored on " +"import. If set to **All Modifiers**, applies modifiers to objects on import." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:203 +msgid "**Colors:** If checked, imports vertex colors from Blender." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:204 +msgid "**UVs:** If checked, imports vertex UV1 and UV2 from Blender." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:205 +msgid "**Normals:** If checked, imports vertex normals from Blender." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:206 +msgid "" +"**Export Geometry Nodes Instances:** If checked, imports `geometry node " +"`__ instances from Blender." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:209 +msgid "**Tangents:** If checked, imports vertex tangents from Blender." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:210 +msgid "" +"**Skins:** **None** skips skeleton skin data import from Blender. **4 " +"Influences (Compatible)** imports skin data to be compatible with all " +"renderers, at the cost of lower precision for certain rigs. **All " +"Influences** imports skin data with all influences (up to 8 in Godot), which " +"is more precise but may not be compatible with all renderers." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:214 +msgid "" +"**Export Bones Deforming Mesh Only:** If checked, only imports bones that " +"deform the mesh from Blender." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:217 +msgid "**Materials**" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:219 +msgid "" +"**Unpack Enabled:** If checked, unpacks the original images to the Godot " +"filesystem and uses them. This allows changing image import settings like " +"VRAM compression. If unchecked, allows Blender to convert the original " +"images, such as repacking roughness and metallic into one roughness + " +"metallic texture. In most cases, this option should be left checked, but if " +"the ``.blend`` file's images aren't in the correct format, this must be " +"disabled for correct behavior." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:225 +msgid "" +"**Export Materials:** If set to **Placeholder**, does not import materials, " +"but keeps surface slots so that separate materials can be assigned to " +"different surfaces. If set to **Export**, imports materials as-is (note that " +"procedural Blender materials may not work correctly). If set to **Named " +"Placeholder**, imports materials, but doesn't import images that are packed " +"into the ``.blend`` file. Textures will have to be reassigned manually in " +"the imported materials." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:234 +msgid "" +"**Limit Playback:** If checked, limits animation import to the playback " +"range defined in Blender (the **Start** and **End** options at the right of " +"the animation timeline in Blender). This can avoid including unused " +"animation data, making the imported scene smaller and faster to load. " +"However, this can also result in missing animation data if the playback " +"range is not set correctly in Blender." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:239 +msgid "" +"**Always Sample:** If checked, forces animation sampling on import to ensure " +"consistency between how Blender and glTF perform animation interpolation, at " +"the cost of larger file sizes. If unchecked, there may be differences in how " +"animations are interpolated between what you see in Blender and the imported " +"scene in Godot, due to different interpolation semantics between both." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:244 +msgid "" +"**Group Tracks:** If checked, imports animations (actives and on NLA tracks) " +"as separate tracks. If unchecked, all the currently assigned actions become " +"one glTF animation." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:250 msgid "Using import scripts for automation" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:182 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:252 msgid "" "A special script to process the whole scene after import can be provided. " "This is great for post-processing, changing materials, doing funny stuff " "with the geometry, and more." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:186 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:256 msgid "" "Create a script that is not attached to any node by right-clicking in the " "FileSystem dock and choosing **New > Script…**. In the script editor, write " "the following:" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:212 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:282 msgid "" "The ``_post_import(scene: Node)`` function takes the imported scene as " "argument (the parameter is actually the root node of the scene). The scene " @@ -59070,17 +59355,17 @@ msgid "" "entirely different)." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:216 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:286 msgid "" "To use your script, locate the script in the import tab's \"Path\" option " "under the \"Import Script\" category." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:219 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:289 msgid "Using animation libraries" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:221 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:291 msgid "" "As of Godot 4.0, you can choose to import **only** animations from a glTF " "file and nothing else. This is used in some asset pipelines to distribute " @@ -59089,18 +59374,18 @@ msgid "" "animation data in every character." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:227 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:297 msgid "" "To do so, select the glTF file in the FileSystem dock, then change the " "import mode to Animation Library in the Import dock:" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:230 -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:234 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:300 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:304 msgid "Changing the import type to Animation Library in the Import dock" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:236 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:306 msgid "" "Click **Reimport** and restart the editor when prompted. After restarting, " "the glTF file will be imported as an :ref:`class_AnimationLibrary` instead " @@ -59108,7 +59393,7 @@ msgid "" "in an :ref:`class_AnimationPlayer` node." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:241 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:311 msgid "" "The import options that are visible after changing the import mode to " "Animation Library act the same as when using the Scene import mode. " @@ -59116,17 +59401,17 @@ msgid "" "information." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:246 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:316 msgid "Filter script" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:248 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:318 msgid "" "It is possible to specify a filter script in a special syntax to decide " "which tracks from which animations should be kept." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:251 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:321 msgid "" "The filter script is executed against each imported animation. The syntax " "consists of two types of statements, the first for choosing which animations " @@ -59136,14 +59421,14 @@ msgid "" "(using :ref:`String.matchn() ` under the hood)." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:258 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:328 msgid "" "The script must start with an animation filter statement (as denoted by the " "line beginning with an ``@``). For example, if we would like to apply " "filters to all imported animations which have a name ending in ``\"_Loop\"``:" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:266 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:336 msgid "" "Similarly, additional patterns can be added to the same line, separated by " "commas. Here is a modified example to additionally *include* all animations " @@ -59151,7 +59436,7 @@ msgid "" "animations which have names ending in ``\"Attack\"``:" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:275 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:345 msgid "" "Following the animation selection filter statement, we add track filtering " "patterns to indicate which animation tracks should be kept or discarded. If " @@ -59159,7 +59444,7 @@ msgid "" "animations will be discarded!" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:280 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:350 msgid "" "It's important to note that track filter statements are applied in order for " "each track within the animation, this means that one line may include a " @@ -59168,65 +59453,65 @@ msgid "" "in the filter script." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:286 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:356 msgid "" "For example: include all tracks in animations with names ending in " "``\"_Loop\"``, but discard any tracks affecting a ``\"Skeleton\"`` which end " "in ``\"Control\"``, unless they have ``\"Arm\"`` in their name:" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:297 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:367 msgid "" "In the above example, tracks like ``\"Skeleton:Leg_Control\"`` would be " "discarded, while tracks such as ``\"Skeleton:Head\"`` or " "``\"Skeleton:Arm_Left_Control\"`` would be retained." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:301 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:371 msgid "" "Any track filter lines that do not begin with a ``+`` or ``-`` are ignored." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:304 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:374 msgid "Scene inheritance" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:306 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:376 msgid "" "In many cases, it may be desired to make manual modifications to the " "imported scene. By default, this is not possible because if the source 3D " "asset changes, Godot will re-import the *whole* scene." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:310 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:380 msgid "" "However, it is possible to make local modifications by using *scene " "inheritance*. If you try to open the imported scene using **Scene > Open " "Scene…** or **Scene > Quick Open Scene…**, the following dialog will appear:" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:314 -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:318 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:384 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:388 msgid "Dialog when opening an imported 3D scene in the editor" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:320 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:390 msgid "In inherited scenes, the only limitations for modification are:" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:322 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:392 msgid "" "Nodes from the base scene can't be removed, but additional nodes can be " "added anywhere." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:324 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:394 msgid "" "Subresources can't be edited. Instead, you need to save them externally as " "described above." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:327 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:397 msgid "Other than that, everything is allowed." msgstr "" @@ -61062,7 +61347,7 @@ msgid "Distro-specific one-liners" msgstr "" #: ../../docs/tutorials/audio/text_to_speech.rst:80 -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:368 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:367 msgid "**Arch Linux**" msgstr "" @@ -62278,7 +62563,8 @@ msgstr "" #: ../../docs/tutorials/export/feature_tags.rst:135 msgid "" -"Project was exported with shader baking enabled (only applies to the " +"Project was exported with :ref:`shader baking " +"` enabled (only applies to the " "exported project, not when running in the editor)" msgstr "" @@ -62424,6 +62710,197 @@ msgid "" "is loaded and exported in **GDExtension**." msgstr "" +#: ../../docs/tutorials/export/exporting_for_windows.rst:4 +msgid "Exporting for Windows" +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_windows.rst:8 +msgid "" +"This page describes how to export a Godot project to Windows. If you're " +"looking to compile editor or export template binaries from source instead, " +"read :ref:`doc_compiling_for_windows`." +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_windows.rst:12 +msgid "" +"The simplest way to distribute a game for PC is to copy the executable " +"(``godot.exe``), compress the folder and send it to someone else. However, " +"this is often not desired." +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_windows.rst:16 +msgid "" +"Godot offers a more elegant approach for PC distribution when using the " +"export system. When exporting for Windows, the exporter takes all the " +"project files and creates a ``data.pck`` file. This file is bundled with a " +"specially optimized binary that is smaller, faster and does not contain the " +"editor and debugger." +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_windows.rst:22 +msgid "Changing the executable icon" +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_windows.rst:24 +msgid "" +"Godot will automatically use whatever image is set as your project's icon in " +"the project settings, and convert it to an ICO file for the exported " +"project. If you want to manually create an ICO file for greater control over " +"how the icon looks at different resolutions then see " +"the :ref:`doc_changing_application_icon_for_windows` page." +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_windows.rst:30 +msgid "Code signing" +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_windows.rst:32 +msgid "" +"Godot is capable of automatic code signing on export. To do this you must " +"have the ``Windows SDK`` (on Windows) or `osslsigncode `__ (on any other OS) installed. You will also need a " +"package signing certificate, information on creating one can be found `here " +"`__." +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_windows.rst:39 +msgid "" +"If you export for Windows with embedded PCK files, you will not be able to " +"sign the program as it will break." +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_windows.rst:42 +msgid "" +"On Windows, PCK embedding is also known to cause false positives in " +"antivirus programs. Therefore, it's recommended to avoid using it unless " +"you're distributing your project via Steam as it bypasses code signing and " +"antivirus checks." +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_windows.rst:50 +msgid "" +"Settings need to be changed in two places. First, in the editor settings, " +"under **Export > Windows**. Click on the folder next to the ``Sign Tool`` " +"setting, if you're using Windows navigate to and select ``SignTool.exe``, if " +"you're on a different OS select ``osslsigncode``." +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_windows.rst:57 +msgid "" +"The second location is the Windows export preset, which can be found in " +"**Project > Export...**. Add a windows desktop preset if you haven't " +"already. Under options there is a code signing category." +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_windows.rst:63 +msgid "" +"``Enabled`` must be set to true, and ``Identity`` must be set to the signing " +"certificate. The other settings can be adjusted as needed. Once this is Done " +"Godot will sign your project on export." +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_windows.rst:68 +#: ../../docs/tutorials/export/exporting_for_linux.rst:22 +#: ../../docs/tutorials/export/exporting_for_macos.rst:230 +#: ../../docs/tutorials/export/exporting_for_android.rst:168 +#: ../../docs/tutorials/export/exporting_for_ios.rst:124 +#: ../../docs/tutorials/export/exporting_for_web.rst:442 +msgid "Environment variables" +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_windows.rst:70 +#: ../../docs/tutorials/export/exporting_for_linux.rst:24 +#: ../../docs/tutorials/export/exporting_for_macos.rst:232 +#: ../../docs/tutorials/export/exporting_for_android.rst:170 +#: ../../docs/tutorials/export/exporting_for_ios.rst:126 +#: ../../docs/tutorials/export/exporting_for_web.rst:444 +msgid "" +"You can use the following environment variables to set export options " +"outside of the editor. During the export process, these override the values " +"that you set in the export menu." +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_windows.rst:74 +msgid "Windows export environment variables" +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_windows.rst:77 +#: ../../docs/tutorials/export/exporting_for_linux.rst:31 +#: ../../docs/tutorials/export/exporting_for_macos.rst:239 +#: ../../docs/tutorials/export/exporting_for_android.rst:177 +#: ../../docs/tutorials/export/exporting_for_ios.rst:133 +#: ../../docs/tutorials/export/exporting_for_web.rst:451 +msgid "Export option" +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_windows.rst:78 +#: ../../docs/tutorials/export/exporting_for_linux.rst:32 +#: ../../docs/tutorials/export/exporting_for_macos.rst:240 +#: ../../docs/tutorials/export/exporting_for_android.rst:178 +#: ../../docs/tutorials/export/exporting_for_ios.rst:134 +#: ../../docs/tutorials/export/exporting_for_web.rst:452 +msgid "Environment variable" +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_windows.rst:79 +#: ../../docs/tutorials/export/exporting_for_linux.rst:33 +#: ../../docs/tutorials/export/exporting_for_macos.rst:241 +#: ../../docs/tutorials/export/exporting_for_android.rst:179 +#: ../../docs/tutorials/export/exporting_for_ios.rst:135 +#: ../../docs/tutorials/export/exporting_for_web.rst:453 +msgid "Encryption / Encryption Key" +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_windows.rst:80 +#: ../../docs/tutorials/export/exporting_for_linux.rst:34 +#: ../../docs/tutorials/export/exporting_for_macos.rst:242 +#: ../../docs/tutorials/export/exporting_for_android.rst:180 +#: ../../docs/tutorials/export/exporting_for_ios.rst:136 +#: ../../docs/tutorials/export/exporting_for_web.rst:454 +msgid "``GODOT_SCRIPT_ENCRYPTION_KEY``" +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_windows.rst:81 +msgid "Options / Codesign / Identity Type" +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_windows.rst:82 +msgid "``GODOT_WINDOWS_CODESIGN_IDENTITY_TYPE``" +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_windows.rst:83 +msgid "Options / Codesign / Identity" +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_windows.rst:84 +msgid "``GODOT_WINDOWS_CODESIGN_IDENTITY``" +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_windows.rst:85 +msgid "Options / Codesign / Password" +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_windows.rst:86 +msgid "``GODOT_WINDOWS_CODESIGN_PASSWORD``" +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_windows.rst:89 +#: ../../docs/tutorials/export/exporting_for_linux.rst:37 +#: ../../docs/tutorials/export/exporting_for_macos.rst:261 +#: ../../docs/tutorials/export/exporting_for_android.rst:195 +#: ../../docs/tutorials/export/exporting_for_ios.rst:176 +#: ../../docs/tutorials/export/exporting_for_web.rst:133 +#: ../../docs/tutorials/export/exporting_for_web.rst:457 +msgid "Export options" +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_windows.rst:91 +msgid "" +"You can find a full list of export options available in " +"the :ref:`class_EditorExportPlatformWindows` class reference." +msgstr "" + #: ../../docs/tutorials/export/exporting_for_linux.rst:4 msgid "Exporting for Linux" msgstr "" @@ -62451,77 +62928,10 @@ msgid "" "debugger." msgstr "" -#: ../../docs/tutorials/export/exporting_for_linux.rst:22 -#: ../../docs/tutorials/export/exporting_for_macos.rst:230 -#: ../../docs/tutorials/export/exporting_for_windows.rst:68 -#: ../../docs/tutorials/export/exporting_for_ios.rst:124 -#: ../../docs/tutorials/export/exporting_for_android.rst:168 -#: ../../docs/tutorials/export/exporting_for_web.rst:442 -msgid "Environment variables" -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_linux.rst:24 -#: ../../docs/tutorials/export/exporting_for_macos.rst:232 -#: ../../docs/tutorials/export/exporting_for_windows.rst:70 -#: ../../docs/tutorials/export/exporting_for_ios.rst:126 -#: ../../docs/tutorials/export/exporting_for_android.rst:170 -#: ../../docs/tutorials/export/exporting_for_web.rst:444 -msgid "" -"You can use the following environment variables to set export options " -"outside of the editor. During the export process, these override the values " -"that you set in the export menu." -msgstr "" - #: ../../docs/tutorials/export/exporting_for_linux.rst:28 msgid "Linux export environment variables" msgstr "" -#: ../../docs/tutorials/export/exporting_for_linux.rst:31 -#: ../../docs/tutorials/export/exporting_for_macos.rst:239 -#: ../../docs/tutorials/export/exporting_for_windows.rst:77 -#: ../../docs/tutorials/export/exporting_for_ios.rst:133 -#: ../../docs/tutorials/export/exporting_for_android.rst:177 -#: ../../docs/tutorials/export/exporting_for_web.rst:451 -msgid "Export option" -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_linux.rst:32 -#: ../../docs/tutorials/export/exporting_for_macos.rst:240 -#: ../../docs/tutorials/export/exporting_for_windows.rst:78 -#: ../../docs/tutorials/export/exporting_for_ios.rst:134 -#: ../../docs/tutorials/export/exporting_for_android.rst:178 -#: ../../docs/tutorials/export/exporting_for_web.rst:452 -msgid "Environment variable" -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_linux.rst:33 -#: ../../docs/tutorials/export/exporting_for_macos.rst:241 -#: ../../docs/tutorials/export/exporting_for_windows.rst:79 -#: ../../docs/tutorials/export/exporting_for_ios.rst:135 -#: ../../docs/tutorials/export/exporting_for_android.rst:179 -#: ../../docs/tutorials/export/exporting_for_web.rst:453 -msgid "Encryption / Encryption Key" -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_linux.rst:34 -#: ../../docs/tutorials/export/exporting_for_macos.rst:242 -#: ../../docs/tutorials/export/exporting_for_windows.rst:80 -#: ../../docs/tutorials/export/exporting_for_ios.rst:136 -#: ../../docs/tutorials/export/exporting_for_android.rst:180 -#: ../../docs/tutorials/export/exporting_for_web.rst:454 -msgid "``GODOT_SCRIPT_ENCRYPTION_KEY``" -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_linux.rst:37 -#: ../../docs/tutorials/export/exporting_for_macos.rst:261 -#: ../../docs/tutorials/export/exporting_for_windows.rst:89 -#: ../../docs/tutorials/export/exporting_for_ios.rst:176 -#: ../../docs/tutorials/export/exporting_for_android.rst:195 -#: ../../docs/tutorials/export/exporting_for_web.rst:133 -#: ../../docs/tutorials/export/exporting_for_web.rst:457 -msgid "Export options" -msgstr "" - #: ../../docs/tutorials/export/exporting_for_linux.rst:39 msgid "" "You can find a full list of export options available in " @@ -63242,747 +63652,6 @@ msgid "" "the :ref:`class_EditorExportPlatformMacOS` class reference." msgstr "" -#: ../../docs/tutorials/export/running_on_macos.rst:4 -msgid "Running Godot apps on macOS" -msgstr "" - -#: ../../docs/tutorials/export/running_on_macos.rst:8 -msgid "" -"This page covers running Godot projects on macOS. If you haven't exported " -"your project yet, read :ref:`doc_exporting_for_macos` first." -msgstr "" - -#: ../../docs/tutorials/export/running_on_macos.rst:11 -msgid "" -"By default, macOS will run only applications that are signed and notarized." -msgstr "" - -#: ../../docs/tutorials/export/running_on_macos.rst:15 -msgid "" -"When running an app from the Downloads folder or when still in quarantine, " -"Gatekeeper will perform *path randomization* as a security measure. This " -"breaks access to relative paths from the app, which the app relies upon to " -"work. To resolve this issue, move the app to the ``/Applications`` folder." -msgstr "" - -#: ../../docs/tutorials/export/running_on_macos.rst:20 -msgid "" -"In general, macOS apps should avoid relying on relative paths from the " -"application folder." -msgstr "" - -#: ../../docs/tutorials/export/running_on_macos.rst:23 -msgid "" -"Depending on the way a macOS app is signed and distributed, the following " -"scenarios are possible:" -msgstr "" - -#: ../../docs/tutorials/export/running_on_macos.rst:26 -msgid "App is signed, notarized and distributed via App Store" -msgstr "" - -#: ../../docs/tutorials/export/running_on_macos.rst:30 -msgid "" -"App developers need to join the Apple Developer Program, and configure " -"signing and notarization options during export, then upload the app to the " -"App Store." -msgstr "" - -#: ../../docs/tutorials/export/running_on_macos.rst:32 -msgid "" -"The app should run out of the box, without extra user interaction required." -msgstr "" - -#: ../../docs/tutorials/export/running_on_macos.rst:35 -msgid "App is signed, notarized and distributed outside App Store" -msgstr "" - -#: ../../docs/tutorials/export/running_on_macos.rst:39 -msgid "" -"App developers need to join the Apple Developer Program, and configure " -"signing and notarization options during export, then distribute the app as " -"\".DMG\" or \".ZIP\" archive." -msgstr "" - -#: ../../docs/tutorials/export/running_on_macos.rst:41 -#: ../../docs/tutorials/export/running_on_macos.rst:62 -#: ../../docs/tutorials/export/running_on_macos.rst:98 -#: ../../docs/tutorials/export/running_on_macos.rst:119 -msgid "" -"When you run the app for the first time, the following dialog is displayed:" -msgstr "" - -#: ../../docs/tutorials/export/running_on_macos.rst:45 -msgid "Click ``Open`` to start the app." -msgstr "" - -#: ../../docs/tutorials/export/running_on_macos.rst:47 -msgid "" -"If you see the following warning dialog, your Mac is set up to allow apps " -"only from the App Store." -msgstr "" - -#: ../../docs/tutorials/export/running_on_macos.rst:51 -msgid "" -"To allow third-party apps, open ``System Preferences``, click ``Security & " -"Privacy``, then click ``General``, unlock settings, and select ``App Store " -"and identified developers``." -msgstr "" - -#: ../../docs/tutorials/export/running_on_macos.rst:56 -msgid "App is signed (including ad-hoc signatures) but not notarized" -msgstr "" - -#: ../../docs/tutorials/export/running_on_macos.rst:60 -msgid "" -"App developer used self-signed certificate or ad-hoc signing (default Godot " -"behavior for exported project)." -msgstr "" - -#: ../../docs/tutorials/export/running_on_macos.rst:66 -msgid "To run this app, you can temporarily override Gatekeeper:" -msgstr "" - -#: ../../docs/tutorials/export/running_on_macos.rst:68 -msgid "" -"Either open ``System Preferences``, click ``Security & Privacy``, then click " -"``General``, and click ``Open Anyway``." -msgstr "" - -#: ../../docs/tutorials/export/running_on_macos.rst:72 -msgid "" -"Or, right-click (Control-click) on the app icon in the Finder window and " -"select ``Open`` from the menu." -msgstr "" - -#: ../../docs/tutorials/export/running_on_macos.rst:76 -msgid "Then click ``Open`` in the confirmation dialog." -msgstr "" - -#: ../../docs/tutorials/export/running_on_macos.rst:80 -msgid "Enter your password if you're prompted." -msgstr "" - -#: ../../docs/tutorials/export/running_on_macos.rst:82 -msgid "" -"Another option is to disable Gatekeeper entirely. Note that this does " -"decrease the security of your computer by allowing you to run any software " -"you want. To do this, run ``sudo spctl --master-disable`` in the Terminal, " -"enter your password, and then the **Anywhere** option will be available:" -msgstr "" - -#: ../../docs/tutorials/export/running_on_macos.rst:89 -msgid "Note that Gatekeeper will re-enable itself when macOS updates." -msgstr "" - -#: ../../docs/tutorials/export/running_on_macos.rst:92 -msgid "App is not signed, executable is linker-signed" -msgstr "" - -#: ../../docs/tutorials/export/running_on_macos.rst:96 -msgid "App is built using official export templates, but it is not signed." -msgstr "" - -#: ../../docs/tutorials/export/running_on_macos.rst:102 -msgid "" -"To run this app, you should remove the quarantine extended file attribute " -"manually:" -msgstr "" - -#: ../../docs/tutorials/export/running_on_macos.rst:104 -#: ../../docs/tutorials/export/running_on_macos.rst:127 -msgid "" -"Open ``Terminal.app`` (press :kbd:`Cmd + Space` and enter ``Terminal``)." -msgstr "" - -#: ../../docs/tutorials/export/running_on_macos.rst:106 -#: ../../docs/tutorials/export/running_on_macos.rst:129 -msgid "Navigate to the folder containing the target application." -msgstr "" - -#: ../../docs/tutorials/export/running_on_macos.rst:108 -#: ../../docs/tutorials/export/running_on_macos.rst:131 -msgid "" -"Use the ``cd path_to_the_app_folder`` command, e.g. ``cd ~/Downloads/`` if " -"it's in the ``Downloads`` folder." -msgstr "" - -#: ../../docs/tutorials/export/running_on_macos.rst:110 -msgid "" -"Run the command ``xattr -dr com.apple.quarantine \"Unsigned Game.app\"`` " -"(including quotation marks and ``.app`` extension)." -msgstr "" - -#: ../../docs/tutorials/export/running_on_macos.rst:113 -msgid "" -"Neither app nor executable is signed (relevant for Apple Silicon Macs only)" -msgstr "" - -#: ../../docs/tutorials/export/running_on_macos.rst:117 -msgid "" -"App is built using custom export templates, compiled using OSXCross, and it " -"is not signed at all." -msgstr "" - -#: ../../docs/tutorials/export/running_on_macos.rst:123 -msgid "To run this app, you can ad-hoc sign it yourself:" -msgstr "" - -#: ../../docs/tutorials/export/running_on_macos.rst:125 -msgid "" -"Install ``Xcode`` for the App Store, start it and confirm command line tools " -"installation." -msgstr "" - -#: ../../docs/tutorials/export/running_on_macos.rst:133 -msgid "Run the following commands:" -msgstr "" - -#: ../../docs/tutorials/export/running_on_macos.rst:135 -msgid "" -"``xattr -dr com.apple.quarantine \"Unsigned Game.app\"`` (including " -"quotation marks and \".app\" extension)." -msgstr "" - -#: ../../docs/tutorials/export/running_on_macos.rst:137 -msgid "" -"``codesign -s - --force --deep \"Unsigned Game.app\"`` (including quotation " -"marks and \".app\" extension)." -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_windows.rst:4 -msgid "Exporting for Windows" -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_windows.rst:8 -msgid "" -"This page describes how to export a Godot project to Windows. If you're " -"looking to compile editor or export template binaries from source instead, " -"read :ref:`doc_compiling_for_windows`." -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_windows.rst:12 -msgid "" -"The simplest way to distribute a game for PC is to copy the executable " -"(``godot.exe``), compress the folder and send it to someone else. However, " -"this is often not desired." -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_windows.rst:16 -msgid "" -"Godot offers a more elegant approach for PC distribution when using the " -"export system. When exporting for Windows, the exporter takes all the " -"project files and creates a ``data.pck`` file. This file is bundled with a " -"specially optimized binary that is smaller, faster and does not contain the " -"editor and debugger." -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_windows.rst:22 -msgid "Changing the executable icon" -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_windows.rst:24 -msgid "" -"Godot will automatically use whatever image is set as your project's icon in " -"the project settings, and convert it to an ICO file for the exported " -"project. If you want to manually create an ICO file for greater control over " -"how the icon looks at different resolutions then see " -"the :ref:`doc_changing_application_icon_for_windows` page." -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_windows.rst:30 -msgid "Code signing" -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_windows.rst:32 -msgid "" -"Godot is capable of automatic code signing on export. To do this you must " -"have the ``Windows SDK`` (on Windows) or `osslsigncode `__ (on any other OS) installed. You will also need a " -"package signing certificate, information on creating one can be found `here " -"`__." -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_windows.rst:39 -msgid "" -"If you export for Windows with embedded PCK files, you will not be able to " -"sign the program as it will break." -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_windows.rst:42 -msgid "" -"On Windows, PCK embedding is also known to cause false positives in " -"antivirus programs. Therefore, it's recommended to avoid using it unless " -"you're distributing your project via Steam as it bypasses code signing and " -"antivirus checks." -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_windows.rst:50 -msgid "" -"Settings need to be changed in two places. First, in the editor settings, " -"under **Export > Windows**. Click on the folder next to the ``Sign Tool`` " -"setting, if you're using Windows navigate to and select ``SignTool.exe``, if " -"you're on a different OS select ``osslsigncode``." -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_windows.rst:57 -msgid "" -"The second location is the Windows export preset, which can be found in " -"**Project > Export...**. Add a windows desktop preset if you haven't " -"already. Under options there is a code signing category." -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_windows.rst:63 -msgid "" -"``Enabled`` must be set to true, and ``Identity`` must be set to the signing " -"certificate. The other settings can be adjusted as needed. Once this is Done " -"Godot will sign your project on export." -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_windows.rst:74 -msgid "Windows export environment variables" -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_windows.rst:81 -msgid "Options / Codesign / Identity Type" -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_windows.rst:82 -msgid "``GODOT_WINDOWS_CODESIGN_IDENTITY_TYPE``" -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_windows.rst:83 -msgid "Options / Codesign / Identity" -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_windows.rst:84 -msgid "``GODOT_WINDOWS_CODESIGN_IDENTITY``" -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_windows.rst:85 -msgid "Options / Codesign / Password" -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_windows.rst:86 -msgid "``GODOT_WINDOWS_CODESIGN_PASSWORD``" -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_windows.rst:91 -msgid "" -"You can find a full list of export options available in " -"the :ref:`class_EditorExportPlatformWindows` class reference." -msgstr "" - -#: ../../docs/tutorials/export/changing_application_icon_for_windows.rst:4 -msgid "Manually changing application icon for Windows" -msgstr "" - -#: ../../docs/tutorials/export/changing_application_icon_for_windows.rst:6 -msgid "" -"Windows applications use a Windows only format called ICO for their file " -"icon and taskbar icon. Since Godot 4.1, Godot can create an ICO file for you " -"based on the icon file defined in the Windows export preset. Supported " -"formats are PNG, WebP, and SVG. If no icon is defined in the Windows export " -"preset, the :ref:`application/config/icon " -"` project setting is " -"used automatically instead." -msgstr "" - -#: ../../docs/tutorials/export/changing_application_icon_for_windows.rst:13 -msgid "" -"This means you no longer need to follow the steps in this section to " -"manually create an ICO file, unless you wish to have control over the icon " -"design depending on its displayed size." -msgstr "" - -#: ../../docs/tutorials/export/changing_application_icon_for_windows.rst:18 -msgid "Creating a custom ICO file" -msgstr "" - -#: ../../docs/tutorials/export/changing_application_icon_for_windows.rst:20 -msgid "" -"You can create your application icon in any program but you will have to " -"convert it to an ICO file using a program such as GIMP." -msgstr "" - -#: ../../docs/tutorials/export/changing_application_icon_for_windows.rst:23 -msgid "" -"`This video tutorial `_ goes " -"over how to export an ICO file with GIMP." -msgstr "" - -#: ../../docs/tutorials/export/changing_application_icon_for_windows.rst:26 -msgid "" -"It is also possible to convert a PNG image to an hiDPI-friendly ICO file " -"using this `ImageMagick `_ command:" -msgstr "" - -#: ../../docs/tutorials/export/changing_application_icon_for_windows.rst:33 -msgid "" -"Depending on which version of ImageMagick you installed, you might need to " -"leave out the ``magick`` and run this command instead:" -msgstr "" - -#: ../../docs/tutorials/export/changing_application_icon_for_windows.rst:41 -msgid "" -"For the ICO file to effectively replace the default Godot icon, it must " -"contain *all* the sizes included in the default Godot icon: 16×16, 32×32, " -"48×48, 64×64, 128×128, 256×256. If the ICO file does not contain all the " -"sizes, the default Godot icon will be kept for the sizes that weren't " -"overridden." -msgstr "" - -#: ../../docs/tutorials/export/changing_application_icon_for_windows.rst:46 -msgid "The above ImageMagick command takes this into account." -msgstr "" - -#: ../../docs/tutorials/export/changing_application_icon_for_windows.rst:49 -msgid "Changing the taskbar icon" -msgstr "" - -#: ../../docs/tutorials/export/changing_application_icon_for_windows.rst:51 -msgid "" -"The taskbar icon is the icon that shows up on the taskbar when your project " -"is running." -msgstr "" - -#: ../../docs/tutorials/export/changing_application_icon_for_windows.rst:56 -msgid "" -"To change the taskbar icon, go to **Project > Project Settings > Application " -"> Config**, make sure **Advanced Settings** are enabled to see the setting, " -"then go to ``Windows Native Icon``. Click on the folder icon and select your " -"ICO file." -msgstr "" - -#: ../../docs/tutorials/export/changing_application_icon_for_windows.rst:63 -msgid "" -"This setting only changes the icon for your exported game on Windows. To set " -"the icon for macOS, use ``Macos Native Icon``. And for any other platform, " -"use the ``Icon`` setting." -msgstr "" - -#: ../../docs/tutorials/export/changing_application_icon_for_windows.rst:70 -msgid "Changing the file icon" -msgstr "" - -#: ../../docs/tutorials/export/changing_application_icon_for_windows.rst:72 -msgid "" -"The file icon is the icon of the executable that you click on to start the " -"project." -msgstr "" - -#: ../../docs/tutorials/export/changing_application_icon_for_windows.rst:77 -msgid "" -"To do that, you will need to specify the icon when exporting. Go to " -"**Project > Export**. Assuming you have already created a Windows Desktop " -"preset, select your icon in ICO format in the **Application > Icon** field." -msgstr "" - -#: ../../docs/tutorials/export/changing_application_icon_for_windows.rst:85 -msgid "Testing the result" -msgstr "" - -#: ../../docs/tutorials/export/changing_application_icon_for_windows.rst:87 -msgid "" -"You can now export the project. If it worked correctly, you should see this:" -msgstr "" - -#: ../../docs/tutorials/export/changing_application_icon_for_windows.rst:93 -msgid "" -"If your icon isn't showing up properly try clearing the icon cache. To do " -"so, open the **Run** dialog and enter ``ie4uinit.exe -ClearIconCache`` or " -"``ie4uinit.exe -show``." -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_ios.rst:4 -msgid "Exporting for iOS" -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_ios.rst:8 -msgid "" -"This page describes how to export a Godot project to iOS. If you're looking " -"to compile export template binaries from source instead, " -"read :ref:`doc_compiling_for_ios`." -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_ios.rst:12 -msgid "" -"These are the steps to load a Godot project in Xcode. This allows you to " -"build and deploy to an iOS device, build a release for the App Store, and do " -"everything else you can normally do with Xcode." -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_ios.rst:18 -msgid "" -"Projects written in C# can be exported to iOS as of Godot 4.2, but support " -"is experimental and :ref:`some limitations apply `." -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_ios.rst:24 -msgid "" -"You must export for iOS from a computer running macOS with Xcode installed." -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_ios.rst:25 -msgid "" -"Download the Godot export templates. Use the Godot menu: Editor > Manage " -"Export Templates" -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_ios.rst:28 -msgid "Export a Godot project to Xcode" -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_ios.rst:30 -msgid "" -"In the Godot editor, open the **Export** window from the **Project** menu. " -"When the Export window opens, click **Add..** and select **iOS**." -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_ios.rst:33 -msgid "" -"The **App Store Team ID** and (Bundle) **Identifier** options in the " -"**Application** category are required. Leaving them blank will cause the " -"exporter to throw an error." -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_ios.rst:0 -msgid "If you encounter an error during export similar to" -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_ios.rst:0 -msgid "" -"``JSON text did not start with array or object and option to allow fragments " -"not set``" -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_ios.rst:0 -msgid "then it might be due to a malformated **App Store Team ID**!" -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_ios.rst:0 -msgid "" -"The exporter expects a (10 characters long) code like ``ABCDE12XYZ`` and " -"not, e.g., your name as Xcode likes to display in the *Signing & " -"Capabilities* tab." -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_ios.rst:0 -msgid "" -"You can find the code over at `developer.apple.com `_ next to your name " -"in the top right corner." -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_ios.rst:42 -msgid "" -"After you click **Export Project**, there are still two important options " -"left:" -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_ios.rst:44 -msgid "" -"**Path** is an empty folder that will contain the exported Xcode project " -"files." -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_ios.rst:45 -msgid "" -"**File** will be the name of the Xcode project and several project specific " -"files and directories." -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_ios.rst:49 -msgid "" -"This tutorial uses **exported_xcode_project_name**, but you will use your " -"project's name. When you see **exported_xcode_project_name** in the " -"following steps, replace it with the name you used instead." -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_ios.rst:53 -msgid "" -"Avoid using spaces when you choose your **exported_xcode_project_name** as " -"this can lead to corruption in your XCode project file." -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_ios.rst:56 -msgid "When the export completes, the output folder should look like this:" -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_ios.rst:60 -msgid "" -"Opening **exported_xcode_project_name.xcodeproj** lets you build and deploy " -"like any other iOS app." -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_ios.rst:64 -msgid "Active development considerations" -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_ios.rst:66 -msgid "" -"The above method creates an exported project that you can build for release, " -"but you have to re-export every time you make a change in Godot." -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_ios.rst:69 -msgid "" -"While developing, you can speed this process up by linking your Godot " -"project files directly into your app." -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_ios.rst:72 -msgid "In the following example:" -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_ios.rst:74 -msgid "" -"**exported_xcode_project_name** is the name of the exported iOS application " -"(as above)." -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_ios.rst:75 -msgid "**godot_project_to_export** is the name of the Godot project." -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_ios.rst:77 -msgid "" -"**godot_project_to_export** must not be the same as " -"**exported_xcode_project_name** to prevent signing issues in Xcode." -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_ios.rst:81 -msgid "Steps to link a Godot project folder to Xcode" -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_ios.rst:83 -msgid "Start from an exported iOS project (follow the steps above)." -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_ios.rst:84 -msgid "In Finder, drag the Godot project folder into the Xcode file browser." -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_ios.rst:88 -msgid "" -"In the dialog, make sure to select Action: **Reference files in place** and " -"Groups: **Create folders**. Uncheck Targets: **exported_xcode_project_name**." -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_ios.rst:92 -msgid "See the **godot_project_to_export** folder in the Xcode file browser." -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_ios.rst:94 -msgid "" -"Select the godot project in the Project navigator. Then on the other side of " -"the XCode window, in the File Inspector, make these selections:" -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_ios.rst:96 -msgid "**Location**: Relative to Project" -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_ios.rst:97 -msgid "**Build Rules**: Apply Once to Folder" -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_ios.rst:98 -msgid "add your project to **Target Membership**" -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_ios.rst:104 -msgid "" -"Delete **exported_xcode_project_name.pck** from the Xcode project in the " -"project navigator." -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_ios.rst:108 -msgid "" -"8. Open **exported_xcode_project_name-Info.plist** and add a string property " -"named **godot_path** (this is the real key name) with a value " -"**godot_project_to_export** (this is the name of your project)" -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_ios.rst:114 -msgid "" -"That's it! You can now edit your project in the Godot editor and build it in " -"Xcode when you want to run it on a device." -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_ios.rst:118 -#: ../../docs/tutorials/platform/ios/plugins_for_ios.rst:6 -msgid "Plugins for iOS" -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_ios.rst:120 -msgid "" -"Special iOS plugins can be used in Godot. Check out " -"the :ref:`doc_plugins_for_ios` page." -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_ios.rst:130 -msgid "iOS export environment variables" -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_ios.rst:137 -msgid "Options / Application / Provisioning Profile UUID Debug" -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_ios.rst:138 -msgid "``GODOT_IOS_PROVISIONING_PROFILE_UUID_DEBUG``" -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_ios.rst:139 -msgid "Options / Application / Provisioning Profile UUID Release" -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_ios.rst:140 -msgid "``GODOT_IOS_PROVISIONING_PROFILE_UUID_RELEASE``" -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_ios.rst:146 -msgid "xcode-select points at wrong SDK location" -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_ios.rst:148 -msgid "" -"xcode-select is a tool that comes with Xcode and among other things points " -"at iOS SDKs on your Mac. If you have Xcode installed, opened it, agreed to " -"the license agreement, and installed the command line tools, xcode-select " -"should point at the right location for the iPhone SDK. If it somehow " -"doesn't, Godot will fail exporting to iOS with an error that may look like " -"this:" -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_ios.rst:158 -msgid "" -"In this case, Godot is trying to find the ``Platforms`` folder containing " -"the iPhone SDK inside the ``/Library/Developer/CommandLineTools/`` folder, " -"but the ``Platforms`` folder with the iPhone SDK is actually located under " -"``/Applications/Xcode.app/Contents/Developer``. To verify this, you can open " -"up Terminal and run the following command to see what xcode-select points at:" -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_ios.rst:167 -msgid "" -"To fix xcode-select pointing at a wrong location, enter this command in " -"Terminal:" -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_ios.rst:173 -msgid "" -"After running this command, Godot should be able to successfully export to " -"iOS." -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_ios.rst:178 -msgid "" -"You can find a full list of export options available in " -"the :ref:`class_EditorExportPlatformIOS` class reference." -msgstr "" - #: ../../docs/tutorials/export/exporting_for_android.rst:4 msgid "Exporting for Android" msgstr "" @@ -64370,94 +64039,316 @@ msgid "" "the :ref:`class_EditorExportPlatformAndroid` class reference." msgstr "" -#: ../../docs/tutorials/export/android_gradle_build.rst:4 -msgid "Gradle builds for Android" +#: ../../docs/tutorials/export/exporting_for_ios.rst:4 +msgid "Exporting for iOS" msgstr "" -#: ../../docs/tutorials/export/android_gradle_build.rst:6 +#: ../../docs/tutorials/export/exporting_for_ios.rst:8 msgid "" -"Godot provides the option to build using the gradle buildsystem. Instead of " -"using the already pre-built template that ships with Godot, an Android Java " -"project gets installed into your project folder. Godot will then build it " -"and use it as an export template every time you export the project." +"This page describes how to export a Godot project to iOS. If you're looking " +"to compile export template binaries from source instead, " +"read :ref:`doc_compiling_for_ios`." msgstr "" -#: ../../docs/tutorials/export/android_gradle_build.rst:11 -msgid "There are some reasons why you may want to do this:" -msgstr "" - -#: ../../docs/tutorials/export/android_gradle_build.rst:13 -msgid "Modify the project before it's built." -msgstr "" - -#: ../../docs/tutorials/export/android_gradle_build.rst:14 -msgid "Add external SDKs that build with your project." -msgstr "" - -#: ../../docs/tutorials/export/android_gradle_build.rst:16 +#: ../../docs/tutorials/export/exporting_for_ios.rst:12 msgid "" -"Configuring the gradle build is a fairly straightforward process. But first " -"you need to follow the steps in :ref:`exporting for " -"android` up to **Setting it up in Godot**. After " -"doing that, follow the steps below." +"These are the steps to load a Godot project in Xcode. This allows you to " +"build and deploy to an iOS device, build a release for the App Store, and do " +"everything else you can normally do with Xcode." msgstr "" -#: ../../docs/tutorials/export/android_gradle_build.rst:21 -msgid "Set up the gradle build environment" -msgstr "" - -#: ../../docs/tutorials/export/android_gradle_build.rst:23 -msgid "Go to the Project menu, and install the *Gradle Build* template:" -msgstr "" - -#: ../../docs/tutorials/export/android_gradle_build.rst:27 +#: ../../docs/tutorials/export/exporting_for_ios.rst:18 msgid "" -"Make sure export templates are downloaded. If not, this menu will help you " -"download them." +"Projects written in C# can be exported to iOS as of Godot 4.2, but support " +"is experimental and :ref:`some limitations apply `." msgstr "" -#: ../../docs/tutorials/export/android_gradle_build.rst:30 +#: ../../docs/tutorials/export/exporting_for_ios.rst:24 msgid "" -"A Gradle-based Android project will be created under ``res://android/" -"build``. Editing these files is not needed unless you really need to modify " -"the project." +"You must export for iOS from a computer running macOS with Xcode installed." msgstr "" -#: ../../docs/tutorials/export/android_gradle_build.rst:35 -msgid "Enabling the gradle build and exporting" -msgstr "" - -#: ../../docs/tutorials/export/android_gradle_build.rst:37 +#: ../../docs/tutorials/export/exporting_for_ios.rst:25 msgid "" -"When setting up the Android project in the **Project > Export** dialog, " -"**Gradle Build** needs to be enabled:" +"Download the Godot export templates. Use the Godot menu: Editor > Manage " +"Export Templates" msgstr "" -#: ../../docs/tutorials/export/android_gradle_build.rst:42 -msgid "" -"From now on, attempting to export the project or one-click deploy will call " -"the `Gradle `__ build system to generate fresh " -"templates (this window will appear every time):" +#: ../../docs/tutorials/export/exporting_for_ios.rst:28 +msgid "Export a Godot project to Xcode" msgstr "" -#: ../../docs/tutorials/export/android_gradle_build.rst:48 +#: ../../docs/tutorials/export/exporting_for_ios.rst:30 msgid "" -"The templates built will be used automatically afterwards, so no further " -"configuration is needed." +"In the Godot editor, open the **Export** window from the **Project** menu. " +"When the Export window opens, click **Add..** and select **iOS**." msgstr "" -#: ../../docs/tutorials/export/android_gradle_build.rst:53 +#: ../../docs/tutorials/export/exporting_for_ios.rst:33 msgid "" -"When using the gradle Android build system, assets that are placed within a " -"folder whose name begins with an underscore will not be included in the " -"generated APK. This does not apply to assets whose *file* name begins with " -"an underscore." +"The **App Store Team ID** and (Bundle) **Identifier** options in the " +"**Application** category are required. Leaving them blank will cause the " +"exporter to throw an error." msgstr "" -#: ../../docs/tutorials/export/android_gradle_build.rst:58 +#: ../../docs/tutorials/export/exporting_for_ios.rst:0 +msgid "If you encounter an error during export similar to" +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_ios.rst:0 msgid "" -"For example, ``_example/image.png`` will **not** be included as an asset, " -"but ``_image.png`` will." +"``JSON text did not start with array or object and option to allow fragments " +"not set``" +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_ios.rst:0 +msgid "then it might be due to a malformated **App Store Team ID**!" +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_ios.rst:0 +msgid "" +"The exporter expects a (10 characters long) code like ``ABCDE12XYZ`` and " +"not, e.g., your name as Xcode likes to display in the *Signing & " +"Capabilities* tab." +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_ios.rst:0 +msgid "" +"You can find the code over at `developer.apple.com `_ next to your name " +"in the top right corner." +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_ios.rst:42 +msgid "" +"After you click **Export Project**, there are still two important options " +"left:" +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_ios.rst:44 +msgid "" +"**Path** is an empty folder that will contain the exported Xcode project " +"files." +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_ios.rst:45 +msgid "" +"**File** will be the name of the Xcode project and several project specific " +"files and directories." +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_ios.rst:49 +msgid "" +"This tutorial uses **exported_xcode_project_name**, but you will use your " +"project's name. When you see **exported_xcode_project_name** in the " +"following steps, replace it with the name you used instead." +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_ios.rst:53 +msgid "" +"Avoid using spaces when you choose your **exported_xcode_project_name** as " +"this can lead to corruption in your XCode project file." +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_ios.rst:56 +msgid "When the export completes, the output folder should look like this:" +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_ios.rst:60 +msgid "" +"Opening **exported_xcode_project_name.xcodeproj** lets you build and deploy " +"like any other iOS app." +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_ios.rst:64 +msgid "Active development considerations" +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_ios.rst:66 +msgid "" +"The above method creates an exported project that you can build for release, " +"but you have to re-export every time you make a change in Godot." +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_ios.rst:69 +msgid "" +"While developing, you can speed this process up by linking your Godot " +"project files directly into your app." +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_ios.rst:72 +msgid "In the following example:" +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_ios.rst:74 +msgid "" +"**exported_xcode_project_name** is the name of the exported iOS application " +"(as above)." +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_ios.rst:75 +msgid "**godot_project_to_export** is the name of the Godot project." +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_ios.rst:77 +msgid "" +"**godot_project_to_export** must not be the same as " +"**exported_xcode_project_name** to prevent signing issues in Xcode." +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_ios.rst:81 +msgid "Steps to link a Godot project folder to Xcode" +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_ios.rst:83 +msgid "Start from an exported iOS project (follow the steps above)." +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_ios.rst:84 +msgid "In Finder, drag the Godot project folder into the Xcode file browser." +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_ios.rst:88 +msgid "" +"In the dialog, make sure to select Action: **Reference files in place** and " +"Groups: **Create folders**. Uncheck Targets: **exported_xcode_project_name**." +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_ios.rst:92 +msgid "See the **godot_project_to_export** folder in the Xcode file browser." +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_ios.rst:94 +msgid "" +"Select the godot project in the Project navigator. Then on the other side of " +"the XCode window, in the File Inspector, make these selections:" +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_ios.rst:96 +msgid "**Location**: Relative to Project" +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_ios.rst:97 +msgid "**Build Rules**: Apply Once to Folder" +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_ios.rst:98 +msgid "add your project to **Target Membership**" +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_ios.rst:104 +msgid "" +"Delete **exported_xcode_project_name.pck** from the Xcode project in the " +"project navigator." +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_ios.rst:108 +msgid "" +"8. Open **exported_xcode_project_name-Info.plist** and add a string property " +"named **godot_path** (this is the real key name) with a value " +"**godot_project_to_export** (this is the name of your project)" +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_ios.rst:114 +msgid "" +"That's it! You can now edit your project in the Godot editor and build it in " +"Xcode when you want to run it on a device." +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_ios.rst:118 +#: ../../docs/tutorials/platform/ios/plugins_for_ios.rst:6 +msgid "Plugins for iOS" +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_ios.rst:120 +msgid "" +"Special iOS plugins can be used in Godot. Check out " +"the :ref:`doc_plugins_for_ios` page." +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_ios.rst:130 +msgid "iOS export environment variables" +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_ios.rst:137 +msgid "Options / Application / Provisioning Profile UUID Debug" +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_ios.rst:138 +msgid "``GODOT_IOS_PROVISIONING_PROFILE_UUID_DEBUG``" +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_ios.rst:139 +msgid "Options / Application / Provisioning Profile UUID Release" +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_ios.rst:140 +msgid "``GODOT_IOS_PROVISIONING_PROFILE_UUID_RELEASE``" +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_ios.rst:146 +msgid "xcode-select points at wrong SDK location" +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_ios.rst:148 +msgid "" +"xcode-select is a tool that comes with Xcode and among other things points " +"at iOS SDKs on your Mac. If you have Xcode installed, opened it, agreed to " +"the license agreement, and installed the command line tools, xcode-select " +"should point at the right location for the iPhone SDK. If it somehow " +"doesn't, Godot will fail exporting to iOS with an error that may look like " +"this:" +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_ios.rst:158 +msgid "" +"In this case, Godot is trying to find the ``Platforms`` folder containing " +"the iPhone SDK inside the ``/Library/Developer/CommandLineTools/`` folder, " +"but the ``Platforms`` folder with the iPhone SDK is actually located under " +"``/Applications/Xcode.app/Contents/Developer``. To verify this, you can open " +"up Terminal and run the following command to see what xcode-select points at:" +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_ios.rst:167 +msgid "" +"To fix xcode-select pointing at a wrong location, enter this command in " +"Terminal:" +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_ios.rst:173 +msgid "" +"After running this command, Godot should be able to successfully export to " +"iOS." +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_ios.rst:178 +msgid "" +"You can find a full list of export options available in " +"the :ref:`class_EditorExportPlatformIOS` class reference." +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_visionos.rst:4 +msgid "Exporting for visionOS" +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_visionos.rst:8 +msgid "" +"This page describes how to export a Godot project to visionOS. If you're " +"looking to compile export template binaries from source instead, " +"see :ref:`doc_compiling_for_visionos`." +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_visionos.rst:12 +msgid "" +"Exporting instructions for visionOS are currently identical " +"to :ref:`doc_compiling_for_ios`, except you should add a **visionOS** export " +"preset instead of **iOS**. See the linked page for details." +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_visionos.rst:18 +msgid "" +"Note that currently, only exporting an application for use on a flat plane " +"within the headset is supported. Immersive experiences are not supported." msgstr "" #: ../../docs/tutorials/export/exporting_for_web.rst:4 @@ -65137,6 +65028,693 @@ msgid "" "the :ref:`class_EditorExportPlatformWeb` class reference." msgstr "" +#: ../../docs/tutorials/export/changing_application_icon_for_windows.rst:4 +msgid "Manually changing application icon for Windows" +msgstr "" + +#: ../../docs/tutorials/export/changing_application_icon_for_windows.rst:6 +msgid "" +"Windows applications use a Windows only format called ICO for their file " +"icon and taskbar icon. Since Godot 4.1, Godot can create an ICO file for you " +"based on the icon file defined in the Windows export preset. Supported " +"formats are PNG, WebP, and SVG. If no icon is defined in the Windows export " +"preset, the :ref:`application/config/icon " +"` project setting is " +"used automatically instead." +msgstr "" + +#: ../../docs/tutorials/export/changing_application_icon_for_windows.rst:13 +msgid "" +"This means you no longer need to follow the steps in this section to " +"manually create an ICO file, unless you wish to have control over the icon " +"design depending on its displayed size." +msgstr "" + +#: ../../docs/tutorials/export/changing_application_icon_for_windows.rst:18 +msgid "Creating a custom ICO file" +msgstr "" + +#: ../../docs/tutorials/export/changing_application_icon_for_windows.rst:20 +msgid "" +"You can create your application icon in any program but you will have to " +"convert it to an ICO file using a program such as GIMP." +msgstr "" + +#: ../../docs/tutorials/export/changing_application_icon_for_windows.rst:23 +msgid "" +"`This video tutorial `_ goes " +"over how to export an ICO file with GIMP." +msgstr "" + +#: ../../docs/tutorials/export/changing_application_icon_for_windows.rst:26 +msgid "" +"It is also possible to convert a PNG image to an hiDPI-friendly ICO file " +"using this `ImageMagick `_ command:" +msgstr "" + +#: ../../docs/tutorials/export/changing_application_icon_for_windows.rst:33 +msgid "" +"Depending on which version of ImageMagick you installed, you might need to " +"leave out the ``magick`` and run this command instead:" +msgstr "" + +#: ../../docs/tutorials/export/changing_application_icon_for_windows.rst:41 +msgid "" +"For the ICO file to effectively replace the default Godot icon, it must " +"contain *all* the sizes included in the default Godot icon: 16×16, 32×32, " +"48×48, 64×64, 128×128, 256×256. If the ICO file does not contain all the " +"sizes, the default Godot icon will be kept for the sizes that weren't " +"overridden." +msgstr "" + +#: ../../docs/tutorials/export/changing_application_icon_for_windows.rst:46 +msgid "The above ImageMagick command takes this into account." +msgstr "" + +#: ../../docs/tutorials/export/changing_application_icon_for_windows.rst:49 +msgid "Changing the taskbar icon" +msgstr "" + +#: ../../docs/tutorials/export/changing_application_icon_for_windows.rst:51 +msgid "" +"The taskbar icon is the icon that shows up on the taskbar when your project " +"is running." +msgstr "" + +#: ../../docs/tutorials/export/changing_application_icon_for_windows.rst:56 +msgid "" +"To change the taskbar icon, go to **Project > Project Settings > Application " +"> Config**, make sure **Advanced Settings** are enabled to see the setting, " +"then go to ``Windows Native Icon``. Click on the folder icon and select your " +"ICO file." +msgstr "" + +#: ../../docs/tutorials/export/changing_application_icon_for_windows.rst:63 +msgid "" +"This setting only changes the icon for your exported game on Windows. To set " +"the icon for macOS, use ``Macos Native Icon``. And for any other platform, " +"use the ``Icon`` setting." +msgstr "" + +#: ../../docs/tutorials/export/changing_application_icon_for_windows.rst:70 +msgid "Changing the file icon" +msgstr "" + +#: ../../docs/tutorials/export/changing_application_icon_for_windows.rst:72 +msgid "" +"The file icon is the icon of the executable that you click on to start the " +"project." +msgstr "" + +#: ../../docs/tutorials/export/changing_application_icon_for_windows.rst:77 +msgid "" +"To do that, you will need to specify the icon when exporting. Go to " +"**Project > Export**. Assuming you have already created a Windows Desktop " +"preset, select your icon in ICO format in the **Application > Icon** field." +msgstr "" + +#: ../../docs/tutorials/export/changing_application_icon_for_windows.rst:85 +msgid "Testing the result" +msgstr "" + +#: ../../docs/tutorials/export/changing_application_icon_for_windows.rst:87 +msgid "" +"You can now export the project. If it worked correctly, you should see this:" +msgstr "" + +#: ../../docs/tutorials/export/changing_application_icon_for_windows.rst:93 +msgid "" +"If your icon isn't showing up properly try clearing the icon cache. To do " +"so, open the **Run** dialog and enter ``ie4uinit.exe -ClearIconCache`` or " +"``ie4uinit.exe -show``." +msgstr "" + +#: ../../docs/tutorials/export/running_on_macos.rst:4 +msgid "Running Godot apps on macOS" +msgstr "" + +#: ../../docs/tutorials/export/running_on_macos.rst:8 +msgid "" +"This page covers running Godot projects on macOS. If you haven't exported " +"your project yet, read :ref:`doc_exporting_for_macos` first." +msgstr "" + +#: ../../docs/tutorials/export/running_on_macos.rst:11 +msgid "" +"By default, macOS will run only applications that are signed and notarized." +msgstr "" + +#: ../../docs/tutorials/export/running_on_macos.rst:15 +msgid "" +"When running an app from the Downloads folder or when still in quarantine, " +"Gatekeeper will perform *path randomization* as a security measure. This " +"breaks access to relative paths from the app, which the app relies upon to " +"work. To resolve this issue, move the app to the ``/Applications`` folder." +msgstr "" + +#: ../../docs/tutorials/export/running_on_macos.rst:20 +msgid "" +"In general, macOS apps should avoid relying on relative paths from the " +"application folder." +msgstr "" + +#: ../../docs/tutorials/export/running_on_macos.rst:23 +msgid "" +"Depending on the way a macOS app is signed and distributed, the following " +"scenarios are possible:" +msgstr "" + +#: ../../docs/tutorials/export/running_on_macos.rst:26 +msgid "App is signed, notarized and distributed via App Store" +msgstr "" + +#: ../../docs/tutorials/export/running_on_macos.rst:30 +msgid "" +"App developers need to join the Apple Developer Program, and configure " +"signing and notarization options during export, then upload the app to the " +"App Store." +msgstr "" + +#: ../../docs/tutorials/export/running_on_macos.rst:32 +msgid "" +"The app should run out of the box, without extra user interaction required." +msgstr "" + +#: ../../docs/tutorials/export/running_on_macos.rst:35 +msgid "App is signed, notarized and distributed outside App Store" +msgstr "" + +#: ../../docs/tutorials/export/running_on_macos.rst:39 +msgid "" +"App developers need to join the Apple Developer Program, and configure " +"signing and notarization options during export, then distribute the app as " +"\".DMG\" or \".ZIP\" archive." +msgstr "" + +#: ../../docs/tutorials/export/running_on_macos.rst:41 +#: ../../docs/tutorials/export/running_on_macos.rst:62 +#: ../../docs/tutorials/export/running_on_macos.rst:98 +#: ../../docs/tutorials/export/running_on_macos.rst:119 +msgid "" +"When you run the app for the first time, the following dialog is displayed:" +msgstr "" + +#: ../../docs/tutorials/export/running_on_macos.rst:45 +msgid "Click ``Open`` to start the app." +msgstr "" + +#: ../../docs/tutorials/export/running_on_macos.rst:47 +msgid "" +"If you see the following warning dialog, your Mac is set up to allow apps " +"only from the App Store." +msgstr "" + +#: ../../docs/tutorials/export/running_on_macos.rst:51 +msgid "" +"To allow third-party apps, open ``System Preferences``, click ``Security & " +"Privacy``, then click ``General``, unlock settings, and select ``App Store " +"and identified developers``." +msgstr "" + +#: ../../docs/tutorials/export/running_on_macos.rst:56 +msgid "App is signed (including ad-hoc signatures) but not notarized" +msgstr "" + +#: ../../docs/tutorials/export/running_on_macos.rst:60 +msgid "" +"App developer used self-signed certificate or ad-hoc signing (default Godot " +"behavior for exported project)." +msgstr "" + +#: ../../docs/tutorials/export/running_on_macos.rst:66 +msgid "To run this app, you can temporarily override Gatekeeper:" +msgstr "" + +#: ../../docs/tutorials/export/running_on_macos.rst:68 +msgid "" +"Either open ``System Preferences``, click ``Security & Privacy``, then click " +"``General``, and click ``Open Anyway``." +msgstr "" + +#: ../../docs/tutorials/export/running_on_macos.rst:72 +msgid "" +"Or, right-click (Control-click) on the app icon in the Finder window and " +"select ``Open`` from the menu." +msgstr "" + +#: ../../docs/tutorials/export/running_on_macos.rst:76 +msgid "Then click ``Open`` in the confirmation dialog." +msgstr "" + +#: ../../docs/tutorials/export/running_on_macos.rst:80 +msgid "Enter your password if you're prompted." +msgstr "" + +#: ../../docs/tutorials/export/running_on_macos.rst:82 +msgid "" +"Another option is to disable Gatekeeper entirely. Note that this does " +"decrease the security of your computer by allowing you to run any software " +"you want. To do this, run ``sudo spctl --master-disable`` in the Terminal, " +"enter your password, and then the **Anywhere** option will be available:" +msgstr "" + +#: ../../docs/tutorials/export/running_on_macos.rst:89 +msgid "Note that Gatekeeper will re-enable itself when macOS updates." +msgstr "" + +#: ../../docs/tutorials/export/running_on_macos.rst:92 +msgid "App is not signed, executable is linker-signed" +msgstr "" + +#: ../../docs/tutorials/export/running_on_macos.rst:96 +msgid "App is built using official export templates, but it is not signed." +msgstr "" + +#: ../../docs/tutorials/export/running_on_macos.rst:102 +msgid "" +"To run this app, you should remove the quarantine extended file attribute " +"manually:" +msgstr "" + +#: ../../docs/tutorials/export/running_on_macos.rst:104 +#: ../../docs/tutorials/export/running_on_macos.rst:127 +msgid "" +"Open ``Terminal.app`` (press :kbd:`Cmd + Space` and enter ``Terminal``)." +msgstr "" + +#: ../../docs/tutorials/export/running_on_macos.rst:106 +#: ../../docs/tutorials/export/running_on_macos.rst:129 +msgid "Navigate to the folder containing the target application." +msgstr "" + +#: ../../docs/tutorials/export/running_on_macos.rst:108 +#: ../../docs/tutorials/export/running_on_macos.rst:131 +msgid "" +"Use the ``cd path_to_the_app_folder`` command, e.g. ``cd ~/Downloads/`` if " +"it's in the ``Downloads`` folder." +msgstr "" + +#: ../../docs/tutorials/export/running_on_macos.rst:110 +msgid "" +"Run the command ``xattr -dr com.apple.quarantine \"Unsigned Game.app\"`` " +"(including quotation marks and ``.app`` extension)." +msgstr "" + +#: ../../docs/tutorials/export/running_on_macos.rst:113 +msgid "" +"Neither app nor executable is signed (relevant for Apple Silicon Macs only)" +msgstr "" + +#: ../../docs/tutorials/export/running_on_macos.rst:117 +msgid "" +"App is built using custom export templates, compiled using OSXCross, and it " +"is not signed at all." +msgstr "" + +#: ../../docs/tutorials/export/running_on_macos.rst:123 +msgid "To run this app, you can ad-hoc sign it yourself:" +msgstr "" + +#: ../../docs/tutorials/export/running_on_macos.rst:125 +msgid "" +"Install ``Xcode`` for the App Store, start it and confirm command line tools " +"installation." +msgstr "" + +#: ../../docs/tutorials/export/running_on_macos.rst:133 +msgid "Run the following commands:" +msgstr "" + +#: ../../docs/tutorials/export/running_on_macos.rst:135 +msgid "" +"``xattr -dr com.apple.quarantine \"Unsigned Game.app\"`` (including " +"quotation marks and \".app\" extension)." +msgstr "" + +#: ../../docs/tutorials/export/running_on_macos.rst:137 +msgid "" +"``codesign -s - --force --deep \"Unsigned Game.app\"`` (including quotation " +"marks and \".app\" extension)." +msgstr "" + +#: ../../docs/tutorials/export/android_gradle_build.rst:4 +msgid "Gradle builds for Android" +msgstr "" + +#: ../../docs/tutorials/export/android_gradle_build.rst:6 +msgid "" +"Godot provides the option to build using the gradle buildsystem. Instead of " +"using the already pre-built template that ships with Godot, an Android Java " +"project gets installed into your project folder. Godot will then build it " +"and use it as an export template every time you export the project." +msgstr "" + +#: ../../docs/tutorials/export/android_gradle_build.rst:11 +msgid "There are some reasons why you may want to do this:" +msgstr "" + +#: ../../docs/tutorials/export/android_gradle_build.rst:13 +msgid "Modify the project before it's built." +msgstr "" + +#: ../../docs/tutorials/export/android_gradle_build.rst:14 +msgid "Add external SDKs that build with your project." +msgstr "" + +#: ../../docs/tutorials/export/android_gradle_build.rst:16 +msgid "" +"Configuring the gradle build is a fairly straightforward process. But first " +"you need to follow the steps in :ref:`exporting for " +"android` up to **Setting it up in Godot**. After " +"doing that, follow the steps below." +msgstr "" + +#: ../../docs/tutorials/export/android_gradle_build.rst:21 +msgid "Set up the gradle build environment" +msgstr "" + +#: ../../docs/tutorials/export/android_gradle_build.rst:23 +msgid "Go to the Project menu, and install the *Gradle Build* template:" +msgstr "" + +#: ../../docs/tutorials/export/android_gradle_build.rst:27 +msgid "" +"Make sure export templates are downloaded. If not, this menu will help you " +"download them." +msgstr "" + +#: ../../docs/tutorials/export/android_gradle_build.rst:30 +msgid "" +"A Gradle-based Android project will be created under ``res://android/" +"build``. Editing these files is not needed unless you really need to modify " +"the project." +msgstr "" + +#: ../../docs/tutorials/export/android_gradle_build.rst:35 +msgid "Enabling the gradle build and exporting" +msgstr "" + +#: ../../docs/tutorials/export/android_gradle_build.rst:37 +msgid "" +"When setting up the Android project in the **Project > Export** dialog, " +"**Gradle Build** needs to be enabled:" +msgstr "" + +#: ../../docs/tutorials/export/android_gradle_build.rst:42 +msgid "" +"From now on, attempting to export the project or one-click deploy will call " +"the `Gradle `__ build system to generate fresh " +"templates (this window will appear every time):" +msgstr "" + +#: ../../docs/tutorials/export/android_gradle_build.rst:48 +msgid "" +"The templates built will be used automatically afterwards, so no further " +"configuration is needed." +msgstr "" + +#: ../../docs/tutorials/export/android_gradle_build.rst:53 +msgid "" +"When using the gradle Android build system, assets that are placed within a " +"folder whose name begins with an underscore will not be included in the " +"generated APK. This does not apply to assets whose *file* name begins with " +"an underscore." +msgstr "" + +#: ../../docs/tutorials/export/android_gradle_build.rst:58 +msgid "" +"For example, ``_example/image.png`` will **not** be included as an asset, " +"but ``_image.png`` will." +msgstr "" + +#: ../../docs/tutorials/export/one-click_deploy.rst:4 +msgid "One-click deploy" +msgstr "" + +#: ../../docs/tutorials/export/one-click_deploy.rst:7 +msgid "What is one-click deploy?" +msgstr "" + +#: ../../docs/tutorials/export/one-click_deploy.rst:9 +msgid "" +"One-click deploy is a feature that is available once a platform is properly " +"configured and a supported device is connected to the computer. Since things " +"can go wrong at many levels (platform may not be configured correctly, SDK " +"may be incorrectly installed, device may be improperly configured, etc.), " +"it's good to let the user know that it exists." +msgstr "" + +#: ../../docs/tutorials/export/one-click_deploy.rst:15 +msgid "" +"After adding an Android export preset marked as Runnable, Godot can detect " +"when a USB device is connected to the computer and offer the user to " +"automatically export, install and run the project (in debug mode) on the " +"device. This feature is called *one-click deploy*." +msgstr "" + +#: ../../docs/tutorials/export/one-click_deploy.rst:22 +msgid "" +"One-click deploy is only available once you've added an export template " +"marked as **Runnable** in the Export dialog. You can mark several export " +"presets as runnable, but only one preset per platform may be marked as " +"runnable. If you mark a second preset in a given platform as runnable, the " +"other preset will no longer be marked as runnable." +msgstr "" + +#: ../../docs/tutorials/export/one-click_deploy.rst:29 +msgid "Supported platforms" +msgstr "" + +#: ../../docs/tutorials/export/one-click_deploy.rst:31 +msgid "" +"**Android:** Exports the project with debugging enabled and runs it on the " +"connected device." +msgstr "" + +#: ../../docs/tutorials/export/one-click_deploy.rst:34 +msgid "" +"Make sure to follow the steps described in :ref:`doc_exporting_for_android`. " +"Otherwise, the one-click deploy button won't appear." +msgstr "" + +#: ../../docs/tutorials/export/one-click_deploy.rst:37 +#: ../../docs/tutorials/export/one-click_deploy.rst:50 +msgid "" +"If you have more than one device connected, Godot will ask you which device " +"the project should be exported to." +msgstr "" + +#: ../../docs/tutorials/export/one-click_deploy.rst:40 +msgid "" +"**iOS:** Exports the project with debugging enabled and runs it on the " +"connected device." +msgstr "" + +#: ../../docs/tutorials/export/one-click_deploy.rst:43 +msgid "" +"Make sure to follow the steps described in :ref:`doc_exporting_for_ios`. " +"Otherwise, the one-click deploy button won't appear." +msgstr "" + +#: ../../docs/tutorials/export/one-click_deploy.rst:46 +msgid "" +"For each new bundle identifier, export the project, open it in the Xcode, " +"and build at least once to create new provisioning profile or create a " +"provisioning profile in the Apple Developer account dashboard." +msgstr "" + +#: ../../docs/tutorials/export/one-click_deploy.rst:53 +msgid "" +"**Desktop platforms:** Exports the project with debugging enabled and runs " +"it on the remote computer via SSH." +msgstr "" + +#: ../../docs/tutorials/export/one-click_deploy.rst:56 +msgid "" +"**Web:** Starts a local web server and runs the exported project by opening " +"the default web browser. This is only accessible on ``localhost`` by " +"default. See :ref:`Troubleshooting ` for making the exported project " +"accessible on remote devices." +msgstr "" + +#: ../../docs/tutorials/export/one-click_deploy.rst:62 +msgid "Using one-click deploy" +msgstr "" + +#: ../../docs/tutorials/export/one-click_deploy.rst:64 +msgid "**Android:**" +msgstr "" + +#: ../../docs/tutorials/export/one-click_deploy.rst:65 +msgid "" +"Enable developer mode on your mobile device then enable USB debugging in the " +"device's settings." +msgstr "" + +#: ../../docs/tutorials/export/one-click_deploy.rst:67 +msgid "" +"After enabling USB debugging, connect the device to your PC using a USB " +"cable." +msgstr "" + +#: ../../docs/tutorials/export/one-click_deploy.rst:69 +msgid "For advanced users, it should also be possible to use wireless ADB." +msgstr "" + +#: ../../docs/tutorials/export/one-click_deploy.rst:71 +msgid "**iOS:**" +msgstr "" + +#: ../../docs/tutorials/export/one-click_deploy.rst:72 +msgid "" +"Install Xcode, accept Xcode license and login with your Apple Developer " +"account." +msgstr "" + +#: ../../docs/tutorials/export/one-click_deploy.rst:74 +msgid "" +"If you are using Xcode 14 or earlier, install `ios-deploy `__ and set path to `ios-deploy` in the " +"Editor Settings (see `Export ⇾ iOS ⇾ iOS Deploy`)." +msgstr "" + +#: ../../docs/tutorials/export/one-click_deploy.rst:76 +msgid "For running on device:" +msgstr "" + +#: ../../docs/tutorials/export/one-click_deploy.rst:77 +msgid "Pair your mobile device with a Mac." +msgstr "" + +#: ../../docs/tutorials/export/one-click_deploy.rst:78 +msgid "Enable developer mode on your device." +msgstr "" + +#: ../../docs/tutorials/export/one-click_deploy.rst:79 +msgid "Device can be connected via USB or local network." +msgstr "" + +#: ../../docs/tutorials/export/one-click_deploy.rst:80 +msgid "" +"Make sure the device is on the same local network and a correct network " +"interface is selected in the editor settings (see `Network ⇾ Debug ⇾ Remote " +"Host`). By default, the editor is listening for `localhost` connections only." +msgstr "" + +#: ../../docs/tutorials/export/one-click_deploy.rst:83 +msgid "Device screen should be unlocked." +msgstr "" + +#: ../../docs/tutorials/export/one-click_deploy.rst:85 +msgid "**Desktop platforms:**" +msgstr "" + +#: ../../docs/tutorials/export/one-click_deploy.rst:86 +msgid "" +"Enable `SSH Remote Deploy` and configure connection settings in the project " +"export setting." +msgstr "" + +#: ../../docs/tutorials/export/one-click_deploy.rst:89 +msgid "" +"Make sure there is an export preset marked as **Runnable** for the target " +"platform (Android, iOS or Web)." +msgstr "" + +#: ../../docs/tutorials/export/one-click_deploy.rst:91 +msgid "" +"If everything is configured correctly and with no errors, platform-specific " +"icons will appear in the top-right corner of the editor." +msgstr "" + +#: ../../docs/tutorials/export/one-click_deploy.rst:93 +msgid "Click the button to export to the desired platform in one click." +msgstr "" + +#: ../../docs/tutorials/export/one-click_deploy.rst:105 +msgid "" +"If you can't see the device in the list of devices when running the ``adb " +"devices`` command in a terminal, it will not be visible by Godot either. To " +"resolve this:" +msgstr "" + +#: ../../docs/tutorials/export/one-click_deploy.rst:109 +msgid "" +"Check if USB debugging is enabled *and authorized on the device*. Try " +"unlocking your device and accepting the authorization prompt if you see any. " +"If you can't see this prompt, running ``adb devices`` on your PC should make " +"the authorization prompt appear on the device." +msgstr "" + +#: ../../docs/tutorials/export/one-click_deploy.rst:113 +msgid "" +"Try `revoking the debugging authorization `__ in the device's " +"developer settings, then follow the steps again." +msgstr "" + +#: ../../docs/tutorials/export/one-click_deploy.rst:115 +msgid "" +"Try using USB debugging instead of wireless debugging or vice versa. " +"Sometimes, one of those can work better than the other." +msgstr "" + +#: ../../docs/tutorials/export/one-click_deploy.rst:117 +msgid "" +"On Linux, you may be missing the required `udev rules `__ for your device to be recognized." +msgstr "" + +#: ../../docs/tutorials/export/one-click_deploy.rst:126 +msgid "" +"By default, the web server started by the editor is only accessible from " +"``localhost``. This means the web server can't be reached by other devices " +"on the local network or the Internet (if port forwarding is set up on the " +"router). This is done for security reasons, as you may not want other " +"devices to be able to access the exported project while you're testing it. " +"Binding to ``localhost`` also prevents a firewall popup from appearing when " +"you use one-click deploy for the web platform." +msgstr "" + +#: ../../docs/tutorials/export/one-click_deploy.rst:134 +msgid "" +"To make the local web server accessible over the local network, you'll need " +"to change the **Export > Web > HTTP Host** editor setting to ``0.0.0.0``. " +"You will also need to enable **Export > Web > Use TLS** as SharedArrayBuffer " +"requires the use of a secure connection to work, *unless* connecting to " +"``localhost``. However, since other clients will be connecting to a remote " +"device, the use of TLS is absolutely required here." +msgstr "" + +#: ../../docs/tutorials/export/one-click_deploy.rst:141 +msgid "" +"To make the local web server accessible over the Internet, you'll also need " +"to forward the **Export > Web > HTTP Port** port specified in the Editor " +"Settings (``8060`` by default) in TCP on your router. This is usually done " +"by accessing your router's web interface then adding a NAT rule for the port " +"in question. For IPv6 connections, you should allow the port in the router's " +"IPv6 firewall instead. Like for local network devices, you will also need to " +"enable **Export > Web > Use TLS**." +msgstr "" + +#: ../../docs/tutorials/export/one-click_deploy.rst:151 +msgid "" +"When **Use TLS** is enabled, you will get a warning from your web browser as " +"Godot will use a temporary self-signed certificate. You can safely ignore it " +"and bypass the warning by clicking **Advanced** and then **Proceed to " +"(address)**." +msgstr "" + +#: ../../docs/tutorials/export/one-click_deploy.rst:156 +msgid "" +"If you have an SSL/TLS certificate that is trusted by browsers, you can " +"specify the paths to the key and certificate files in the **Export > Web > " +"TLS Key** and **Export > Web > TLS Certificate**. This will only work if the " +"project is accessed through a domain name that is part of the TLS " +"certificate." +msgstr "" + #: ../../docs/tutorials/export/exporting_for_dedicated_servers.rst:4 #: ../../docs/tutorials/networking/high_level_multiplayer.rst:663 msgid "Exporting for dedicated servers" @@ -65424,274 +66002,6 @@ msgid "" "outside the scope of this tutorial)." msgstr "" -#: ../../docs/tutorials/export/one-click_deploy.rst:4 -msgid "One-click deploy" -msgstr "" - -#: ../../docs/tutorials/export/one-click_deploy.rst:7 -msgid "What is one-click deploy?" -msgstr "" - -#: ../../docs/tutorials/export/one-click_deploy.rst:9 -msgid "" -"One-click deploy is a feature that is available once a platform is properly " -"configured and a supported device is connected to the computer. Since things " -"can go wrong at many levels (platform may not be configured correctly, SDK " -"may be incorrectly installed, device may be improperly configured, etc.), " -"it's good to let the user know that it exists." -msgstr "" - -#: ../../docs/tutorials/export/one-click_deploy.rst:15 -msgid "" -"After adding an Android export preset marked as Runnable, Godot can detect " -"when a USB device is connected to the computer and offer the user to " -"automatically export, install and run the project (in debug mode) on the " -"device. This feature is called *one-click deploy*." -msgstr "" - -#: ../../docs/tutorials/export/one-click_deploy.rst:22 -msgid "" -"One-click deploy is only available once you've added an export template " -"marked as **Runnable** in the Export dialog. You can mark several export " -"presets as runnable, but only one preset per platform may be marked as " -"runnable. If you mark a second preset in a given platform as runnable, the " -"other preset will no longer be marked as runnable." -msgstr "" - -#: ../../docs/tutorials/export/one-click_deploy.rst:29 -msgid "Supported platforms" -msgstr "" - -#: ../../docs/tutorials/export/one-click_deploy.rst:31 -msgid "" -"**Android:** Exports the project with debugging enabled and runs it on the " -"connected device." -msgstr "" - -#: ../../docs/tutorials/export/one-click_deploy.rst:34 -msgid "" -"Make sure to follow the steps described in :ref:`doc_exporting_for_android`. " -"Otherwise, the one-click deploy button won't appear." -msgstr "" - -#: ../../docs/tutorials/export/one-click_deploy.rst:37 -#: ../../docs/tutorials/export/one-click_deploy.rst:50 -msgid "" -"If you have more than one device connected, Godot will ask you which device " -"the project should be exported to." -msgstr "" - -#: ../../docs/tutorials/export/one-click_deploy.rst:40 -msgid "" -"**iOS:** Exports the project with debugging enabled and runs it on the " -"connected device." -msgstr "" - -#: ../../docs/tutorials/export/one-click_deploy.rst:43 -msgid "" -"Make sure to follow the steps described in :ref:`doc_exporting_for_ios`. " -"Otherwise, the one-click deploy button won't appear." -msgstr "" - -#: ../../docs/tutorials/export/one-click_deploy.rst:46 -msgid "" -"For each new bundle identifier, export the project, open it in the Xcode, " -"and build at least once to create new provisioning profile or create a " -"provisioning profile in the Apple Developer account dashboard." -msgstr "" - -#: ../../docs/tutorials/export/one-click_deploy.rst:53 -msgid "" -"**Desktop platforms:** Exports the project with debugging enabled and runs " -"it on the remote computer via SSH." -msgstr "" - -#: ../../docs/tutorials/export/one-click_deploy.rst:56 -msgid "" -"**Web:** Starts a local web server and runs the exported project by opening " -"the default web browser. This is only accessible on ``localhost`` by " -"default. See :ref:`Troubleshooting ` for making the exported project " -"accessible on remote devices." -msgstr "" - -#: ../../docs/tutorials/export/one-click_deploy.rst:62 -msgid "Using one-click deploy" -msgstr "" - -#: ../../docs/tutorials/export/one-click_deploy.rst:64 -msgid "**Android:**" -msgstr "" - -#: ../../docs/tutorials/export/one-click_deploy.rst:65 -msgid "" -"Enable developer mode on your mobile device then enable USB debugging in the " -"device's settings." -msgstr "" - -#: ../../docs/tutorials/export/one-click_deploy.rst:67 -msgid "" -"After enabling USB debugging, connect the device to your PC using a USB " -"cable." -msgstr "" - -#: ../../docs/tutorials/export/one-click_deploy.rst:69 -msgid "For advanced users, it should also be possible to use wireless ADB." -msgstr "" - -#: ../../docs/tutorials/export/one-click_deploy.rst:71 -msgid "**iOS:**" -msgstr "" - -#: ../../docs/tutorials/export/one-click_deploy.rst:72 -msgid "" -"Install Xcode, accept Xcode license and login with your Apple Developer " -"account." -msgstr "" - -#: ../../docs/tutorials/export/one-click_deploy.rst:74 -msgid "" -"If you are using Xcode 14 or earlier, install `ios-deploy `__ and set path to `ios-deploy` in the " -"Editor Settings (see `Export ⇾ iOS ⇾ iOS Deploy`)." -msgstr "" - -#: ../../docs/tutorials/export/one-click_deploy.rst:76 -msgid "For running on device:" -msgstr "" - -#: ../../docs/tutorials/export/one-click_deploy.rst:77 -msgid "Pair your mobile device with a Mac." -msgstr "" - -#: ../../docs/tutorials/export/one-click_deploy.rst:78 -msgid "Enable developer mode on your device." -msgstr "" - -#: ../../docs/tutorials/export/one-click_deploy.rst:79 -msgid "Device can be connected via USB or local network." -msgstr "" - -#: ../../docs/tutorials/export/one-click_deploy.rst:80 -msgid "" -"Make sure the device is on the same local network and a correct network " -"interface is selected in the editor settings (see `Network ⇾ Debug ⇾ Remote " -"Host`). By default, the editor is listening for `localhost` connections only." -msgstr "" - -#: ../../docs/tutorials/export/one-click_deploy.rst:83 -msgid "Device screen should be unlocked." -msgstr "" - -#: ../../docs/tutorials/export/one-click_deploy.rst:85 -msgid "**Desktop platforms:**" -msgstr "" - -#: ../../docs/tutorials/export/one-click_deploy.rst:86 -msgid "" -"Enable `SSH Remote Deploy` and configure connection settings in the project " -"export setting." -msgstr "" - -#: ../../docs/tutorials/export/one-click_deploy.rst:89 -msgid "" -"Make sure there is an export preset marked as **Runnable** for the target " -"platform (Android, iOS or Web)." -msgstr "" - -#: ../../docs/tutorials/export/one-click_deploy.rst:91 -msgid "" -"If everything is configured correctly and with no errors, platform-specific " -"icons will appear in the top-right corner of the editor." -msgstr "" - -#: ../../docs/tutorials/export/one-click_deploy.rst:93 -msgid "Click the button to export to the desired platform in one click." -msgstr "" - -#: ../../docs/tutorials/export/one-click_deploy.rst:105 -msgid "" -"If you can't see the device in the list of devices when running the ``adb " -"devices`` command in a terminal, it will not be visible by Godot either. To " -"resolve this:" -msgstr "" - -#: ../../docs/tutorials/export/one-click_deploy.rst:109 -msgid "" -"Check if USB debugging is enabled *and authorized on the device*. Try " -"unlocking your device and accepting the authorization prompt if you see any. " -"If you can't see this prompt, running ``adb devices`` on your PC should make " -"the authorization prompt appear on the device." -msgstr "" - -#: ../../docs/tutorials/export/one-click_deploy.rst:113 -msgid "" -"Try `revoking the debugging authorization `__ in the device's " -"developer settings, then follow the steps again." -msgstr "" - -#: ../../docs/tutorials/export/one-click_deploy.rst:115 -msgid "" -"Try using USB debugging instead of wireless debugging or vice versa. " -"Sometimes, one of those can work better than the other." -msgstr "" - -#: ../../docs/tutorials/export/one-click_deploy.rst:117 -msgid "" -"On Linux, you may be missing the required `udev rules `__ for your device to be recognized." -msgstr "" - -#: ../../docs/tutorials/export/one-click_deploy.rst:126 -msgid "" -"By default, the web server started by the editor is only accessible from " -"``localhost``. This means the web server can't be reached by other devices " -"on the local network or the Internet (if port forwarding is set up on the " -"router). This is done for security reasons, as you may not want other " -"devices to be able to access the exported project while you're testing it. " -"Binding to ``localhost`` also prevents a firewall popup from appearing when " -"you use one-click deploy for the web platform." -msgstr "" - -#: ../../docs/tutorials/export/one-click_deploy.rst:134 -msgid "" -"To make the local web server accessible over the local network, you'll need " -"to change the **Export > Web > HTTP Host** editor setting to ``0.0.0.0``. " -"You will also need to enable **Export > Web > Use TLS** as SharedArrayBuffer " -"requires the use of a secure connection to work, *unless* connecting to " -"``localhost``. However, since other clients will be connecting to a remote " -"device, the use of TLS is absolutely required here." -msgstr "" - -#: ../../docs/tutorials/export/one-click_deploy.rst:141 -msgid "" -"To make the local web server accessible over the Internet, you'll also need " -"to forward the **Export > Web > HTTP Port** port specified in the Editor " -"Settings (``8060`` by default) in TCP on your router. This is usually done " -"by accessing your router's web interface then adding a NAT rule for the port " -"in question. For IPv6 connections, you should allow the port in the router's " -"IPv6 firewall instead. Like for local network devices, you will also need to " -"enable **Export > Web > Use TLS**." -msgstr "" - -#: ../../docs/tutorials/export/one-click_deploy.rst:151 -msgid "" -"When **Use TLS** is enabled, you will get a warning from your web browser as " -"Godot will use a temporary self-signed certificate. You can safely ignore it " -"and bypass the warning by clicking **Advanced** and then **Proceed to " -"(address)**." -msgstr "" - -#: ../../docs/tutorials/export/one-click_deploy.rst:156 -msgid "" -"If you have an SSL/TLS certificate that is trusted by browsers, you can " -"specify the paths to the key and certificate files in the **Export > Web > " -"TLS Key** and **Export > Web > TLS Certificate**. This will only work if the " -"project is accessed through a domain name that is part of the TLS " -"certificate." -msgstr "" - #: ../../docs/tutorials/io/index.rst:4 msgid "File and data I/O" msgstr "" @@ -68269,38 +68579,39 @@ msgstr "" #: ../../docs/tutorials/i18n/internationalizing_games.rst:243 msgid "" "To check whether your UI can accommodate translations with longer strings " -"than the original, you can enable *pseudolocalization* in the advanced " -"Project Settings. This will replace all your localizable strings with longer " -"versions of themselves, while also replacing some characters in the original " -"strings with accented versions (while still being readable). Placeholders " -"are kept as-is, so that they keep working when pseudolocalization is enabled." +"than the original, you can enable :ref:`pseudolocalization " +"` in the advanced Project Settings. This will " +"replace all your localizable strings with longer versions of themselves, " +"while also replacing some characters in the original strings with accented " +"versions (while still being readable). Placeholders are kept as-is, so that " +"they keep working when pseudolocalization is enabled." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:250 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:251 msgid "" "For example, the string ``Hello world, this is %s!`` becomes ``[Ĥéłłô ŵôŕłd́, " "ŧh̀íš íš %s!]`` when pseudolocalization is enabled." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:253 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:254 msgid "" "While looking strange at first, pseudolocalization has several benefits:" msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:255 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:256 msgid "" "It lets you spot non-localizable strings quickly, so you can go over them " "and make them localizable (if it makes sense to do so)." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:257 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:258 msgid "" "It lets you check UI elements that can't fit long strings. Many languages " "will feature much longer translations than the source text, so it's " "important to ensure your UI can accommodate longer-than-usual strings." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:260 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:261 msgid "" "It lets you check whether your font contains all the characters required to " "support various languages. However, since the goal of pseudolocalization is " @@ -68309,17 +68620,17 @@ msgid "" "or right-to-left languages." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:266 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:267 msgid "" "The project settings allow you to tune pseudolocalization behavior, so that " "you can disable parts of it if desired." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:270 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:271 msgid "TranslationServer" msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:272 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:273 msgid "" "Godot has a server handling low-level translation management called " "the :ref:`TranslationServer `. Translations can be " @@ -68327,11 +68638,11 @@ msgid "" "runtime." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:280 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:281 msgid "Bidirectional text and UI Mirroring" msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:282 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:283 msgid "" "Arabic and Hebrew are written from right to left (except for the numbers and " "Latin words mixed in), and the user interface for these languages should be " @@ -68339,34 +68650,34 @@ msgid "" "on the surrounding characters." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:286 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:287 msgid "" "Support for bidirectional writing systems and UI mirroring is transparent, " "you don't usually need to change anything or have any knowledge of the " "specific writing system." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:289 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:290 msgid "" "For RTL languages, Godot will automatically do the following changes to the " "UI:" msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:291 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:292 msgid "Mirrors left/right anchors and margins." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:292 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:293 msgid "Swaps left and right text alignment." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:293 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:294 msgid "" "Mirrors horizontal order of the child controls in the containers, and items " "in Tree/ItemList controls." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:294 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:295 msgid "" "Uses mirrored order of the internal control elements (e.g. OptionButton " "dropdown button, checkbox alignment, List column order, Tree item icons and " @@ -68374,51 +68685,51 @@ msgid "" "separate theme styles." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:295 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:296 msgid "" "Coordinate system is not mirrored, and non-UI nodes (sprites, e.t.c) are not " "affected." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:297 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:298 msgid "" "It is possible to override text and control layout direction by using the " "following control properties:" msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:299 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:300 msgid "" "``text_direction``, sets the base text direction. When set to \"auto\", " "direction depends on the first strong directional character in the text " "according to the Unicode Bidirectional Algorithm," msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:300 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:301 msgid "``language``, overrides current project locale." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:301 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:302 msgid "" "``structured_text_bidi_override`` property and ``_structured_text_parser`` " "callback, enables special handling for structured text." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:302 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:303 msgid "``layout_direction``, overrides control mirroring." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:308 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:309 msgid "" "You can see how right-to-left typesetting works in action using the `BiDI " "and Font Features demo project `__." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:312 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:313 msgid "Adding break iterator data to exported project" msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:314 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:315 msgid "" "Some languages are written without spaces. In those languages, word and line " "breaking require more than rules over character sequences. Godot includes " @@ -68426,25 +68737,25 @@ msgid "" "included in exported projects by default." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:319 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:320 msgid "" "To include it, go to **Project → Project Settings**, enable " "**Internationalization → Locale → Include Text Server Data**, then export " "the project. Break iterator data is about 4 MB in size." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:323 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:324 msgid "Structured text BiDi override" msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:325 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:326 msgid "" "Unicode BiDi algorithm is designed to work with natural text and it's " "incapable of handling text with the higher level order, like file names, " "URIs, email addresses, regular expressions or source code." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:331 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:332 msgid "" "For example, the path for this shown directory structure will be displayed " "incorrectly (top \"LineEdit\" control). \"File\" type structured text " @@ -68453,17 +68764,17 @@ msgid "" "and preserve correct order of the folders (bottom \"LineEdit\" control)." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:336 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:337 msgid "" "Custom callbacks provide a way to override BiDi for the other types of " "structured text." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:339 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:340 msgid "Localizing numbers" msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:341 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:342 msgid "" "Controls specifically designed for number input or output (e.g. ProgressBar, " "SpinBox) will use localized numbering system automatically, for the other " @@ -68474,28 +68785,28 @@ msgid "" "` to convert it back." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:349 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:350 msgid "Localizing icons and images" msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:351 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:352 msgid "" "Icons with left and right pointing arrows which may need to be reversed for " "Arabic and Hebrew locales, in case they indicate movement or direction (e.g. " "back/forward buttons). Otherwise, they can remain the same." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:356 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:357 msgid "Testing translations" msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:358 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:359 msgid "" "You may want to test a project's translation before releasing it. Godot " "provides three ways to do this." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:361 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:362 msgid "" "First, in the Project Settings, under :menu:`Internationalization > Locale` " "(with advanced settings enabled), there is a **Test** property. Set this " @@ -68504,38 +68815,38 @@ msgid "" "or when exported)." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:368 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:369 msgid "" "Keep in mind that since this is a project setting, it will show up in " "version control when it is set to a non-empty value. Therefore, it should be " "set back to an empty value before committing changes to version control." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:372 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:373 msgid "" "Second, from within the editor go to the top bar and click on :button:`View` " "on the top bar, then go down to :ui:`Preview Translation` and select the " "language you want to preview." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:377 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:378 msgid "" "All text in scenes in the editor should now be displayed using the selected " "language." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:379 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:380 msgid "" "Translations can also be tested when :ref:`running Godot from the command " "line `. For example, to test a game in French, " "the following argument can be supplied:" msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:388 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:389 msgid "Translating the project name" msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:390 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:391 msgid "" "The project name becomes the app name when exporting to different operating " "systems and platforms. To specify the project name in more than one language " @@ -68547,7 +68858,7 @@ msgid "" "in the localized name." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:401 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:402 msgid "" "If you are unsure about the language code to use, refer to the :ref:`list of " "locale codes `." @@ -81426,7 +81737,7 @@ msgstr "" #: ../../docs/tutorials/navigation/navigation_introduction_2d.rst:102 msgid "" "Define the movable navigation area with the NavigationPolygon draw tool. " -"Then click the `Bake NavigationPolygon`` button on the toolbar." +"Then click the :button:`Bake NavigationPolygon` button on the toolbar." msgstr "" #: ../../docs/tutorials/navigation/navigation_introduction_2d.rst:109 @@ -84532,12 +84843,12 @@ msgid "" "quality problems for a game. If cell size or cell height is set too low the " "baking is forced to create an excessive amount of voxels to process the " "source geometry. If the source geometry spans over a very large game world " -"it is even possible that the baking process runs out off memory in the " -"middle and crashes the game. The partition type can also be lowered " -"depending on how complex the games source geometry is to gain some " -"performance. E.g. games with mostly flat surfaces with blocky geometry can " -"get away with the monotone or layers mode that are a lot faster to bake " -"(e.g. because they require no distance field pass)." +"it is even possible that the baking process runs out of memory in the middle " +"and crashes the game. The partition type can also be lowered depending on " +"how complex the games source geometry is to gain some performance. E.g. " +"games with mostly flat surfaces with blocky geometry can get away with the " +"monotone or layers mode that are a lot faster to bake (e.g. because they " +"require no distance field pass)." msgstr "" #: ../../docs/tutorials/navigation/navigation_optimizing_performance.rst:60 @@ -87783,6 +88094,93 @@ msgid "" "enabling **Editable Children** on the node." msgstr "" +#: ../../docs/tutorials/performance/pipeline_compilations.rst:215 +msgid "Shader baker" +msgstr "" + +#: ../../docs/tutorials/performance/pipeline_compilations.rst:217 +msgid "" +"Since Godot 4.5, you can choose to bake shaders on export to improve initial " +"startup time. This will generally not resolve existing stutters, but it will " +"reduce the time it takes to load the game for the first time. This is " +"especially the case when using Direct3D 12 or Metal, which have " +"significantly slower initial shader compilation times than Vulkan due to the " +"conversion step required. Godot's own shaders use GLSL and SPIR-V, but " +"Direct3D 12 and Metal use different formats." +msgstr "" + +#: ../../docs/tutorials/performance/pipeline_compilations.rst:227 +msgid "" +"The shader baker can only bake the source into the intermediate format (SPIR-" +"V for Vulkan, DXIL for Direct3D 12, MIL for Metal). It cannot bake the " +"intermediate format into the final pipeline, as this is dependent on the GPU " +"driver and the hardware." +msgstr "" + +#: ../../docs/tutorials/performance/pipeline_compilations.rst:232 +msgid "" +"The shader baker is not a replacement for pipeline precompilation, but it " +"aims to complement it." +msgstr "" + +#: ../../docs/tutorials/performance/pipeline_compilations.rst:235 +msgid "" +"When enabled, the shader baker will bundle compiled shader code into the " +"PCK, which results in the shader compilation step being skipped entirely. " +"The downside is that exporting will take slightly longer. The PCK file will " +"be larger by a few megabytes." +msgstr "" + +#: ../../docs/tutorials/performance/pipeline_compilations.rst:240 +msgid "" +"The shader baker is disabled by default, but you can enable it in each " +"export preset in the Export dialog by ticking the :ui:`Shader Baker > " +"Enabled` export option." +msgstr "" + +#: ../../docs/tutorials/performance/pipeline_compilations.rst:244 +msgid "" +"Note that shader baking will only be able to export shaders for drivers " +"supported by the platform the editor is currently running on:" +msgstr "" + +#: ../../docs/tutorials/performance/pipeline_compilations.rst:247 +msgid "" +"The editor running on Windows can export shaders for Vulkan and Direct3D 12." +msgstr "" + +#: ../../docs/tutorials/performance/pipeline_compilations.rst:248 +msgid "The editor running on macOS can export shaders for Vulkan and Metal." +msgstr "" + +#: ../../docs/tutorials/performance/pipeline_compilations.rst:249 +msgid "The editor running on Linux can export shaders for Vulkan only." +msgstr "" + +#: ../../docs/tutorials/performance/pipeline_compilations.rst:250 +msgid "The editor running on Android can export shaders for Vulkan only." +msgstr "" + +#: ../../docs/tutorials/performance/pipeline_compilations.rst:252 +msgid "" +"The shader baker will only export shaders that match the ``rendering/" +"rendering_device/driver`` project setting for the target platform." +msgstr "" + +#: ../../docs/tutorials/performance/pipeline_compilations.rst:257 +msgid "" +"The shader baker is only supported for the Forward+ and Mobile renderers. It " +"will have no effect if the project uses the Compatibility renderer, or for " +"users who make use of the Compatibility fallback due to their hardware not " +"supporting the Forward+ or Mobile renderer." +msgstr "" + +#: ../../docs/tutorials/performance/pipeline_compilations.rst:262 +msgid "" +"This also means the shader baker is not supported on the web platform, as " +"the web platform only supports the Compatibility renderer." +msgstr "" + #: ../../docs/tutorials/performance/optimizing_3d_performance.rst:-1 msgid "optimization" msgstr "" @@ -89448,25 +89846,10 @@ msgid "" msgstr "" #: ../../docs/tutorials/physics/using_jolt_physics.rst:36 -msgid "Area3D and static bodies" -msgstr "" - -#: ../../docs/tutorials/physics/using_jolt_physics.rst:37 -msgid "" -"When using Jolt, :ref:`class_Area3D` will not detect overlaps " -"with :ref:`class_StaticBody3D` (nor a :ref:`class_RigidBody3D` frozen with " -"``FREEZE_MODE_STATIC``) by default, for performance reasons. If you have " -"many/large :ref:`class_Area3D` overlapping with complex static geometry, " -"such as :ref:`class_ConcavePolygonShape3D` or :ref:`class_HeightMapShape3D`, " -"you can end up wasting a significant amount of CPU performance and memory " -"without realizing it." -msgstr "" - -#: ../../docs/tutorials/physics/using_jolt_physics.rst:45 msgid "Joint properties" msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:47 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:38 msgid "" "The current interfaces for the 3D joint nodes don't quite line up with the " "interface of Jolt's own joints. As such, there are a number of joint " @@ -89474,45 +89857,45 @@ msgid "" "joint's soft limits." msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:51 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:42 msgid "The unsupported properties are:" msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:53 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:44 msgid "PinJoint3D: ``bias``, ``damping``, ``impulse_clamp``" msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:54 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:45 msgid "HingeJoint3D: ``bias``, ``softness``, ``relaxation``" msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:55 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:46 msgid "" "SliderJoint3D: ``angular_\\*``, ``\\*_limit/softness``, ``\\*_limit/" "restitution``, ``\\*_limit/damping``" msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:56 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:47 msgid "ConeTwistJoint3D: ``bias``, ``relaxation``, ``softness``" msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:57 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:48 msgid "" "Generic6DOFJoint3D: ``*_limit_*/softness``, ``*_limit_*/restitution``, " "``*_limit_*/damping``, ``*_limit_*/erp``" msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:59 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:50 msgid "" "Currently a warning is emitted if you set these properties to anything but " "their default values." msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:63 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:54 msgid "Single-body joints" msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:65 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:56 msgid "" "You can, in Godot, omit one of the joint bodies for a two-body joint and " "effectively have \"the world\" be the other body. However, the node path " @@ -89524,7 +89907,7 @@ msgid "" "your limits allow both linear and angular degrees of freedom." msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:74 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:65 msgid "" "Jolt will behave as if you assigned the body to ``node_b`` instead, with " "``node_a`` representing \"the world\". There is a project setting " @@ -89534,11 +89917,11 @@ msgid "" "for an existing project." msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:79 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:70 msgid "Collision margins" msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:81 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:72 msgid "" "Jolt (and other similar physics engines) uses something that Jolt refers to " "as \"convex radius\" to help improve the performance and behavior of the " @@ -89549,7 +89932,7 @@ msgid "" "anything." msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:88 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:79 msgid "" "What these collision margins sometimes do in other engines (as described in " "Godot's documentation) is effectively add a \"shell\" around the shape, " @@ -89559,7 +89942,7 @@ msgid "" "off, but without increasing the size of the shape." msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:95 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:86 msgid "" "To prevent having to tweak this margin property manually, since its default " "value can be problematic for smaller shapes, the Jolt module exposes a " @@ -89570,7 +89953,7 @@ msgid "" "The margin property of the shape is then instead used as an upper bound." msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:102 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:93 msgid "" "These margins should, for most use-cases, be more or less transparent, but " "can sometimes result in odd collision normals when performing shape queries. " @@ -89579,11 +89962,11 @@ msgid "" "odd collision results, so is generally not recommended." msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:109 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:100 msgid "Baumgarte stabilization" msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:111 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:102 msgid "" "Baumgarte stabilization is a method to resolve penetrating bodies and push " "them to a state where they are just touching. In Godot Physics this works " @@ -89593,7 +89976,7 @@ msgid "" "it cannot overshoot but it may take longer to resolve the penetration." msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:118 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:109 msgid "" "The strength of this stabilization can be tweaked using the project " "setting :ref:`Physics > Jolt Physics 3D > Simulation > Baumgarte " @@ -89604,18 +89987,18 @@ msgid "" "unstable." msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:125 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:116 msgid "Ghost collisions" msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:127 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:118 msgid "" "Jolt employs two techniques to mitigate ghost collisions, meaning collisions " "with internal edges of shapes/bodies that result in collision normals that " "oppose the direction of movement." msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:131 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:122 msgid "" "The first technique, called \"active edge detection\", marks edges of " "triangles in :ref:`class_ConcavePolygonShape3D` " @@ -89625,7 +90008,7 @@ msgid "" "normal instead, to lessen the effect of ghost collisions." msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:137 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:128 msgid "" "The angle threshold for this active edge detection is configurable through " "the project setting :ref:`Physics >Jolt Physics 3D > Collisions > Active " @@ -89633,7 +90016,7 @@ msgid "" "collisions/active_edge_threshold>`." msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:140 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:131 msgid "" "The second technique, called \"enhanced internal edge removal\", instead " "adds runtime checks to detect whether an edge is active or inactive, based " @@ -89643,7 +90026,7 @@ msgid "" "the same body." msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:146 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:137 msgid "" "Enhanced internal edge removal can be toggled on and off for the various " "contexts to which it's applied, using the :ref:`Physics >Jolt Physics 3D > " @@ -89656,18 +90039,18 @@ msgid "" "jolt_physics_3d/motion_queries/use_enhanced_internal_edge_removal>`." msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:151 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:142 msgid "" "Note that neither the active edge detection nor enhanced internal edge " "removal apply when dealing with ghost collisions between two different " "bodies." msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:155 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:146 msgid "Memory usage" msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:157 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:148 msgid "" "Jolt uses a stack allocator for temporary allocations within its simulation " "step. This stack allocator requires allocating a set amount of memory up " @@ -89676,11 +90059,11 @@ msgid "" "jolt_physics_3d/limits/temporary_memory_buffer_size>` project setting." msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:163 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:154 msgid "Ray-cast face index" msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:165 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:156 msgid "" "The ``face_index`` property returned in the results " "of :ref:`intersect_ray()` " @@ -89690,17 +90073,17 @@ msgid "" "enable_ray_cast_face_index>` will enable them." msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:169 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:160 msgid "" "Note that enabling this setting will increase the memory requirement " "of :ref:`class_ConcavePolygonShape3D` with about 25%." msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:173 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:164 msgid "Kinematic RigidBody3D contacts" msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:175 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:166 msgid "" "When using Jolt, a :ref:`class_RigidBody3D` frozen " "with :ref:`FREEZE_MODE_KINEMATIC` " @@ -89713,7 +90096,7 @@ msgid "" "amount of CPU performance and memory without realizing it." msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:183 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:174 msgid "" "For this reason this behavior is opt-in through the project " "setting :ref:`Physics > Jolt Physics 3D > Simulation > Generate All " @@ -89721,11 +90104,11 @@ msgid "" "simulation/generate_all_kinematic_contacts>`." msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:187 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:178 msgid "Contact impulses" msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:189 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:180 msgid "" "Due to limitations internal to Jolt, the contact impulses provided " "by :ref:`PhysicsDirectBodyState3D.get_contact_impulse()` " @@ -89735,18 +90118,18 @@ msgid "" "colliding with any other bodies." msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:195 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:186 msgid "Area3D and SoftBody3D" msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:197 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:188 msgid "" "Jolt does not currently support any interactions " "between :ref:`class_SoftBody3D` and :ref:`class_Area3D`, such as overlap " "events, or the wind properties found on :ref:`class_Area3D`." msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:204 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:195 msgid "" ":ref:`class_WorldBoundaryShape3D`, which is meant to represent an infinite " "plane, is implemented a bit differently in Jolt compared to Godot Physics. " @@ -89755,201 +90138,201 @@ msgid "" "avoid precision issues." msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:209 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:200 msgid "" "You can configure this size using the :ref:`Physics > Jolt Physics 3D > " "Limits > World Boundary Shape Size` project setting." msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:213 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:204 msgid "Notable differences to the Godot Jolt extension" msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:215 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:206 msgid "" "While the built-in Jolt module is largely a straight port of the Godot Jolt " "extension, there are a few things that are different." msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:219 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:210 #: ../../docs/contributing/documentation/docs_writing_guidelines.rst:635 msgid "Project settings" msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:221 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:212 msgid "" "All project settings have been moved from the ``physics/jolt_3d`` category " "to ``physics/jolt_physics_3d``." msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:224 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:215 msgid "" "On top of that, there's been some renaming and refactoring of the individual " "project settings as well. These include:" msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:227 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:218 msgid "``sleep/enabled`` is now ``simulation/allow_sleep.``" msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:228 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:219 msgid "" "``sleep/velocity_threshold`` is now ``simulation/sleep_velocity_threshold.``" msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:229 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:220 msgid "``sleep/time_threshold`` is now ``simulation/sleep_time_threshold.``" msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:230 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:221 msgid "" "``collisions/use_shape_margins`` is now ``collisions/" "collision_margin_fraction``, where a value of 0 is equivalent to disabling " "it." msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:232 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:223 msgid "" "``collisions/use_enhanced_internal_edge_removal`` is now ``simulation/" "use_enhanced_internal_edge_removal.``" msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:233 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:224 msgid "" "``collisions/areas_detect_static_bodies`` is now ``simulation/" "areas_detect_static_bodies.``" msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:234 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:225 msgid "" "``collisions/report_all_kinematic_contacts`` is now ``simulation/" "generate_all_kinematic_contacts.``" msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:235 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:226 msgid "" "``collisions/soft_body_point_margin`` is now ``simulation/" "soft_body_point_radius.``" msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:236 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:227 msgid "" "``collisions/body_pair_cache_enabled is now simulation/" "body_pair_contact_cache_enabled.``" msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:237 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:228 msgid "" "``collisions/body_pair_cache_distance_threshold`` is ``now simulation/" "body_pair_contact_cache_distance_threshold.``" msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:238 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:229 msgid "" "``collisions/body_pair_cache_angle_threshold is now simulation/" "body_pair_contact_cache_angle_threshold.``" msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:239 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:230 msgid "" "``continuous_cd/movement_threshold`` is now ``simulation/" "continuous_cd_movement_threshold``, but expressed as a fraction instead of a " "percentage." msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:241 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:232 msgid "" "``continuous_cd/max_penetration`` is now ``simulation/" "continuous_cd_max_penetration``, but expressed as a fraction instead of a " "percentage." msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:243 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:234 msgid "" "``kinematics/use_enhanced_internal_edge_removal`` is now ``motion_queries/" "use_enhanced_internal_edge_removal.``" msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:244 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:235 msgid "" "``kinematics/recovery_iterations`` is now ``motion_queries/" "recovery_iterations``, but expressed as a fraction instead of a percentage." msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:246 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:237 msgid "" "``kinematics/recovery_amount`` is now ``motion_queries/recovery_amount.``" msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:247 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:238 msgid "``queries/use_legacy_ray_casting`` has been removed." msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:248 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:239 msgid "``solver/position_iterations`` is now ``simulation/position_steps.``" msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:249 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:240 msgid "``solver/velocity_iterations`` is now ``simulation/velocity_steps.``" msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:250 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:241 msgid "" "``solver/position_correction`` is now ``simulation/" "baumgarte_stabilization_factor``, but expressed as a fraction instead of a " "percentage." msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:252 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:243 msgid "" "``solver/active_edge_threshold`` is now ``collisions/active_edge_threshold.``" msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:253 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:244 msgid "" "``solver/bounce_velocity_threshold`` is now ``simulation/" "bounce_velocity_threshold.``" msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:254 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:245 msgid "" "``solver/contact_speculative_distance`` is now ``simulation/" "speculative_contact_distance.``" msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:255 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:246 msgid "" "``solver/contact_allowed_penetration`` is now ``simulation/" "penetration_slop.``" msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:256 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:247 msgid "``limits/max_angular_velocity`` is now stored as radians instead." msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:257 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:248 msgid "" "``limits/max_temporary_memory`` is now ``limits/" "temporary_memory_buffer_size.``" msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:260 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:251 msgid "Joint nodes" msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:262 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:253 msgid "" "The joint nodes that are exposed in the Godot Jolt extension " "(JoltPinJoint3D, JoltHingeJoint3D, JoltSliderJoint3D, JoltConeTwistJoint3D, " "and JoltGeneric6DOFJoint) have not been included in the Jolt module." msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:267 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:258 msgid "Thread safety" msgstr "" -#: ../../docs/tutorials/physics/using_jolt_physics.rst:269 +#: ../../docs/tutorials/physics/using_jolt_physics.rst:260 msgid "" "Unlike the Godot Jolt extension, the Jolt module does have thread-safety, " "including support for the :ref:`Physics > 3D > Run On Separate " @@ -94648,8 +95031,8 @@ msgstr "" #: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:6 msgid "" "Godot offers a first-party ``GodotGooglePlayBilling`` Android plugin " -"compatible with Godot 4 which uses the `Google Play Billing library `_." +"compatible with Godot 4.2+ which uses the `Google Play Billing library " +"`_." msgstr "" #: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:15 @@ -94686,23 +95069,24 @@ msgstr "" msgid "Initialization example:" msgstr "" -#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:46 +#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:44 msgid "" "The API must be in a connected state prior to use. The ``connected`` signal " -"is sent when the connection process succeeds. You can also use ``isReady()`` " -"to determine if the plugin is ready for use. The ``get_connection_state()`` " -"function returns the current connection state of the plugin." +"is sent when the connection process succeeds. You can also use " +"``is_ready()`` to determine if the plugin is ready for use. The " +"``get_connection_state()`` function returns the current connection state of " +"the plugin." msgstr "" -#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:51 +#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:49 msgid "Return values for ``get_connection_state()``:" msgstr "" -#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:66 +#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:64 msgid "Query available items" msgstr "" -#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:68 +#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:66 msgid "" "Once the API has connected, query product IDs using " "`query_product_details()`. You must successfully complete a product details " @@ -94716,15 +95100,15 @@ msgid "" "for your app." msgstr "" -#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:76 +#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:74 msgid "Example use of ``query_product_details()``:" msgstr "" -#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:94 +#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:92 msgid "Query user purchases" msgstr "" -#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:96 +#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:94 msgid "" "To retrieve a user's purchases, call the ``query_purchases()`` function " "passing a product type to query. The product type should be " @@ -94737,15 +95121,15 @@ msgid "" "purchase array." msgstr "" -#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:105 +#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:103 msgid "Example use of ``query_purchases()``:" msgstr "" -#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:123 +#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:121 msgid "Purchase an item" msgstr "" -#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:125 +#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:123 msgid "" "To launch the billing flow for an item: - Use ``purchase()`` for in-app " "products, passing the product ID string. - Use ``purchase_subscription()`` " @@ -94753,14 +95137,14 @@ msgid "" "optionally provide an offer ID." msgstr "" -#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:129 +#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:127 msgid "" "For both ``purchase()`` and ``purchase_subscription()``, you can optionally " "pass a boolean to indicate whether offers are `personallised `_" msgstr "" -#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:132 +#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:130 msgid "" "Reminder: you **must** query the product details for an item before you can " "pass it to ``purchase()``. This method returns a dictionary indicating " @@ -94768,21 +95152,21 @@ msgid "" "code and either an array of purchases or a debug message." msgstr "" -#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:137 +#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:135 msgid "Example use of ``purchase()``:" msgstr "" -#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:149 +#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:147 msgid "" "The result of the purchase will be sent through the ``on_purchases_updated`` " "signal." msgstr "" -#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:164 +#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:162 msgid "Processing a purchase item" msgstr "" -#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:166 +#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:164 msgid "" "The ``query_purchases_response`` and ``on_purchases_updated`` signals " "provide an array of purchases in :ref:`Dictionary ` " @@ -94791,25 +95175,25 @@ msgid "" "android/billingclient/api/Purchase>`_ class." msgstr "" -#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:171 +#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:169 msgid "Purchase fields:" msgstr "" -#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:189 +#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:187 msgid "Check purchase state" msgstr "" -#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:191 +#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:189 msgid "" "Check the ``purchase_state`` value of a purchase to determine if a purchase " "was completed or is still pending." msgstr "" -#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:194 +#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:192 msgid "PurchaseState values:" msgstr "" -#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:207 +#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:205 msgid "" "If a purchase is in a ``PENDING`` state, you should not award the contents " "of the purchase or do any further processing of the purchase until it " @@ -94820,11 +95204,11 @@ msgid "" "integrate#pending>`_ in the Google Play Billing Library documentation." msgstr "" -#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:217 +#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:215 msgid "Consumables" msgstr "" -#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:219 +#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:217 msgid "" "If your in-app item is not a one-time purchase but a consumable item (e.g. " "coins) which can be purchased multiple times, you can consume an item by " @@ -94835,15 +95219,15 @@ msgid "" "unless it is repurchased." msgstr "" -#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:226 +#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:224 msgid "Example use of ``consume_purchase()``:" msgstr "" -#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:251 +#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:249 msgid "Acknowledging purchases" msgstr "" -#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:253 +#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:251 msgid "" "If your in-app item is a one-time purchase, you must acknowledge the " "purchase by calling the ``acknowledge_purchase()`` function, passing the " @@ -94854,15 +95238,15 @@ msgid "" "not need to call ``acknowledge_purchase()``." msgstr "" -#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:260 +#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:258 msgid "Example use of ``acknowledge_purchase()``:" msgstr "" -#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:287 +#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:285 msgid "Subscriptions" msgstr "" -#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:289 +#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:287 msgid "" "Subscriptions work mostly like regular in-app items. Use " "``BillingClient.ProductType.SUBS`` as the second argument to " @@ -94871,20 +95255,20 @@ msgid "" "subscription purchase details." msgstr "" -#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:293 +#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:291 msgid "" "You can check ``is_auto_renewing`` in the a subscription purchase returned " "from ``query_purchases()`` to see if a user has cancelled an auto-renewing " "subscription." msgstr "" -#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:297 +#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:295 msgid "" "You need to acknowledge new subscription purchases, but not automatic " "subscription renewals." msgstr "" -#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:300 +#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:298 msgid "" "If you support upgrading or downgrading between different subscription " "levels, you should use ``update_subscription()`` to use the subscription " @@ -94893,41 +95277,41 @@ msgid "" "parameters of ``update_subscription()``:" msgstr "" -#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:306 +#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:304 msgid "" "old_purchase_token: The purchase token of the currently active subscription" msgstr "" -#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:307 +#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:305 msgid "replacement_mode: The replacement mode to apply to the subscription" msgstr "" -#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:308 +#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:306 msgid "product_id: The product ID of the new subscription to switch to" msgstr "" -#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:309 +#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:307 msgid "base_plan_id: The base plan ID of the target subscription" msgstr "" -#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:310 +#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:308 msgid "offer_id: The offer ID under the base plan (optional)" msgstr "" -#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:311 +#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:309 msgid "" "is_offer_personalized: Whether to enable personalized pricing (optional)" msgstr "" -#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:313 +#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:311 msgid "The replacement modes values are defined as:" msgstr "" -#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:341 +#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:339 msgid "Default behavior is ``WITH_TIME_PRORATION``." msgstr "" -#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:343 +#: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:341 msgid "Example use of ``update_subscription``:" msgstr "" @@ -95049,6 +95433,19 @@ msgstr "" msgid "Java inner classes can be accessed using the ``$`` sign:" msgstr "" +#: ../../docs/tutorials/platform/android/javaclasswrapper_and_androidruntimeplugin.rst:118 +msgid "Example: Calling a constructor" +msgstr "" + +#: ../../docs/tutorials/platform/android/javaclasswrapper_and_androidruntimeplugin.rst:120 +msgid "" +"A constructor is invoked by calling a method with the same name as the class." +msgstr "" + +#: ../../docs/tutorials/platform/android/javaclasswrapper_and_androidruntimeplugin.rst:122 +msgid "This example creates an intent to send a text:" +msgstr "" + #: ../../docs/tutorials/platform/ios/index.rst:5 msgid "iOS plugins" msgstr "" @@ -96304,7 +96701,7 @@ msgid "" msgstr "" #: ../../docs/tutorials/platform/web/html5_shell_classref.rst:282 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:631 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:633 msgid "``2``" msgstr "" @@ -97096,8 +97493,8 @@ msgstr "" #: ../../docs/tutorials/plugins/editor/making_plugins.rst:33 msgid "" "In the main toolbar, click the ``Project`` dropdown. Then click ``Project " -"Settings...``. Go to the ``Plugins`` tab and then click on the ``Create New " -"Plugin`` button in the top-right." +"Settings...``. Go to the ``Plugins`` tab and then click on " +"the :button:`Create New Plugin` button in the top-right." msgstr "" #: ../../docs/tutorials/plugins/editor/making_plugins.rst:37 @@ -97796,7 +98193,7 @@ msgstr "" #: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:20 #: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:24 #: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:27 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:715 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:717 msgid "String" msgstr "" @@ -98600,17 +98997,17 @@ msgstr "" msgid "You then want to connect the signal when a new resource is set:" msgstr "" -#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:405 +#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:409 msgid "" "Lastly, remember to disconnect the signal as the old resource being used and " "changed somewhere else would cause unneeded updates." msgstr "" -#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:438 +#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:446 msgid "Reporting node configuration warnings" msgstr "" -#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:440 +#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:448 msgid "" "Godot uses a *node configuration warning* system to warn users about " "incorrectly configured nodes. When a node isn't configured correctly, a " @@ -98620,7 +99017,7 @@ msgid "" "setting up scenes." msgstr "" -#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:446 +#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:454 msgid "" "When using node configuration warnings, when any value that should affect or " "remove the warning changes, you need to " @@ -98628,43 +99025,43 @@ msgid "" "By default, the warning only updates when closing and reopening the scene." msgstr "" -#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:483 +#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:491 msgid "Running one-off scripts using EditorScript" msgstr "" -#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:485 +#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:493 msgid "" "Sometimes, you need to run code just one time to automate a certain task " "that is not available in the editor out of the box. Some examples might be:" msgstr "" -#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:488 +#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:496 msgid "" "Use as a playground for GDScript or C# scripting without having to run a " "project. ``print()`` output is displayed in the editor Output panel." msgstr "" -#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:490 +#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:498 msgid "" "Scale all light nodes in the currently edited scene, as you noticed your " "level ends up looking too dark or too bright after placing lights where " "desired." msgstr "" -#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:492 +#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:500 msgid "" "Replace nodes that were copy-pasted with scene instances to make them easier " "to modify later." msgstr "" -#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:495 +#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:503 msgid "" "This is available in Godot by extending :ref:`class_EditorScript` in a " "script. This provides a way to run individual scripts in the editor without " "having to create an editor plugin." msgstr "" -#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:499 +#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:507 msgid "" "To create an EditorScript, right-click a folder or empty space in the " "FileSystem dock then choose **New > Script...**. In the script creation " @@ -98673,18 +99070,18 @@ msgid "" "sensitive):" msgstr "" -#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:504 -#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:508 +#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:512 +#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:516 msgid "Creating an editor script in the script editor creation dialog" msgstr "" -#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:510 +#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:518 msgid "" "This will automatically select a script template that is suited for " "EditorScripts, with a ``_run()`` method already inserted:" msgstr "" -#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:522 +#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:530 msgid "" "This ``_run()`` method is executed when you use **File > Run** or the " "keyboard shortcut :kbd:`Ctrl + Shift + X` while the EditorScript is the " @@ -98692,23 +99089,23 @@ msgid "" "effective when currently focused on the script editor." msgstr "" -#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:527 +#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:535 msgid "Scripts that extend EditorScript must be ``@tool`` scripts to function." msgstr "" -#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:531 +#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:539 msgid "" "EditorScripts can only be run from the Godot script editor. If you are using " "an external editor, open the script inside the Godot script editor to run it." msgstr "" -#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:536 +#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:544 msgid "" "EditorScripts have no undo/redo functionality, so **make sure to save your " "scene before running one** if the script is designed to modify any data." msgstr "" -#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:539 +#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:547 msgid "" "To access nodes in the currently edited scene, use " "the :ref:`EditorScript.get_scene ` " @@ -98717,7 +99114,7 @@ msgid "" "doubles the range of all OmniLight3D nodes:" msgstr "" -#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:572 +#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:580 msgid "" "You can change the currently edited scene at the top of the editor even " "while the Script view is open. This will affect the return value " @@ -98726,12 +99123,12 @@ msgid "" "running the script." msgstr "" -#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:579 +#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:587 #: ../../docs/tutorials/scripting/nodes_and_scene_instances.rst:182 msgid "Instancing scenes" msgstr "" -#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:581 +#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:589 msgid "" "You can instantiate packed scenes normally and add them to the scene " "currently opened in the editor. By default, nodes or scenes added " @@ -98742,15 +99139,15 @@ msgid "" "` property to the currently edited scene root." msgstr "" -#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:589 +#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:597 msgid "If you are using ``@tool``:" msgstr "" -#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:614 +#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:622 msgid "If you are using :ref:`EditorScript`:" msgstr "" -#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:645 +#: ../../docs/tutorials/plugins/running_code_in_the_editor.rst:653 msgid "" "Using ``@tool`` improperly can yield many errors. It is advised to first " "write the code how you want it, and only then add the ``@tool`` annotation " @@ -98764,6 +99161,659 @@ msgid "" "and :ref:`3D rendering `." msgstr "" +#: ../../docs/tutorials/rendering/renderers.rst:4 +msgid "Overview of renderers" +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:8 +msgid "" +"This page gives an overview of Godot's renderers, focusing on the " +"differences between their rendering features. For more technical details on " +"the renderers, see :ref:`doc_internal_rendering_architecture`." +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:29 +msgid "Renderers, rendering drivers, and RenderingDevice" +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:31 +msgid "" +"Diagram of rendering layers. The Compatibility renderer runs on the OpenGL\n" +"driver. The Forward+ and Mobile renderers run on RenderingDevice, which can " +"use\n" +"Vulkan, Direct3D 12, or Metal as a rendering driver." +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:37 +msgid "Godot's rendering abstraction layers." +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:39 +msgid "" +"The *renderer*, or *rendering method*, determines which features are " +"available. Most of the time, this is the only thing you need to think about. " +"Godot's renderers are **Forward+**, **Mobile**, and **Compatibility**." +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:43 +msgid "" +"The *rendering driver* tells the GPU what to do, using a graphics API. Godot " +"can use the **OpenGL**, **Vulkan**, **Direct3D 12**, and **Metal** rendering " +"drivers. Not every GPU supports every rendering driver, and therefore not " +"every GPU supports all renderers. Vulkan, Direct3D 12, and Metal are modern, " +"low-level graphics APIs, and requires newer hardware. OpenGL is an older " +"graphics API that runs on most hardware." +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:49 +msgid "" +"RenderingDevice is a *rendering backend*, an abstraction layer between the " +"renderer and the rendering driver. It is used by the Forward+ and Mobile " +"renderers, and these renderers are sometimes called \"RenderingDevice-based " +"renderers\"." +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:54 +msgid "Choosing a renderer" +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:56 +msgid "" +"Choosing a renderer is a complex question, and depends on your hardware and " +"the which platforms you are developing for. As a starting point:" +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:59 +msgid "Choose **Forward+** if:" +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:61 +msgid "You are developing for desktop." +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:62 +#: ../../docs/tutorials/rendering/renderers.rst:69 +msgid "" +"You have relatively new hardware which supports Vulkan, Direct3D 12, or " +"Metal." +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:63 +#: ../../docs/tutorials/rendering/renderers.rst:70 +msgid "You are developing a 3D game." +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:64 +msgid "You want to use the most advanced rendering features." +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:66 +msgid "Choose **Mobile** if:" +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:68 +msgid "You are developing for newer mobile devices, desktop XR, or desktop." +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:71 +msgid "" +"You want to use advanced rendering features, subject to the limitations of " +"mobile hardware." +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:74 +msgid "Choose **Compatibility** if:" +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:76 +msgid "" +"You are developing for older mobile devices, older desktop devices, or " +"standalone XR. The Compatibility renderer supports the widest range of " +"hardware." +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:78 +msgid "" +"You are developing for web. In this case, Compatibility is the only choice." +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:79 +msgid "" +"You have older hardware which does not support Vulkan. In this case, " +"Compatibility is the only choice." +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:81 +msgid "" +"You are developing a 2D game, or a 3D game which does not need advanced " +"rendering features." +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:83 +msgid "" +"You want the best performance possible on all devices and don't need " +"advanced rendering features." +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:86 +msgid "" +"Keep in mind every game is unique, and this is only a starting point. For " +"example, you might choose to use the Compatibility renderer even though you " +"have the latest GPU, so you can support the widest range of hardware. Or you " +"might want to use the Forward+ renderer for a 2D game, so you can advanced " +"features like compute shaders." +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:92 +msgid "Switching between renderers" +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:94 +msgid "" +"In the editor, you can always switch between renderers by clicking on the " +"renderer name in the upper-right corner of the editor." +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:97 +msgid "" +"Switching between renderers may require some manual tweaks to your scene, " +"lighting, and environment, since each renderer is different. In general, " +"switching between the Mobile and Forward+ renderers will require fewer " +"adjustments than switching between the Compatibility renderer and the " +"Forward+ or Mobile renderers." +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:102 +msgid "" +"Since Godot 4.4, when using Forward+ or Mobile, if Vulkan is not supported, " +"the engine will fall back to Direct3D 12 and vice versa. If the attempted " +"fallback driver is not supported either, the engine will then fall back to " +"Compatibility when the RenderingDevice backend is not supported. This allows " +"the project to run anyway, but it may look different than the intended " +"appearance due to the more limited renderer. This behavior can be disabled " +"in the project settings by unchecking :ref:`Rendering > Rendering Device > " +"Fallback to OpenGL 3`." +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:111 +msgid "Feature comparison" +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:113 +msgid "" +"This is not a complete list of the features of each renderer. If a feature " +"is not listed here, it is available in all renderers, though it may be much " +"faster on some renderers. For a list of *all* features in Godot, " +"see :ref:`doc_list_of_features`." +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:117 +msgid "" +"Hardware with RenderingDevice support is hardware which can run Vulkan, " +"Direct3D 12, or Metal." +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:121 +msgid "Overall comparison" +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:130 +msgid "**Required** **hardware**" +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:130 +msgid "Older or low-end." +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:130 +msgid "Newer or high-end. Requires Vulkan, Direct3D 12, or Metal support." +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:134 +msgid "Runs on new hardware" +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:134 +#: ../../docs/tutorials/rendering/renderers.rst:136 +#: ../../docs/tutorials/rendering/renderers.rst:139 +#: ../../docs/tutorials/rendering/renderers.rst:148 +#: ../../docs/tutorials/rendering/renderers.rst:158 +#: ../../docs/tutorials/rendering/renderers.rst:160 +#: ../../docs/tutorials/rendering/renderers.rst:164 +#: ../../docs/tutorials/rendering/renderers.rst:168 +#: ../../docs/tutorials/rendering/renderers.rst:171 +msgid "✔️ Yes." +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:136 +msgid "Runs on old and low-end hardware" +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:136 +msgid "✔️ Yes, but slower than Compatibility." +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:136 +msgid "✔️ Yes, but slowest of all renderers." +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:139 +msgid "Runs on hardware without RenderingDevice support" +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:139 +#: ../../docs/tutorials/rendering/renderers.rst:158 +#: ../../docs/tutorials/rendering/renderers.rst:174 +msgid "❌ No." +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:144 +msgid "**Target platforms**" +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:144 +msgid "Mobile, low-end desktop, web." +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:144 +msgid "Mobile, desktop." +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:144 +msgid "Desktop." +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:148 +#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:313 +msgid "Desktop" +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:150 +msgid "✔️ Yes (low-end)." +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:150 +msgid "✔️ Yes (high-end)." +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:150 +#: ../../docs/tutorials/rendering/renderers.rst:154 +msgid "⚠️ Supported, but poorly optimized. Use Mobile or Compatibility instead." +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:154 +msgid "✔️ Yes. Recommended for standalone headsets." +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:154 +msgid "✔️ Yes. Recommended for desktop headsets." +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:160 +msgid "2D Games" +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:160 +msgid "✔️ Yes, but Compatibility is usually good enough for 2D." +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:164 +msgid "3D Games" +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:166 +msgid "**Feature set**" +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:166 +msgid "2D and core 3D features." +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:166 +msgid "Most rendering features." +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:166 +msgid "All rendering features." +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:168 +msgid "2D rendering features" +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:171 +msgid "Core 3D rendering features" +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:174 +msgid "Advanced rendering features" +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:174 +msgid "⚠️ Yes, limited by mobile hardware." +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:174 +msgid "✔️ Yes. All rendering features are supported." +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:177 +msgid "New features" +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:177 +msgid "" +"⚠️ Some new rendering features are added to Compatibility. Features are added " +"after Mobile and Forward+." +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:177 +msgid "" +"✔️ Most new rendering features are added to Mobile. Mobile usually gets new " +"features as Forward+ does." +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:177 +msgid "" +"✔️ All new features are added to Forward+. As the focus of new development, " +"Forward+ gets features first." +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:183 +msgid "Rendering cost" +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:183 +msgid "Low base cost, but high scaling cost." +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:183 +msgid "Medium base cost, and medium scaling cost." +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:183 +msgid "Highest base cost, and low scaling cost." +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:186 +msgid "Rendering driver" +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:186 +msgid "OpenGL." +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:186 +msgid "Vulkan, Direct3D 12, or Metal." +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:191 +msgid "Lights and shadows" +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:193 +msgid "See :ref:`doc_lights_and_shadows` for more information." +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:198 +msgid "Lighting approach" +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:198 +msgid "Forward" +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:198 +msgid "Clustered Forward" +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:201 +msgid "Maximum OmniLights" +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:201 +#: ../../docs/tutorials/rendering/renderers.rst:204 +msgid "8 per mesh. Can be increased." +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:201 +#: ../../docs/tutorials/rendering/renderers.rst:204 +msgid "8 per mesh, 256 per view." +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:201 +#: ../../docs/tutorials/rendering/renderers.rst:204 +msgid "512 per cluster. Can be increased." +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:204 +msgid "Maximum SpotLights" +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:207 +msgid "Maximum DirectionalLights" +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:210 +msgid "PCSS for OmniLight and SpotLight" +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:210 +#: ../../docs/tutorials/rendering/renderers.rst:213 +#: ../../docs/tutorials/rendering/renderers.rst:216 +#: ../../docs/tutorials/rendering/renderers.rst:237 +#: ../../docs/tutorials/rendering/renderers.rst:240 +#: ../../docs/tutorials/rendering/renderers.rst:243 +#: ../../docs/tutorials/rendering/renderers.rst:258 +#: ../../docs/tutorials/rendering/renderers.rst:262 +#: ../../docs/tutorials/rendering/renderers.rst:264 +#: ../../docs/tutorials/rendering/renderers.rst:267 +#: ../../docs/tutorials/rendering/renderers.rst:270 +#: ../../docs/tutorials/rendering/renderers.rst:281 +#: ../../docs/tutorials/rendering/renderers.rst:295 +#: ../../docs/tutorials/rendering/renderers.rst:297 +#: ../../docs/tutorials/rendering/renderers.rst:299 +#: ../../docs/tutorials/rendering/renderers.rst:301 +#: ../../docs/tutorials/rendering/renderers.rst:305 +#: ../../docs/tutorials/rendering/renderers.rst:317 +#: ../../docs/tutorials/rendering/renderers.rst:334 +#: ../../docs/tutorials/rendering/renderers.rst:336 +#: ../../docs/tutorials/rendering/renderers.rst:347 +#: ../../docs/tutorials/rendering/renderers.rst:350 +#: ../../docs/tutorials/rendering/renderers.rst:352 +#: ../../docs/tutorials/rendering/renderers.rst:354 +#: ../../docs/tutorials/rendering/renderers.rst:357 +#: ../../docs/tutorials/rendering/renderers.rst:359 +msgid "❌ Not supported." +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:210 +#: ../../docs/tutorials/rendering/renderers.rst:213 +#: ../../docs/tutorials/rendering/renderers.rst:216 +#: ../../docs/tutorials/rendering/renderers.rst:231 +#: ../../docs/tutorials/rendering/renderers.rst:237 +#: ../../docs/tutorials/rendering/renderers.rst:240 +#: ../../docs/tutorials/rendering/renderers.rst:243 +#: ../../docs/tutorials/rendering/renderers.rst:256 +#: ../../docs/tutorials/rendering/renderers.rst:258 +#: ../../docs/tutorials/rendering/renderers.rst:260 +#: ../../docs/tutorials/rendering/renderers.rst:262 +#: ../../docs/tutorials/rendering/renderers.rst:264 +#: ../../docs/tutorials/rendering/renderers.rst:267 +#: ../../docs/tutorials/rendering/renderers.rst:270 +#: ../../docs/tutorials/rendering/renderers.rst:274 +#: ../../docs/tutorials/rendering/renderers.rst:276 +#: ../../docs/tutorials/rendering/renderers.rst:278 +#: ../../docs/tutorials/rendering/renderers.rst:281 +#: ../../docs/tutorials/rendering/renderers.rst:293 +#: ../../docs/tutorials/rendering/renderers.rst:295 +#: ../../docs/tutorials/rendering/renderers.rst:297 +#: ../../docs/tutorials/rendering/renderers.rst:299 +#: ../../docs/tutorials/rendering/renderers.rst:301 +#: ../../docs/tutorials/rendering/renderers.rst:303 +#: ../../docs/tutorials/rendering/renderers.rst:305 +#: ../../docs/tutorials/rendering/renderers.rst:317 +#: ../../docs/tutorials/rendering/renderers.rst:329 +#: ../../docs/tutorials/rendering/renderers.rst:331 +#: ../../docs/tutorials/rendering/renderers.rst:334 +#: ../../docs/tutorials/rendering/renderers.rst:336 +#: ../../docs/tutorials/rendering/renderers.rst:347 +#: ../../docs/tutorials/rendering/renderers.rst:350 +#: ../../docs/tutorials/rendering/renderers.rst:352 +#: ../../docs/tutorials/rendering/renderers.rst:354 +#: ../../docs/tutorials/rendering/renderers.rst:357 +#: ../../docs/tutorials/rendering/renderers.rst:359 +msgid "✔️ Supported." +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:213 +msgid "PCSS for DirectionalLight" +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:216 +msgid "Light projector textures" +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:221 +msgid "Global Illumination" +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:223 +msgid "" +"See :ref:`doc_introduction_to_global_illumination` for more information." +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:228 +msgid "ReflectionProbe" +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:228 +msgid "✔️ Supported, 2 per mesh." +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:228 +msgid "✔️ Supported, 8 per mesh." +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:228 +msgid "✔️ Supported, unlimited." +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:231 +msgid "" +"⚠️ Rendering of baked lightmaps is supported. Baking requires hardware with " +"RenderingDevice support." +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:251 +msgid "See :ref:`doc_environment_and_post_processing` for more information." +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:256 +msgid "Fog (Depth and Height)" +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:260 +msgid "Tonemapping" +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:262 +msgid "Screen-Space Reflections" +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:278 +msgid "Custom post-processing with fullscreen quad" +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:281 +msgid "Custom post-processing with CompositorEffects" +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:286 +#: ../../docs/tutorials/ui/gui_using_fonts.rst:245 +msgid "Antialiasing" +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:288 +msgid "See :ref:`doc_3d_antialiasing` for more information." +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:293 +msgid "MSAA 3D" +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:295 +msgid "MSAA 2D" +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:310 +msgid "StandardMaterial features" +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:312 +msgid "See :ref:`doc_standard_material_3d` for more information." +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:317 +msgid "Sub-surface scattering" +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:322 +msgid "Shader features" +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:324 +msgid "See :ref:`doc_shading_reference` for more information." +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:329 +#: ../../docs/tutorials/shaders/screen-reading_shaders.rst:21 +msgid "Screen texture" +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:331 +#: ../../docs/tutorials/shaders/screen-reading_shaders.rst:151 +#: ../../docs/tutorials/shaders/advanced_postprocessing.rst:77 +msgid "Depth texture" +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:334 +msgid "Normal/Roughness texture" +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:336 +msgid "Compute shaders" +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:336 +msgid "⚠️ Supported, but comes with a performance penalty on older devices." +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:342 +msgid "Other features" +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:350 +msgid "Decals" +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:352 +msgid "Depth of field blur" +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:354 +msgid "Adaptive and Mailbox VSync modes" +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:357 +msgid "2D HDR Viewport" +msgstr "" + +#: ../../docs/tutorials/rendering/renderers.rst:359 +msgid "RenderingDevice access" +msgstr "" + #: ../../docs/tutorials/rendering/viewports.rst:4 msgid "Using Viewports" msgstr "" @@ -99963,32 +101013,17 @@ msgid "" msgstr "" #: ../../docs/tutorials/rendering/multiple_resolutions.rst:560 -msgid "Scaling 2D and 3D elements differently using Viewports" +msgid "Scaling 2D and 3D elements differently" msgstr "" #: ../../docs/tutorials/rendering/multiple_resolutions.rst:562 msgid "" -"Using multiple Viewport nodes, you can have different scales for various " -"elements. For instance, you can use this to render the 3D world at a low " -"resolution while keeping 2D elements at the native resolution. This can " -"improve performance significantly while keeping the HUD and other 2D " -"elements crisp." -msgstr "" - -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:567 -msgid "" -"This is done by using the root Viewport node only for 2D elements, then " -"creating a Viewport node to display the 3D world and displaying it using a " -"SubViewportContainer or TextureRect node. There will effectively be two " -"viewports in the final project. One upside of using TextureRect over " -"SubViewportContainer is that it allows enable linear filtering. This makes " -"scaled 3D viewports look better in many cases." -msgstr "" - -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:574 -msgid "" -"See the `3D viewport scaling demo `__ for examples." +"To render 3D at a different resolution from 2D elements (such as the UI), " +"use Godot's :ref:`resolution scaling ` " +"functionality. This allows you to control the resolution scale factor used " +"for 3D without needing to use a separate Viewport node. This can either be " +"used to improve performance by rendering 3D at a lower resolution, or " +"improve quality via supersampling." msgstr "" #: ../../docs/tutorials/rendering/jitter_stutter.rst:4 @@ -100721,663 +101756,6 @@ msgid "" "project created by Bastiaan Olij." msgstr "" -#: ../../docs/tutorials/rendering/renderers.rst:4 -msgid "Renderers" -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:8 -msgid "" -"This page gives an overview of Godot's renderers, focusing on the " -"differences between their rendering features. For more technical details on " -"the renderers, see :ref:`doc_internal_rendering_architecture`." -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:29 -msgid "Renderers, rendering drivers, and RenderingDevice" -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:31 -msgid "" -"Diagram of rendering layers. The Compatibility renderer runs on the OpenGL\n" -"driver. The Forward+ and Mobile renderers run on RenderingDevice, which can " -"use\n" -"Vulkan, Direct3D 12, or Metal as a rendering driver." -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:37 -msgid "Godot's rendering abstraction layers." -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:39 -msgid "" -"The *renderer*, or *rendering method*, determines which features are " -"available. Most of the time, this is the only thing you need to think about. " -"Godot's renderers are **Forward+**, **Mobile**, and **Compatibility**." -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:43 -msgid "" -"The *rendering driver* tells the GPU what to do, using a graphics API. Godot " -"can use the **OpenGL**, **Vulkan**, **Direct3D 12**, and **Metal** rendering " -"drivers. Not every GPU supports every rendering driver, and therefore not " -"every GPU supports all renderers. Vulkan, Direct3D 12, and Metal are modern, " -"low-level graphics APIs, and requires newer hardware. OpenGL is an older " -"graphics API that runs on most hardware." -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:49 -msgid "" -"RenderingDevice is a *rendering backend*, an abstraction layer between the " -"renderer and the rendering driver. It is used by the Forward+ and Mobile " -"renderers, and these renderers are sometimes called \"RenderingDevice-based " -"renderers\"." -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:54 -msgid "Choosing a renderer" -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:56 -msgid "" -"Choosing a renderer is a complex question, and depends on your hardware and " -"the which platforms you are developing for. As a starting point:" -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:59 -msgid "Choose **Forward+** if:" -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:61 -msgid "You are developing for desktop." -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:62 -#: ../../docs/tutorials/rendering/renderers.rst:69 -msgid "" -"You have relatively new hardware which supports Vulkan, Direct3D 12, or " -"Metal." -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:63 -#: ../../docs/tutorials/rendering/renderers.rst:70 -msgid "You are developing a 3D game." -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:64 -msgid "You want to use the most advanced rendering features." -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:66 -msgid "Choose **Mobile** if:" -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:68 -msgid "You are developing for newer mobile devices, desktop XR, or desktop." -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:71 -msgid "" -"You want to use advanced rendering features, subject to the limitations of " -"mobile hardware." -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:74 -msgid "Choose **Compatibility** if:" -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:76 -msgid "" -"You are developing for older mobile devices, older desktop devices, or " -"standalone XR. The Compatibility renderer supports the widest range of " -"hardware." -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:78 -msgid "" -"You are developing for web. In this case, Compatibility is the only choice." -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:79 -msgid "" -"You have older hardware which does not support Vulkan. In this case, " -"Compatibility is the only choice." -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:81 -msgid "" -"You are developing a 2D game, or a 3D game which does not need advanced " -"rendering features." -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:83 -msgid "" -"You want the best performance possible on all devices and don't need " -"advanced rendering features." -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:86 -msgid "" -"Keep in mind every game is unique, and this is only a starting point. For " -"example, you might choose to use the Compatibility renderer even though you " -"have the latest GPU, so you can support the widest range of hardware. Or you " -"might want to use the Forward+ renderer for a 2D game, so you can advanced " -"features like compute shaders." -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:92 -msgid "Switching between renderers" -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:94 -msgid "" -"In the editor, you can always switch between renderers by clicking on the " -"renderer name in the upper-right corner of the editor." -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:97 -msgid "" -"Switching between renderers may require some manual tweaks to your scene, " -"lighting, and environment, since each renderer is different. In general, " -"switching between the Mobile and Forward+ renderers will require fewer " -"adjustments than switching between the Compatibility renderer and the " -"Forward+ or Mobile renderers." -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:102 -msgid "" -"Since Godot 4.4, when using Forward+ or Mobile, if Vulkan is not supported, " -"the engine will fall back to Direct3D 12 and vice versa. If the attempted " -"fallback driver is not supported either, the engine will then fall back to " -"Compatibility when the RenderingDevice backend is not supported. This allows " -"the project to run anyway, but it may look different than the intended " -"appearance due to the more limited renderer. This behavior can be disabled " -"in the project settings by unchecking :ref:`Rendering > Rendering Device > " -"Fallback to OpenGL 3`." -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:111 -msgid "Feature comparison" -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:113 -msgid "" -"This is not a complete list of the features of each renderer. If a feature " -"is not listed here, it is available in all renderers, though it may be much " -"faster on some renderers. For a list of *all* features in Godot, " -"see :ref:`doc_list_of_features`." -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:117 -msgid "" -"Hardware with RenderingDevice support is hardware which can run Vulkan, " -"Direct3D 12, or Metal." -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:121 -msgid "Overall comparison" -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:130 -msgid "**Required** **hardware**" -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:130 -msgid "Older or low-end." -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:130 -msgid "Newer or high-end. Requires Vulkan, Direct3D 12, or Metal support." -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:134 -msgid "Runs on new hardware" -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:134 -#: ../../docs/tutorials/rendering/renderers.rst:136 -#: ../../docs/tutorials/rendering/renderers.rst:139 -#: ../../docs/tutorials/rendering/renderers.rst:148 -#: ../../docs/tutorials/rendering/renderers.rst:158 -#: ../../docs/tutorials/rendering/renderers.rst:160 -#: ../../docs/tutorials/rendering/renderers.rst:164 -#: ../../docs/tutorials/rendering/renderers.rst:168 -#: ../../docs/tutorials/rendering/renderers.rst:171 -msgid "✔️ Yes." -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:136 -msgid "Runs on old and low-end hardware" -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:136 -msgid "✔️ Yes, but slower than Compatibility." -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:136 -msgid "✔️ Yes, but slowest of all renderers." -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:139 -msgid "Runs on hardware without RenderingDevice support" -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:139 -#: ../../docs/tutorials/rendering/renderers.rst:158 -#: ../../docs/tutorials/rendering/renderers.rst:174 -msgid "❌ No." -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:144 -msgid "**Target platforms**" -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:144 -msgid "Mobile, low-end desktop, web." -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:144 -msgid "Mobile, desktop." -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:144 -msgid "Desktop." -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:148 -#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:313 -msgid "Desktop" -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:150 -msgid "✔️ Yes (low-end)." -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:150 -msgid "✔️ Yes (high-end)." -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:150 -#: ../../docs/tutorials/rendering/renderers.rst:154 -msgid "⚠️ Supported, but poorly optimized. Use Mobile or Compatibility instead." -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:154 -msgid "✔️ Yes. Recommended for standalone headsets." -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:154 -msgid "✔️ Yes. Recommended for" -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:155 -msgid "desktop headsets." -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:160 -msgid "2D Games" -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:160 -msgid "✔️ Yes, but Compatibility is usually good enough for 2D." -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:164 -msgid "3D Games" -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:166 -msgid "**Feature set**" -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:166 -msgid "2D and core 3D features." -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:166 -msgid "Most rendering features." -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:166 -msgid "All rendering features." -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:168 -msgid "2D rendering features" -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:171 -msgid "Core 3D rendering features" -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:174 -msgid "Advanced rendering features" -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:174 -msgid "⚠️ Yes, limited by mobile hardware." -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:174 -msgid "✔️ Yes. All rendering features are supported." -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:177 -msgid "New features" -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:177 -msgid "" -"⚠️ Some new rendering features are added to Compatibility. Features are added " -"after Mobile and Forward+." -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:177 -msgid "" -"✔️ Most new rendering features are added to Mobile. Mobile usually gets new " -"features as Forward+ does." -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:177 -msgid "" -"✔️ All new features are added to Forward+. As the focus of new development, " -"Forward+ gets features first." -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:183 -msgid "Rendering cost" -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:183 -msgid "Low base cost, but high scaling cost." -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:183 -msgid "Medium base cost, and medium scaling cost." -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:183 -msgid "Highest base cost, and low scaling cost." -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:186 -msgid "Rendering driver" -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:186 -msgid "OpenGL." -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:186 -msgid "Vulkan, Direct3D 12, or Metal." -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:191 -msgid "Lights and shadows" -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:193 -msgid "See :ref:`doc_lights_and_shadows` for more information." -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:198 -msgid "Lighting approach" -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:198 -msgid "Forward" -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:198 -msgid "Clustered Forward" -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:201 -msgid "Maximum OmniLights" -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:201 -#: ../../docs/tutorials/rendering/renderers.rst:204 -msgid "8 per mesh. Can be increased." -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:201 -#: ../../docs/tutorials/rendering/renderers.rst:204 -msgid "8 per mesh, 256 per view." -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:201 -#: ../../docs/tutorials/rendering/renderers.rst:204 -msgid "512 per cluster. Can be increased." -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:204 -msgid "Maximum SpotLights" -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:207 -msgid "Maximum DirectionalLights" -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:210 -msgid "PCSS for OmniLight and SpotLight" -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:210 -#: ../../docs/tutorials/rendering/renderers.rst:213 -#: ../../docs/tutorials/rendering/renderers.rst:216 -#: ../../docs/tutorials/rendering/renderers.rst:237 -#: ../../docs/tutorials/rendering/renderers.rst:240 -#: ../../docs/tutorials/rendering/renderers.rst:243 -#: ../../docs/tutorials/rendering/renderers.rst:258 -#: ../../docs/tutorials/rendering/renderers.rst:262 -#: ../../docs/tutorials/rendering/renderers.rst:264 -#: ../../docs/tutorials/rendering/renderers.rst:267 -#: ../../docs/tutorials/rendering/renderers.rst:270 -#: ../../docs/tutorials/rendering/renderers.rst:281 -#: ../../docs/tutorials/rendering/renderers.rst:295 -#: ../../docs/tutorials/rendering/renderers.rst:297 -#: ../../docs/tutorials/rendering/renderers.rst:299 -#: ../../docs/tutorials/rendering/renderers.rst:301 -#: ../../docs/tutorials/rendering/renderers.rst:305 -#: ../../docs/tutorials/rendering/renderers.rst:317 -#: ../../docs/tutorials/rendering/renderers.rst:334 -#: ../../docs/tutorials/rendering/renderers.rst:336 -#: ../../docs/tutorials/rendering/renderers.rst:347 -#: ../../docs/tutorials/rendering/renderers.rst:350 -#: ../../docs/tutorials/rendering/renderers.rst:352 -#: ../../docs/tutorials/rendering/renderers.rst:354 -#: ../../docs/tutorials/rendering/renderers.rst:357 -#: ../../docs/tutorials/rendering/renderers.rst:359 -msgid "❌ Not supported." -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:210 -#: ../../docs/tutorials/rendering/renderers.rst:213 -#: ../../docs/tutorials/rendering/renderers.rst:216 -#: ../../docs/tutorials/rendering/renderers.rst:231 -#: ../../docs/tutorials/rendering/renderers.rst:237 -#: ../../docs/tutorials/rendering/renderers.rst:240 -#: ../../docs/tutorials/rendering/renderers.rst:243 -#: ../../docs/tutorials/rendering/renderers.rst:256 -#: ../../docs/tutorials/rendering/renderers.rst:258 -#: ../../docs/tutorials/rendering/renderers.rst:260 -#: ../../docs/tutorials/rendering/renderers.rst:262 -#: ../../docs/tutorials/rendering/renderers.rst:264 -#: ../../docs/tutorials/rendering/renderers.rst:267 -#: ../../docs/tutorials/rendering/renderers.rst:270 -#: ../../docs/tutorials/rendering/renderers.rst:274 -#: ../../docs/tutorials/rendering/renderers.rst:276 -#: ../../docs/tutorials/rendering/renderers.rst:278 -#: ../../docs/tutorials/rendering/renderers.rst:281 -#: ../../docs/tutorials/rendering/renderers.rst:293 -#: ../../docs/tutorials/rendering/renderers.rst:295 -#: ../../docs/tutorials/rendering/renderers.rst:297 -#: ../../docs/tutorials/rendering/renderers.rst:299 -#: ../../docs/tutorials/rendering/renderers.rst:301 -#: ../../docs/tutorials/rendering/renderers.rst:303 -#: ../../docs/tutorials/rendering/renderers.rst:305 -#: ../../docs/tutorials/rendering/renderers.rst:317 -#: ../../docs/tutorials/rendering/renderers.rst:329 -#: ../../docs/tutorials/rendering/renderers.rst:331 -#: ../../docs/tutorials/rendering/renderers.rst:334 -#: ../../docs/tutorials/rendering/renderers.rst:336 -#: ../../docs/tutorials/rendering/renderers.rst:347 -#: ../../docs/tutorials/rendering/renderers.rst:350 -#: ../../docs/tutorials/rendering/renderers.rst:352 -#: ../../docs/tutorials/rendering/renderers.rst:354 -#: ../../docs/tutorials/rendering/renderers.rst:357 -#: ../../docs/tutorials/rendering/renderers.rst:359 -msgid "✔️ Supported." -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:213 -msgid "PCSS for DirectionalLight" -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:216 -msgid "Light projector textures" -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:221 -msgid "Global Illumination" -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:223 -msgid "" -"See :ref:`doc_introduction_to_global_illumination` for more information." -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:228 -msgid "ReflectionProbe" -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:228 -msgid "✔️ Supported, 2 per mesh." -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:228 -msgid "✔️ Supported, 8 per mesh." -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:228 -msgid "✔️ Supported, unlimited." -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:231 -msgid "" -"⚠️ Rendering of baked lightmaps is supported. Baking requires hardware with " -"RenderingDevice support." -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:251 -msgid "See :ref:`doc_environment_and_post_processing` for more information." -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:256 -msgid "Fog (Depth and Height)" -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:260 -msgid "Tonemapping" -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:262 -msgid "Screen-Space Reflections" -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:278 -msgid "Custom post-processing with fullscreen quad" -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:281 -msgid "Custom post-processing with CompositorEffects" -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:286 -#: ../../docs/tutorials/ui/gui_using_fonts.rst:245 -msgid "Antialiasing" -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:288 -msgid "See :ref:`doc_3d_antialiasing` for more information." -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:293 -msgid "MSAA 3D" -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:295 -msgid "MSAA 2D" -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:310 -msgid "StandardMaterial features" -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:312 -msgid "See :ref:`doc_standard_material_3d` for more information." -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:317 -msgid "Sub-surface scattering" -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:322 -msgid "Shader features" -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:324 -msgid "See :ref:`doc_shading_reference` for more information." -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:329 -#: ../../docs/tutorials/shaders/screen-reading_shaders.rst:21 -msgid "Screen texture" -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:331 -#: ../../docs/tutorials/shaders/screen-reading_shaders.rst:151 -#: ../../docs/tutorials/shaders/advanced_postprocessing.rst:77 -msgid "Depth texture" -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:334 -msgid "Normal/Roughness texture" -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:336 -msgid "Compute shaders" -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:336 -msgid "⚠️ Supported, but comes with a performance penalty on older devices." -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:342 -msgid "Other features" -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:350 -msgid "Decals" -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:352 -msgid "Depth of field blur" -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:354 -msgid "Adaptive and Mailbox VSync modes" -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:357 -msgid "2D HDR Viewport" -msgstr "" - -#: ../../docs/tutorials/rendering/renderers.rst:359 -msgid "RenderingDevice access" -msgstr "" - #: ../../docs/tutorials/scripting/index.rst:6 msgid "" "This section covers programming languages and core features to code your " @@ -101575,7 +101953,7 @@ msgid "" msgstr "" #: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:167 -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:453 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:454 msgid "pass" msgstr "" @@ -102197,7 +102575,7 @@ msgid "Null value" msgstr "" #: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:341 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:705 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:707 msgid "``false``, ``true``" msgstr "" @@ -105664,7 +106042,7 @@ msgid "" msgstr "" #: ../../docs/tutorials/scripting/gdscript/gdscript_exports.rst:537 -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_exports.rst:631 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_exports.rst:625 msgid "Setting exported variables from a tool script" msgstr "" @@ -105679,12 +106057,12 @@ msgid "" msgstr "" #: ../../docs/tutorials/scripting/gdscript/gdscript_exports.rst:546 -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_exports.rst:640 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_exports.rst:634 msgid "Advanced exports" msgstr "" #: ../../docs/tutorials/scripting/gdscript/gdscript_exports.rst:548 -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_exports.rst:642 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_exports.rst:636 msgid "" "Not every type of export can be provided on the level of the language itself " "to avoid unnecessary design complexity. The following describes some more or " @@ -105702,7 +106080,7 @@ msgid "" msgstr "" #: ../../docs/tutorials/scripting/gdscript/gdscript_exports.rst:559 -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_exports.rst:653 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_exports.rst:647 msgid "" "For binding properties using the above methods in C++, " "see :ref:`doc_binding_properties_using_set_get_property_list`." @@ -105853,7 +106231,7 @@ msgstr "" #: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:83 #: ../../docs/tutorials/shaders/shader_reference/shader_functions.rst:93 #: ../../docs/tutorials/shaders/shader_reference/shader_functions.rst:515 -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:352 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:359 #: ../../docs/tutorials/shaders/shader_reference/particle_shader.rst:84 #: ../../docs/tutorials/shaders/shader_reference/particle_shader.rst:186 #: ../../docs/tutorials/xr/openxr_render_models.rst:237 @@ -106191,7 +106569,7 @@ msgid "Takes ``size`` for the size." msgstr "" #: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:0 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:283 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:285 #: ../../docs/contributing/documentation/class_reference_primer.rst:0 msgid "``[br]``" msgstr "" @@ -107524,55 +107902,55 @@ msgstr "" #: ../../docs/tutorials/scripting/gdscript/static_typing.rst:220 msgid "" "An array's type applies to ``for`` loop variables, as well as some operators " -"like ``[]``, ``[]=``, and ``+``. Array methods (such as ``push_back``) and " -"other operators (such as ``==``) are still untyped. Built-in types, native " -"and custom classes, and enums may be used as element types. Nested array " -"types (like ``Array[Array[int]]``) are not supported." +"like ``[]``, ``[...] =`` (assignment), and ``+``. Array methods (such as " +"``push_back``) and other operators (such as ``==``) are still untyped. Built-" +"in types, native and custom classes, and enums may be used as element types. " +"Nested array types (like ``Array[Array[int]]``) are not supported." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:243 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:244 msgid "" "Since Godot 4.2, you can also specify a type for the loop variable in a " "``for`` loop. For instance, you can write:" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:252 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:253 msgid "" "The array will remain untyped, but the ``name`` variable within the ``for`` " "loop will always be of ``String`` type." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:256 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:257 msgid "Specify the element type of a ``Dictionary``" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:258 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:259 msgid "" "To define the type of a ``Dictionary``'s keys and values, enclose the type " "name in ``[]`` and separate the key and value type with a comma." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:261 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:262 msgid "" "A dictionary's value type applies to ``for`` loop variables, as well as some " -"operators like ``[]`` and ``[]=``. Dictionary methods that return values and " -"other operators (such as ``==``) are still untyped. Built-in types, native " -"and custom classes, and enums may be used as element types. Nested typed " -"collections (like ``Dictionary[String, Dictionary[String, int]]``) are not " -"supported." +"operators like ``[]`` and ``[...] =`` (assignment). Dictionary methods that " +"return values and other operators (such as ``==``) are still untyped. Built-" +"in types, native and custom classes, and enums may be used as element types. " +"Nested typed collections (like ``Dictionary[String, Dictionary[String, " +"int]]``) are not supported." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:285 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:286 msgid "Type casting" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:287 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:288 msgid "" "Type casting is an important concept in typed languages. Casting is the " "conversion of a value from one type to another." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:290 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:291 msgid "" "Imagine an ``Enemy`` in your game, that ``extends Area2D``. You want it to " "collide with the ``Player``, a ``CharacterBody2D`` with a script called " @@ -107582,14 +107960,14 @@ msgid "" "``_on_body_entered`` callback." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:296 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:297 msgid "" "You can check if this ``PhysicsBody2D`` is your ``Player`` with the ``as`` " "keyword, and using the colon ``:`` again to force the variable to use this " "type. This forces the variable to stick to the ``PlayerController`` type:" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:309 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:310 msgid "" "As we're dealing with a custom type, if the ``body`` doesn't extend " "``PlayerController``, the ``player`` variable will be set to ``null``. We " @@ -107597,7 +107975,7 @@ msgid "" "full autocompletion on the player variable thanks to that cast." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:316 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:317 msgid "" "The ``as`` keyword silently casts the variable to ``null`` in case of a type " "mismatch at runtime, without an error/warning. While this may be convenient " @@ -107605,25 +107983,25 @@ msgid "" "behavior is intended. A safer alternative is to use the ``is`` keyword:" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:332 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:333 msgid "You can also simplify the code by using the ``is not`` operator:" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:339 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:340 msgid "Alternatively, you can use the ``assert()`` statement:" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:354 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:355 msgid "" "If you try to cast with a built-in type and it fails, Godot will throw an " "error." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:359 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:360 msgid "Safe lines" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:361 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:362 msgid "" "You can also use casting to ensure safe lines. Safe lines are a tool to tell " "you when ambiguous lines of code are type-safe. As you can mix and match " @@ -107631,7 +108009,7 @@ msgid "" "know if an instruction will trigger an error or not at runtime." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:366 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:367 msgid "" "This happens when you get a child node. Let's take a timer for example: with " "dynamic code, you can get the node with ``$Timer``. GDScript supports `duck-" @@ -107641,7 +108019,7 @@ msgid "" "node's type as long as it has the methods you need to call." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:373 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:374 msgid "" "You can use casting to tell Godot the type you expect when you get a node: " "``($Timer as Timer)``, ``($Player as CharacterBody2D)``, etc. Godot will " @@ -107649,21 +108027,21 @@ msgid "" "of the script editor." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:378 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:379 msgid "Unsafe vs Safe Line" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:381 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:382 msgid "Unsafe line (line 7) vs Safe Lines (line 6 and 8)" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:385 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:386 msgid "" "Safe lines do not always mean better or more reliable code. See the note " "above about the ``as`` keyword. For example:" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:393 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:394 msgid "" "Even though ``node_2`` declaration is marked as an unsafe line, it is more " "reliable than ``node_1`` declaration. Because if you change the node type in " @@ -107672,16 +108050,16 @@ msgid "" "will be silently cast to ``null`` and the error will be detected later." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:401 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:402 msgid "" "You can turn off safe lines or change their color in the editor settings." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:404 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:405 msgid "Typed or dynamic: stick to one style" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:406 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:407 msgid "" "Typed GDScript and dynamic GDScript can coexist in the same project. But " "it's recommended to stick to either style for consistency in your codebase, " @@ -107689,83 +108067,83 @@ msgid "" "the same guidelines, and faster to read and understand other people's code." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:411 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:412 msgid "" "Typed code takes a little more writing, but you get the benefits we " "discussed above. Here's an example of the same, empty script, in a dynamic " "style:" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:426 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:427 msgid "And with static typing:" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:440 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:441 msgid "" "As you can see, you can also use types with the engine's virtual methods. " "Signal callbacks, like any methods, can also use types. Here's a " "``body_entered`` signal in a dynamic style:" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:449 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:450 msgid "And the same callback, with type hints:" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:451 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:452 msgid "::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:452 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:453 msgid "func _on_area_2d_body_entered(body: PhysicsBody2D) -> void:" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:456 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:457 msgid "Warning system" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:460 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:461 msgid "" "Detailed documentation about the GDScript warning system has been moved " "to :ref:`doc_gdscript_warning_system`." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:463 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:464 msgid "" "Godot gives you warnings about your code as you write it. The engine " "identifies sections of your code that may lead to issues at runtime, but " "lets you decide whether or not you want to leave the code as it is." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:467 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:468 msgid "" "We have a number of warnings aimed specifically at users of typed GDScript. " "By default, these warnings are disabled, you can enable them in Project " "Settings (**Debug > GDScript**, make sure **Advanced Settings** is enabled)." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:471 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:472 msgid "" "You can enable the ``UNTYPED_DECLARATION`` warning if you want to always use " "static types. Additionally, you can enable the ``INFERRED_DECLARATION`` " "warning if you prefer a more readable and reliable, but more verbose syntax." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:475 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:476 msgid "" "``UNSAFE_*`` warnings make unsafe operations more noticeable, than unsafe " "lines. Currently, ``UNSAFE_*`` warnings do not cover all cases that unsafe " "lines cover." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:479 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:480 msgid "Common unsafe operations and their safe counterparts" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:482 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:483 msgid "``UNSAFE_PROPERTY_ACCESS`` and ``UNSAFE_METHOD_ACCESS`` warnings" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:484 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:485 msgid "" "In this example, we aim to set a property and call a method on an object " "that has a script attached with ``class_name MyScript`` and that ``extends " @@ -107774,7 +108152,7 @@ msgid "" "if the property and method exist and then set and call them if they do:" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:498 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:499 msgid "" "However, this code will produce ``UNSAFE_PROPERTY_ACCESS`` and " "``UNSAFE_METHOD_ACCESS`` warnings as the property and method are not present " @@ -107784,18 +108162,18 @@ msgid "" "which you can set its properties and call its methods:" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:512 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:513 msgid "" "Alternatively, you can declare a variable and use the ``as`` operator to try " "to cast the object. You'll then want to check whether the cast was " "successful by confirming that the variable was assigned:" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:524 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:525 msgid "``UNSAFE_CAST`` warning" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:526 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:527 msgid "" "In this example, we would like the label connected to an object entering our " "collision area to show the area's name. Once the object enters the collision " @@ -107804,7 +108182,7 @@ msgid "" "could be achieved like this:" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:537 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:538 msgid "" "This piece of code produces an ``UNSAFE_PROPERTY_ACCESS`` warning because " "``label`` is not defined in ``Node2D``. To solve this, we could first check " @@ -107812,7 +108190,7 @@ msgid "" "settings its text property like so:" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:548 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:549 msgid "" "However, this produces an ``UNSAFE_CAST`` warning because ``body.label`` is " "of a ``Variant`` type. To safely get the property in the type you want, you " @@ -107823,27 +108201,27 @@ msgid "" "with the object:" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:564 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:565 msgid "Cases where you can't specify types" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:568 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:569 msgid "" "To wrap up this introduction, let's mention cases where you can't use type " "hints. This will trigger a **syntax error**." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:571 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:572 msgid "" "You can't specify the type of individual elements in an array or a " "dictionary:" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:582 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:583 msgid "Nested types are not currently supported:" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:594 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:595 msgid "" "Typed GDScript is a powerful tool. It helps you write more structured code, " "avoid common errors, and create scalable and reliable systems. Static types " @@ -114987,35 +115365,28 @@ msgid "" "specifying the types of the key and value elements of the dictionary." msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_exports.rst:585 -msgid "" -"Typed dictionaries are currently unsupported in the Godot editor, so the " -"Inspector will not restrict the types that can be assigned, potentially " -"resulting in runtime exceptions." -msgstr "" - -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_exports.rst:594 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_exports.rst:588 msgid "" "The default value of Godot dictionaries is null. A different default can be " "specified:" msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_exports.rst:607 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_exports.rst:601 msgid "Exporting C# arrays" msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_exports.rst:609 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_exports.rst:603 msgid "" "C# arrays can exported as long as the element type is a :ref:`Variant-" "compatible type `." msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_exports.rst:619 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_exports.rst:613 msgid "" "The default value of C# arrays is null. A different default can be specified:" msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_exports.rst:633 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_exports.rst:627 msgid "" "When changing an exported variable's value from a script " "in :ref:`doc_gdscript_tool_mode`, the value in the inspector won't be " @@ -115024,7 +115395,7 @@ msgid "" "exported variable's value." msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_exports.rst:646 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_exports.rst:640 msgid "" "Before reading further, you should get familiar with the way properties are " "handled and how they can be customized with :ref:`_Set() " @@ -115034,7 +115405,7 @@ msgid "" "in :ref:`doc_accessing_data_or_logic_from_object`." msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_exports.rst:656 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_exports.rst:650 msgid "" "The script must operate in the ``tool`` mode so the above methods can work " "from within the editor." @@ -116151,7 +116522,7 @@ msgid "Same as ``[p align=center]``." msgstr "" #: ../../docs/tutorials/scripting/cpp/gdextension_docs_system.rst:142 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:296 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:298 msgid "``[center]{text}[/center]``" msgstr "" @@ -116252,8 +116623,8 @@ msgstr "" #: ../../docs/tutorials/scripting/cpp/gdextension_docs_system.rst:0 #: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:0 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:616 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:662 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:618 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:664 msgid "**color**" msgstr "" @@ -116266,7 +116637,7 @@ msgid "" msgstr "" #: ../../docs/tutorials/scripting/cpp/gdextension_docs_system.rst:172 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:402 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:404 msgid "``[color={code/name}]{text}[/color]``" msgstr "" @@ -120531,11 +120902,11 @@ msgid "" msgstr "" #: ../../docs/tutorials/scripting/creating_script_templates.rst:75 -msgid "``template_scripts/Node/smooth_camera.gd``" +msgid "``script_templates/Node/smooth_camera.gd``" msgstr "" #: ../../docs/tutorials/scripting/creating_script_templates.rst:76 -msgid "``template_scripts/CharacterBody3D/platformer_movement.gd``" +msgid "``script_templates/CharacterBody3D/platformer_movement.gd``" msgstr "" #: ../../docs/tutorials/scripting/creating_script_templates.rst:79 @@ -122095,6 +122466,12 @@ msgid "" "download/latest-4.x/singleton_autoload_starter.zip>`_ and open it in Godot." msgstr "" +#: ../../docs/tutorials/scripting/singletons_autoload.rst:135 +msgid "" +"A window notifying you that the project was last opened in an older Godot " +"version may appear, that's not an issue. Click *Ok* to open the project." +msgstr "" + #: ../../docs/tutorials/scripting/singletons_autoload.rst:138 msgid "" "The project contains two scenes: ``scene_1.tscn`` and ``scene_2.tscn``. Each " @@ -130638,7 +131015,7 @@ msgstr "" #: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:58 #: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:108 #: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:218 -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:292 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:299 #: ../../docs/tutorials/shaders/shader_reference/particle_shader.rst:58 #: ../../docs/tutorials/shaders/shader_reference/particle_shader.rst:139 #: ../../docs/tutorials/shaders/shader_reference/particle_shader.rst:156 @@ -131009,7 +131386,7 @@ msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:221 #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:358 -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:247 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:254 msgid "inout vec3 **NORMAL**" msgstr "" @@ -131065,7 +131442,7 @@ msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:237 #: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:140 -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:263 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:270 #: ../../docs/tutorials/shaders/shader_reference/particle_shader.rst:100 msgid "inout vec4 **COLOR**" msgstr "" @@ -131215,7 +131592,7 @@ msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:290 #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:478 #: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:220 -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:294 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:301 msgid "in vec4 **FRAGCOORD**" msgstr "" @@ -131248,8 +131625,8 @@ msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:299 #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:497 -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:240 -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:302 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:244 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:309 msgid "in vec2 **UV**" msgstr "" @@ -131269,7 +131646,7 @@ msgid "UV2 that comes from the ``vertex()`` function." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:303 -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:300 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:307 msgid "in vec4 **COLOR**" msgstr "" @@ -131278,8 +131655,8 @@ msgid "COLOR that comes from the ``vertex()`` function." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:305 -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:226 -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:313 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:230 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:320 msgid "in vec2 **POINT_COORD**" msgstr "" @@ -131312,7 +131689,7 @@ msgid "" msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:335 -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:260 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:267 msgid "inout vec3 **LIGHT_VERTEX**" msgstr "" @@ -131330,28 +131707,28 @@ msgid "" msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:348 -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:244 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:251 msgid "sampler2D **SCREEN_TEXTURE**" msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:348 -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:244 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:251 msgid "" "Removed in Godot 4. Use a ``sampler2D`` with ``hint_screen_texture`` instead." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:350 #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:495 -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:242 -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:311 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:249 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:318 #: ../../docs/tutorials/shaders/shader_reference/sky_shader.rst:204 msgid "in vec2 **SCREEN_UV**" msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:350 #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:495 -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:242 -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:311 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:249 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:318 msgid "Screen UV coordinate for current pixel." msgstr "" @@ -131395,7 +131772,7 @@ msgid "" msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:367 -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:251 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:258 msgid "out vec3 **NORMAL_MAP**" msgstr "" @@ -131404,7 +131781,7 @@ msgid "Set normal here if reading normal from a texture instead of ``NORMAL``." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:369 -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:254 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:261 msgid "out float **NORMAL_MAP_DEPTH**" msgstr "" @@ -131683,7 +132060,7 @@ msgid "" msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:449 -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:268 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:275 msgid "Light built-ins" msgstr "" @@ -131731,7 +132108,7 @@ msgid "" msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:493 -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:298 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:305 msgid "in vec3 **NORMAL**" msgstr "" @@ -131775,7 +132152,7 @@ msgid "" msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:515 -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:327 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:334 msgid "in bool **LIGHT_IS_DIRECTIONAL**" msgstr "" @@ -131957,18 +132334,18 @@ msgid "Instance custom data." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:126 -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:234 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:238 msgid "in bool **AT_LIGHT_PASS**" msgstr "" #: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:126 -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:234 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:238 msgid "Always ``false``." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:128 -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:230 -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:307 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:234 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:314 msgid "in vec2 **TEXTURE_PIXEL_SIZE**" msgstr "" @@ -131979,7 +132356,7 @@ msgid "" msgstr "" #: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:132 -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:256 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:263 msgid "inout vec2 **VERTEX**" msgstr "" @@ -132071,7 +132448,7 @@ msgid "" msgstr "" #: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:220 -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:294 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:301 msgid "" "Coordinate of pixel center. In screen space. ``xy`` specifies position in " "viewport. Upper-left of the viewport is the origin, ``(0.0, 0.0)``." @@ -132086,99 +132463,112 @@ msgid "Size of individual pixels. Equal to inverse of resolution." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:226 -msgid "Coordinate for drawing points." +msgid "in vec4 **REGION_RECT**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:228 -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:305 -msgid "sampler2D **TEXTURE**" -msgstr "" - -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:228 -msgid "Default 2D texture." +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:226 +msgid "" +"Visible area of the sprite region in format ``(x, y, width, height)``. " +"Varies according to Sprite2D's ``region_enabled`` property." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:230 +msgid "Coordinate for drawing points." +msgstr "" + +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:232 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:312 +msgid "sampler2D **TEXTURE**" +msgstr "" + +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:232 +msgid "Default 2D texture." +msgstr "" + +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:234 msgid "" "Normalized pixel size of default 2D texture. For a Sprite2D with a texture " "of size 64x32px, ``TEXTURE_PIXEL_SIZE`` = ``vec2(1/64, 1/32)``" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:236 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:240 msgid "sampler2D **SPECULAR_SHININESS_TEXTURE**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:236 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:240 msgid "Specular shininess texture of this object." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:238 -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:333 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:242 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:340 msgid "in vec4 **SPECULAR_SHININESS**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:238 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:242 msgid "Specular shininess color, as sampled from the texture." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:240 -msgid "UV from the ``vertex()`` function." +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:244 +msgid "" +"UV from the ``vertex()`` function. For Sprite2D with region enabled, this " +"will sample the entire texture. Use ``REGION_RECT`` instead to sample only " +"the region defined in the Sprite2D's properties." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:247 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:254 msgid "Normal read from ``NORMAL_TEXTURE``. Writable." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:249 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:256 msgid "sampler2D **NORMAL_TEXTURE**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:249 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:256 msgid "Default 2D normal texture." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:251 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:258 msgid "" "Configures normal maps meant for 3D for use in 2D. If used, overrides " "``NORMAL``." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:254 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:261 msgid "Normal map depth for scaling." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:256 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:263 msgid "Pixel position in screen space." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:258 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:265 msgid "inout vec2 **SHADOW_VERTEX**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:258 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:265 msgid "Same as ``VERTEX`` but can be written to alter shadows." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:260 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:267 msgid "" "Same as ``VERTEX`` but can be written to alter lighting. Z component " "represents height." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:263 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:270 msgid "" "``COLOR`` from the ``vertex()`` function multiplied by the ``TEXTURE`` " "color. Also output color value." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:270 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:277 msgid "" "Light processor functions work differently in Godot 4.x than they did in " "Godot 3.x. In Godot 4.x all lighting is done during the regular draw pass. " "In other words, Godot no longer draws the object again for each light." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:274 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:281 msgid "" "Use the ``unshaded`` render mode if you do not want the ``light()`` function " "to run. Use the ``light_only`` render mode if you only want to see the " @@ -132186,123 +132576,123 @@ msgid "" "object visible where it is covered by light." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:279 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:286 msgid "" "If you define a ``light()`` function it will replace the built-in light " "function, even if your light function is empty." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:282 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:289 msgid "" "Below is an example of a light shader that takes a CanvasItem's normal map " "into account:" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:298 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:305 msgid "Input normal." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:300 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:307 msgid "Input color. This is the output of the ``fragment()`` function." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:302 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:309 msgid "" "UV from the ``vertex()`` function, equivalent to the UV in the " "``fragment()`` function." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:305 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:312 msgid "Current texture in use for CanvasItem." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:307 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:314 msgid "" "Normalized pixel size of ``TEXTURE``. For a Sprite2D with a ``TEXTURE`` of " "size ``64x32`` pixels, **TEXTURE_PIXEL_SIZE** = ``vec2(1/64, 1/32)``" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:313 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:320 msgid "UV for Point Sprite." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:315 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:322 msgid "in vec4 **LIGHT_COLOR**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:315 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:322 msgid "" ":ref:`Color` of the :ref:`class_Light2D`. If " "the light is a :ref:`class_PointLight2D`, multiplied by the " "light's :ref:`texture`." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:319 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:326 msgid "in float **LIGHT_ENERGY**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:319 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:326 msgid "" ":ref:`Energy multiplier` of " "the :ref:`class_Light2D`." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:322 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:329 msgid "in vec3 **LIGHT_POSITION**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:322 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:329 msgid "" "Position of the :ref:`class_Light2D` in screen space. If using " "a :ref:`class_DirectionalLight2D` this is always ``(0.0, 0.0, 0.0)``." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:325 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:332 msgid "in vec3 **LIGHT_DIRECTION**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:325 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:332 msgid "Direction of the :ref:`class_Light2D` in screen space." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:327 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:334 msgid "``true`` if this pass is a :ref:`class_DirectionalLight2D`." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:329 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:336 msgid "in vec3 **LIGHT_VERTEX**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:329 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:336 msgid "" "Pixel position, in screen space as modified in the ``fragment()`` function." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:331 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:338 msgid "inout vec4 **LIGHT**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:331 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:338 msgid "Output color for this :ref:`class_Light2D`." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:333 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:340 msgid "Specular shininess, as set in the object's texture." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:335 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:342 msgid "out vec4 **SHADOW_MODULATE**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:335 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:342 msgid "Multiply shadows cast at this point by this color." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:339 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:346 msgid "SDF functions" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:341 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:348 msgid "" "There are a few additional functions implemented to sample an automatically " "generated Signed Distance Field texture. These functions available for the " @@ -132310,7 +132700,7 @@ msgid "" "functions may also use them as long as they called from supported functions." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:346 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:353 msgid "" "The signed distance field is generated from :ref:`class_LightOccluder2D` " "nodes present in the scene with the **SDF Collision** property enabled " @@ -132319,35 +132709,35 @@ msgid "" "information." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:354 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:361 msgid "float **texture_sdf** (vec2 sdf_pos)" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:354 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:361 msgid "Performs an SDF texture lookup." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:356 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:363 msgid "vec2 **texture_sdf_normal** (vec2 sdf_pos)" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:356 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:363 msgid "Calculates a normal from the SDF texture." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:358 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:365 msgid "vec2 **sdf_to_screen_uv** (vec2 sdf_pos)" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:358 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:365 msgid "Converts an SDF to screen UV." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:360 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:367 msgid "vec2 **screen_uv_to_sdf** (vec2 uv)" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:360 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:367 msgid "Converts screen UV to an SDF." msgstr "" @@ -135107,11 +135497,11 @@ msgstr "" #: ../../docs/tutorials/shaders/compute_shaders.rst:384 msgid "" "The demo projects repository contains a `Compute Shader Heightmap demo " -"`__ This project performs heightmap image " -"generation on the CPU and GPU separately, which lets you compare how a " -"similar algorithm can be implemented in two different ways (with the GPU " -"implementation being faster in most cases)." +"`__ This project performs heightmap image generation on the CPU " +"and GPU separately, which lets you compare how a similar algorithm can be " +"implemented in two different ways (with the GPU implementation being faster " +"in most cases)." msgstr "" #: ../../docs/tutorials/shaders/screen-reading_shaders.rst:4 @@ -140239,7 +140629,10 @@ msgid "**br**" msgstr "" #: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:0 -msgid "Adds line break in a text." +msgid "" +"Adds line break in a text, without adding a new paragraph. If used within a " +"list, this won't create a new list item, but will add a line break within " +"the current item instead." msgstr "" #: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:0 @@ -140272,7 +140665,7 @@ msgstr "" msgid "Same as ``[p align=left]``." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:302 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:304 msgid "``[left]{text}[/left]``" msgstr "" @@ -140288,7 +140681,7 @@ msgstr "" msgid "Same as ``[p align=right]``." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:308 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:310 msgid "``[right]{text}[/right]``" msgstr "" @@ -140304,7 +140697,7 @@ msgstr "" msgid "Same as ``[p align=fill]``." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:314 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:316 msgid "``[fill]{text}[/fill]``" msgstr "" @@ -140318,7 +140711,7 @@ msgid "" "or ``[ol]``, but without a bullet point." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:320 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:322 msgid "``[indent]{text}[/indent]``" msgstr "" @@ -140375,7 +140768,7 @@ msgstr "" msgid "Use custom font size for ``{text}``." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:365 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:367 msgid "``[font_size={size}]{text}[/font_size]``" msgstr "" @@ -140400,7 +140793,7 @@ msgid "" "display below the dropcap." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:377 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:379 msgid "" "``[dropcap font={font} font_size={size} color={color} outline_size={size} " "outline_color={color} margins={left},{top},{right},{bottom}]{text}[/" @@ -140440,7 +140833,7 @@ msgid "" "be used." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:395 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:397 msgid "``[lang={code}]{text}[/lang]``" msgstr "" @@ -140458,7 +140851,7 @@ msgid "" "background colors on neighboring lines/columns." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:412 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:414 msgid "``[bgcolor={code/name}]{text}[/bgcolor]``" msgstr "" @@ -140476,7 +140869,7 @@ msgid "" "issues when there are foreground colors on neighboring lines/columns." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:422 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:424 msgid "``[fgcolor={code/name}]{text}[/fgcolor]``" msgstr "" @@ -140616,7 +141009,7 @@ msgid "" "be provided by putting one item per line of text." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:472 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:474 msgid "``[ol type={type}]{items}[/ol]``" msgstr "" @@ -140686,7 +141079,7 @@ msgstr "" msgid "``[shy]`` (soft hyphen)" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:494 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:496 msgid "" "Tags for bold (``[b]``) and italics (``[i]``) formatting work best if the " "appropriate custom fonts are set up in the RichTextLabelNode's theme " @@ -140696,73 +141089,33 @@ msgid "" "rarely look good in comparison to hand-made bold/italic font variants." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:500 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:502 msgid "" "The monospaced (``[code]``) tag **only** works if a custom font is set up in " "the RichTextLabel node's theme overrides. Otherwise, monospaced text will " "use the regular font." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:503 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:505 msgid "There are no BBCode tags to control vertical centering of text yet." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:505 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:507 msgid "Options can be skipped for all tags." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:510 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:512 msgid "Paragraph options" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:512 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:646 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:514 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:648 msgid "**align**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:515 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:525 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:536 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:548 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:558 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:568 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:619 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:629 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:639 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:649 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:665 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:675 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:685 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:695 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:705 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:715 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:767 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:777 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:787 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:797 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:807 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:817 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:827 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:837 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:847 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:857 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:873 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:924 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:935 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:945 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:956 -msgid "`Values`" -msgstr "" - -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:515 -msgid "" -"``left`` (or ``l``), ``center`` (or ``c``), ``right`` (or ``r``), ``fill`` " -"(or ``f``)" -msgstr "" - #: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:517 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:528 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:540 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:527 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:538 #: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:550 #: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:560 #: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:570 @@ -140791,41 +141144,81 @@ msgstr "" #: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:937 #: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:947 #: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:958 -msgid "`Default`" +msgid "`Values`" msgstr "" #: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:517 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:651 +msgid "" +"``left`` (or ``l``), ``center`` (or ``c``), ``right`` (or ``r``), ``fill`` " +"(or ``f``)" +msgstr "" + +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:519 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:530 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:542 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:552 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:562 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:572 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:623 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:633 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:643 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:653 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:669 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:679 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:689 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:699 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:709 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:719 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:771 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:781 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:791 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:801 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:811 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:821 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:831 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:841 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:851 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:861 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:877 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:928 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:939 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:949 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:960 +msgid "`Default`" +msgstr "" + +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:519 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:653 msgid "``left``" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:520 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:522 msgid "Text horizontal alignment." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:522 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:524 msgid "**bidi_override**, **st**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:525 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:527 msgid "" "``default`` (of ``d``), ``uri`` (or ``u``), ``file`` (or ``f``), ``email`` " "(or ``e``), ``list`` (or ``l``), ``none`` (or ``n``), ``custom`` (or ``c``)" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:528 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:530 msgid "``default``" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:531 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:533 msgid "Structured text override." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:533 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:535 msgid "**justification_flags**, **jst**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:536 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:538 msgid "" "Comma-separated list of the following values (no space after each comma): " "``kashida`` (or ``k``), ``word`` (or ``w``), ``trim`` (or ``tr``), " @@ -140833,72 +141226,72 @@ msgid "" "``skip_last_with_chars`` (or ``sv``), ``do_not_skip_single`` (or ``ns``)." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:540 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:542 msgid "``word,kashida,skip_last,do_not_skip_single``" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:543 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:545 msgid "" "Justification (fill alignment) option. See :ref:`class_TextServer` for more " "details." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:545 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:547 msgid "**direction**, **dir**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:548 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:550 msgid "``ltr`` (or ``l``), ``rtl`` (or ``r``), ``auto`` (or ``a``)" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:550 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:560 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:667 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:677 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:687 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:697 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:769 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:779 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:789 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:799 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:809 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:819 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:937 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:947 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:552 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:562 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:669 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:679 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:689 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:699 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:771 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:781 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:791 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:801 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:811 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:821 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:939 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:949 msgid "Inherit" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:553 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:555 msgid "Base BiDi direction." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:555 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:557 msgid "**language**, **lang**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:558 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:560 msgid "ISO language codes. See :ref:`doc_locales`" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:563 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:565 msgid "" "Locale override. Some font files may contain script-specific substitutes, in " "which case they will be used." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:565 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:567 msgid "**tab_stops**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:568 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:570 msgid "List of floating-point numbers, e.g. ``10.0,30.0``" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:570 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:572 msgid "Width of the space character in the font" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:573 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:575 msgid "" "Overrides the horizontal offsets for each tab character. When the end of the " "list is reached, the tab stops will loop over. For example, if you set " @@ -140907,160 +141300,160 @@ msgid "" "``10 + 30 + 10 = 50`` pixels from the origin of the RichTextLabel." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:582 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:584 msgid "Handling ``[url]`` tag clicks" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:584 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:586 msgid "" "By default, ``[url]`` tags do nothing when clicked. This is to allow " "flexible use of ``[url]`` tags rather than limiting them to opening URLs in " "a web browser." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:587 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:589 msgid "" "To handle clicked ``[url]`` tags, connect the ``RichTextLabel`` " "node's :ref:`meta_clicked ` signal " "to a script function." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:590 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:592 msgid "" "For example, the following method can be connected to ``meta_clicked`` to " "open clicked URLs using the user's default web browser:" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:602 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:604 msgid "" "For more advanced use cases, it's also possible to store JSON in a ``[url]`` " "tag's option and parse it in the function that handles the ``meta_clicked`` " "signal. For example:" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:614 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:616 msgid "Horizontal rule options" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:619 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:665 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:935 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:945 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:621 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:667 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:937 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:947 msgid "Color name or color in HEX format" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:621 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:623 msgid "``Color(1, 1, 1, 1)``" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:624 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:626 msgid "Color tint of the rule (modulation)." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:626 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:672 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:628 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:674 msgid "**height**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:629 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:639 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:675 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:685 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:924 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:631 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:641 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:677 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:687 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:926 msgid "Integer number" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:634 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:636 msgid "" "Target height of the rule in pixels, add ``%`` to the end of value to " "specify it as percentages of the control width instead of pixels." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:636 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:682 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:638 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:684 msgid "**width**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:641 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:643 msgid "``90%``" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:644 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:646 msgid "" "Target width of the rule in pixels, add ``%`` to the end of value to specify " "it as percentages of the control width instead of pixels." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:649 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:651 msgid "``left`` (or ``l``), ``center`` (or ``c``), ``right`` (or ``r``)" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:654 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:656 msgid "Horizontal alignment." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:660 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:662 msgid "Image options" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:670 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:672 msgid "Color tint of the image (modulation)." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:680 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:682 msgid "" "Target height of the image in pixels, add ``%`` to the end of value to " "specify it as percentages of the control width instead of pixels." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:690 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:692 msgid "" "Target width of the image in pixels, add ``%`` to the end of value to " "specify it as percentages of the control width instead of pixels." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:692 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:694 msgid "**region**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:695 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:697 msgid "x,y,width,height in pixels" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:700 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:702 msgid "" "Region rect of the image. This can be used to display a single image from a " "spritesheet." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:702 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:704 msgid "**pad**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:707 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:709 msgid "``false``" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:710 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:712 msgid "" "If set to ``true``, and the image is smaller than the size specified by " "``width`` and ``height``, the image padding is added to match the size " "instead of upscaling." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:712 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:714 msgid "**tooltip**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:720 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:722 msgid "Image tooltip." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:725 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:727 msgid "Image and table vertical alignment" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:727 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:729 msgid "" "When a vertical alignment value is provided with the ``[img]`` or " "``[table]`` tag the image/table will try to align itself against the " @@ -141071,178 +141464,178 @@ msgid "" "in any combination." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:734 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:736 msgid "" "To specify both points, use their full or short names as a value of the " "image/table tag:" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:751 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:753 msgid "" "You can also specify just one value (``top``, ``center``, or ``bottom``) to " "make use of a corresponding preset (``top-top``, ``center-center``, and " "``bottom-bottom`` respectively)." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:755 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:757 msgid "" "Short names for the values are ``t`` (``top``), ``c`` (``center``), ``l`` " "(``baseline``), and ``b`` (``bottom``)." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:762 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:764 msgid "Font options" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:764 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:766 msgid "**name**, **n**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:767 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:769 msgid "A valid Font resource path." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:772 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:774 msgid "Font resource path." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:774 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:776 msgid "**size**, **s**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:777 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:787 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:797 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:807 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:817 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:779 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:789 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:799 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:809 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:819 msgid "Number in pixels." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:782 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:784 msgid "Custom font size." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:784 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:786 msgid "**glyph_spacing**, **gl**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:792 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:794 msgid "Extra spacing for each glyph." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:794 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:796 msgid "**space_spacing**, **sp**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:802 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:804 msgid "Extra spacing for the space character." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:804 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:806 msgid "**top_spacing**, **top**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:812 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:814 msgid "Extra spacing at the top of the line." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:814 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:816 msgid "**bottom_spacing**, **bt**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:822 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:824 msgid "Extra spacing at the bottom of the line." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:824 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:826 msgid "**embolden**, **emb**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:827 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:847 -msgid "Floating-point number." -msgstr "" - #: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:829 #: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:849 +msgid "Floating-point number." +msgstr "" + +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:831 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:851 msgid "``0.0``" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:832 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:834 msgid "" "Font embolden strength, if it is not equal to zero, emboldens the font " "outlines. Negative values reduce the outline thickness." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:834 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:836 msgid "**face_index**, **fi**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:837 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:839 msgid "Integer number." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:839 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:841 msgid "``0``" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:842 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:844 msgid "An active face index in the TrueType / OpenType collection." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:844 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:846 msgid "**slant**, **sln**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:852 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:854 msgid "" "Font slant strength, positive values slant glyphs to the right. Negative " "values to the left." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:854 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:856 msgid "**opentype_variation**, **otv**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:857 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:859 msgid "" "Comma-separated list of the OpenType variation tags (no space after each " "comma)." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:862 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:864 msgid "" "Font OpenType variation coordinates. See `OpenType variation tags `__." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:864 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:880 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:866 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:882 msgid "" "Note: The value should be enclosed in ``\"`` to allow using ``=`` inside it:" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:870 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:872 msgid "**opentype_features**, **otf**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:873 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:875 msgid "" "Comma-separated list of the OpenType feature tags (no space after each " "comma)." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:878 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:880 msgid "" "Font OpenType features. See `OpenType features tags `__." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:889 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:891 msgid "Named colors" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:891 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:893 msgid "" "For tags that allow specifying a color by name, you can use names of the " "constants from the built-in :ref:`class_Color` class. Named classes can be " @@ -141250,28 +141643,28 @@ msgid "" "``DarkRed``, and ``darkred`` will give the same exact result." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:896 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:898 msgid "See this image for a list of color constants:" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:900 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:902 msgid "" "`View at full size `__" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:905 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:907 msgid "Hexadecimal color codes" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:907 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:909 msgid "" "For opaque RGB colors, any valid 6-digit hexadecimal code is supported, e.g. " "``[color=#ffffff]white[/color]``. Shorthand RGB color codes such as ``#6f2`` " "(equivalent to ``#66ff22``) are also supported." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:911 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:913 msgid "" "For transparent RGB colors, any RGBA 8-digit hexadecimal code can be used, " "e.g. ``[color=#ffffff88]translucent white[/color]``. Note that the alpha " @@ -141280,102 +141673,102 @@ msgid "" "supported as well." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:919 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:921 msgid "Cell options" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:921 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:923 msgid "**expand**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:929 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:931 msgid "" "Cell expansion ratio. This defines which cells will try to expand to " "proportionally to other cells and their expansion ratios." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:932 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:934 msgid "**border**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:940 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:942 msgid "Cell border color." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:942 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:944 msgid "**bg**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:950 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:952 msgid "" "Cell background color. For alternating odd/even row backgrounds, you can use " "``bg=odd_color,even_color``." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:953 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:955 msgid "**padding**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:956 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:958 msgid "4 comma-separated floating-point numbers (no space after each comma)" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:958 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:960 msgid "``0,0,0,0``" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:961 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:963 msgid "Left, top, right, and bottom cell padding." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:966 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:968 msgid "Unordered list bullet" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:968 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:970 msgid "" "By default, the ``[ul]`` tag uses the ``U+2022`` \"Bullet\" Unicode glyph as " "the bullet character. This behavior is similar to web browsers. The bullet " "character can be customized using ``[ul bullet={bullet}]``. If provided, " -"this ``{bullet}`` parameter must be a *single* character with no enclosing " -"quotes (for example, ``[bullet=*]``). Additional characters are ignored. The " -"bullet character's width does not affect the list's formatting." +"this ``{bullet}`` parameter must be a string with no enclosing quotes (for " +"example, ``[bullet=*]``). You can add trailing spaces after the bullet " +"character to increase the spacing between the bullet and the list item text." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:975 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:977 msgid "" "See `Bullet (typography) on Wikipedia `__ for a list of common bullet characters that you can " "paste directly in the ``bullet`` parameter." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:981 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:983 msgid "Ordered list types" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:983 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:985 msgid "" "Ordered lists can be used to automatically mark items with numbers or " "letters in ascending order. This tag supports the following type options:" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:987 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:989 msgid "``1`` - Numbers, using language specific numbering system if possible." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:988 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:990 msgid "``a``, ``A`` - Lower and upper case Latin letters." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:989 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:991 msgid "``i``, ``I`` - Lower and upper case Roman numerals." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:992 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:994 msgid "Text effects" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:994 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:996 msgid "" "BBCode can also be used to create different text effects that can optionally " "be animated. Five customizable effects are provided out of the box, and you " @@ -141385,19 +141778,19 @@ msgid "" "property." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1000 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1002 msgid "" "All examples below mention the default values for options in the listed tag " "format." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1004 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1006 msgid "" "Text effects that move characters' positions may result in characters being " "clipped by the RichTextLabel node bounds." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1007 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1009 msgid "" "You can resolve this by disabling **Control > Layout > Clip Contents** in " "the inspector after selecting the RichTextLabel node, or ensuring there is " @@ -141405,18 +141798,18 @@ msgid "" "line using the effect." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1013 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1015 msgid "Pulse" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1017 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1019 msgid "" "Pulse creates an animated pulsing effect that multiplies each character's " "opacity and color. It can be used to bring attention to specific text. Its " "tag format is ``[pulse freq=1.0 color=#ffffff40 ease=-2.0]{text}[/pulse]``." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1021 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1023 msgid "" "``freq`` controls the frequency of the half-pulsing cycle (higher is " "faster). A full pulsing cycle takes ``2 * (1.0 / freq)`` seconds. ``color`` " @@ -141425,17 +141818,17 @@ msgid "" "Negative values provide in-out easing, which is why the default is ``-2.0``." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1028 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1030 msgid "Wave" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1032 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1034 msgid "" "Wave makes the text go up and down. Its tag format is ``[wave amp=50.0 " "freq=5.0 connected=1]{text}[/wave]``." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1035 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1037 msgid "" "``amp`` controls how high and low the effect goes, and ``freq`` controls how " "fast the text goes up and down. A ``freq`` value of ``0`` will result in no " @@ -141446,17 +141839,17 @@ msgid "" "issues with font ligatures." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1044 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1046 msgid "Tornado" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1048 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1050 msgid "" "Tornado makes the text move around in a circle. Its tag format is ``[tornado " "radius=10.0 freq=1.0 connected=1]{text}[/tornado]``." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1051 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1053 msgid "" "``radius`` is the radius of the circle that controls the offset, ``freq`` is " "how fast the text moves in a circle. A ``freq`` value of ``0`` will pause " @@ -141467,17 +141860,17 @@ msgid "" "issues with font ligatures." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1060 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1062 msgid "Shake" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1064 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1066 msgid "" "Shake makes the text shake. Its tag format is ``[shake rate=20.0 level=5 " "connected=1]{text}[/shake]``." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1067 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1069 msgid "" "``rate`` controls how fast the text shakes, ``level`` controls how far the " "text is offset from the origin. If ``connected`` is ``1`` (default), glyphs " @@ -141486,34 +141879,34 @@ msgid "" "around certain rendering issues with font ligatures." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1074 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1076 msgid "Fade" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1078 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1080 msgid "" "Fade creates a static fade effect that multiplies each character's opacity. " "Its tag format is ``[fade start=4 length=14]{text}[/fade]``." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1081 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1083 msgid "" "``start`` controls the starting position of the falloff relative to where " "the fade command is inserted, ``length`` controls over how many characters " "should the fade out take place." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1086 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1088 msgid "Rainbow" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1090 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1092 msgid "" "Rainbow gives the text a rainbow color that changes over time. Its tag " "format is ``[rainbow freq=1.0 sat=0.8 val=0.8 speed=1.0]{text}[/rainbow]``." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1093 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1095 msgid "" "``freq`` determines how many letters the rainbow extends over before it " "repeats itself, ``sat`` is the saturation of the rainbow, ``val`` is the " @@ -141523,7 +141916,7 @@ msgid "" "the animation backwards." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1099 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1101 msgid "" "Font outlines are *not* affected by the rainbow effect (they keep their " "original color). Existing font colors are overridden by the rainbow effect. " @@ -141532,11 +141925,11 @@ msgid "" "colors." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1105 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1107 msgid "Custom BBCode tags and text effects" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1107 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1109 msgid "" "You can extend the :ref:`class_RichTextEffect` resource type to create your " "own custom BBCode tags. Create a new script file that extends " @@ -141550,21 +141943,21 @@ msgid "" "` method:" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1116 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1120 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1118 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1122 msgid "" "Selecting a custom RichTextEffect after saving a script that extends " "RichTextEffect with a ``class_name``" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1124 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1126 msgid "" "If the custom effect is not registered within the RichTextLabel's **Markup > " "Custom Effects** property, no effect will be visible and the original tag " "will be left as-is." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1128 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1130 msgid "" "There is only one function that you need to extend: " "``_process_custom_fx(char_fx)``. Optionally, you can also provide a custom " @@ -141573,11 +141966,11 @@ msgid "" "determine what the BBCode tag should be." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1134 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1136 msgid "``_process_custom_fx``" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1136 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1138 msgid "" "This is where the logic of each effect takes place and is called once per " "glyph during the draw phase of text rendering. This passes in " @@ -141585,12 +141978,6 @@ msgid "" "control how the associated glyph is rendered:" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1140 -msgid "" -"``identity`` specifies which custom effect is being processed. You should " -"use that for code flow control." -msgstr "" - #: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1142 msgid "``outline`` is ``true`` if effect is called for drawing text outline." msgstr "" @@ -141698,14 +142085,15 @@ msgstr "" #: ../../docs/tutorials/xr/setting_up_xr.rst:12 msgid "" "Each supported XR platform is implemented as an :ref:`XRInterface " -"`. Supported interfaces register themselves with " -"the :ref:`XRServer ` and can be queried with the " -"``find_interface`` method on the :ref:`XRServer `. When the " -"desired interface is found it can be initialized by calling ``initialize`` " -"on the interface." +"`. A list of supported platforms can be found on the list " +"of features page :ref:`here `. Supported interfaces register " +"themselves with the :ref:`XRServer ` and can be queried with " +"the ``find_interface`` method on the :ref:`XRServer `. When " +"the desired interface is found it can be initialized by calling " +"``initialize`` on the interface." msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:15 +#: ../../docs/tutorials/xr/setting_up_xr.rst:20 msgid "" "A registered interface means nothing more than that the interface is " "available, if the interface is not supported by the host system, " @@ -141716,7 +142104,7 @@ msgid "" "interface failing to initialize." msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:17 +#: ../../docs/tutorials/xr/setting_up_xr.rst:22 msgid "" "Due to the special requirements for output in XR, especially for head " "mounted devices that supply different images to each eye, the :ref:`XRServer " @@ -141729,7 +142117,7 @@ msgid "" "alternative content." msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:20 +#: ../../docs/tutorials/xr/setting_up_xr.rst:25 msgid "" "Note that only one interface can be responsible for handling the output to " "an XR device, this is known as the primary interface and by default will be " @@ -141739,13 +142127,13 @@ msgid "" "otherwise 3DOF only device." msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:23 +#: ../../docs/tutorials/xr/setting_up_xr.rst:28 msgid "" "There are three XR specific node types that you will find in nearly all XR " "applications:" msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:25 +#: ../../docs/tutorials/xr/setting_up_xr.rst:30 msgid "" ":ref:`XROrigin3D ` represents, for all intents and " "purposes, the center point of your play space. That is an oversimplified " @@ -141753,7 +142141,7 @@ msgid "" "physical space by the XR platform are positioned in relation to this point." msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:26 +#: ../../docs/tutorials/xr/setting_up_xr.rst:31 msgid "" ":ref:`XRCamera3D ` represents the (stereo) camera that is " "used when rendering output for the XR device. The positioning of this node " @@ -141761,7 +142149,7 @@ msgid "" "information provided by the XR platform." msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:27 +#: ../../docs/tutorials/xr/setting_up_xr.rst:32 msgid "" ":ref:`XRController3D ` represents a controller used by " "the player, commonly there are two, one held in each hand. These nodes give " @@ -141771,17 +142159,17 @@ msgid "" "provided by the XR platform." msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:29 +#: ../../docs/tutorials/xr/setting_up_xr.rst:34 msgid "" "There are other XR related nodes and there is much more to say about these " "three nodes, but we'll get into that later on." msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:32 +#: ../../docs/tutorials/xr/setting_up_xr.rst:37 msgid "Which Renderer to use" msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:34 +#: ../../docs/tutorials/xr/setting_up_xr.rst:39 msgid "" "Godot has 3 renderer options for projects: Compatibility, Mobile, and " "Forward+. The current recommendation is to use the Mobile renderer for any " @@ -141791,11 +142179,11 @@ msgid "" "compared to the other two." msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:41 +#: ../../docs/tutorials/xr/setting_up_xr.rst:46 msgid "OpenXR" msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:43 +#: ../../docs/tutorials/xr/setting_up_xr.rst:48 msgid "" "OpenXR is a new industry standard that allows different XR platforms to " "present themselves through a standardised API to XR applications. This " @@ -141803,7 +142191,7 @@ msgid "" "very well with Godot's interests." msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:45 +#: ../../docs/tutorials/xr/setting_up_xr.rst:50 msgid "" "The Vulkan implementation of OpenXR is closely integrated with Vulkan, " "taking over part of the Vulkan system. This requires tight integration of " @@ -141812,7 +142200,7 @@ msgid "" "include OpenXR as a core interface." msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:47 +#: ../../docs/tutorials/xr/setting_up_xr.rst:52 msgid "" "This also means OpenXR needs to be enabled when Godot starts in order to set " "things up correctly. Check " @@ -141820,7 +142208,7 @@ msgid "" "in your project settings under **XR > OpenXR**." msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:53 +#: ../../docs/tutorials/xr/setting_up_xr.rst:58 msgid "" "You can find several other settings related to OpenXR here as well. These " "can't be changed while your application is running. The default settings " @@ -141828,24 +142216,24 @@ msgid "" "see :ref:`doc_openxr_settings`." msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:57 +#: ../../docs/tutorials/xr/setting_up_xr.rst:62 msgid "" "You'll also need to go to **XR > Shaders** in the project settings and check " "the :ref:`Enabled` box to " "enable them. Once you've done that click the **Save & Restart** button." msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:64 +#: ../../docs/tutorials/xr/setting_up_xr.rst:69 msgid "" "Many post process effects have not yet been updated to support stereoscopic " "rendering. Using these will have adverse effects." msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:68 +#: ../../docs/tutorials/xr/setting_up_xr.rst:73 msgid "Setting up the XR scene" msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:70 +#: ../../docs/tutorials/xr/setting_up_xr.rst:75 msgid "" "Every XR application needs at least an :ref:`XROrigin3D ` " "and an :ref:`XRCamera3D ` node. Most will have " @@ -141856,17 +142244,17 @@ msgid "" "look something like this:" msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:74 +#: ../../docs/tutorials/xr/setting_up_xr.rst:79 msgid "" "The warning icons are expected and should go away after you configure the " "controllers. Select the left hand and set it up as follows:" msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:79 +#: ../../docs/tutorials/xr/setting_up_xr.rst:84 msgid "And the right hand:" msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:83 +#: ../../docs/tutorials/xr/setting_up_xr.rst:88 msgid "" "Right now all these nodes are on the floor, they will be positioned " "correctly in runtime. To help during development, it can be helpful to move " @@ -141875,19 +142263,19 @@ msgid "" "left and right hand." msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:85 +#: ../../docs/tutorials/xr/setting_up_xr.rst:90 msgid "" "Next we need to add a script to our root node. Add the following code into " "this script:" msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:135 +#: ../../docs/tutorials/xr/setting_up_xr.rst:140 msgid "" "This code fragment assumes we are using OpenXR, if you wish to use any of " "the other interfaces you can change the ``find_interface`` call." msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:139 +#: ../../docs/tutorials/xr/setting_up_xr.rst:144 msgid "" "As you can see in the code snippet above, we turn off v-sync. When using " "OpenXR you are outputting the rendering results to an HMD that often " @@ -141895,18 +142283,18 @@ msgid "" "v-sync is turned on, you will limit the output to 60 frames per second." msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:143 +#: ../../docs/tutorials/xr/setting_up_xr.rst:148 msgid "XR interfaces like OpenXR perform their own sync." msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:145 +#: ../../docs/tutorials/xr/setting_up_xr.rst:150 msgid "" "Also note that by default the physics engine runs at 60Hz as well and this " "can result in choppy physics. You should set " "``Engine.physics_ticks_per_second`` to a higher value." msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:148 +#: ../../docs/tutorials/xr/setting_up_xr.rst:153 msgid "" "If you run your project at this point in time, everything will work but you " "will be in a dark world. So to finish off our starting point add " @@ -141917,13 +142305,13 @@ msgid "" "environment." msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:152 +#: ../../docs/tutorials/xr/setting_up_xr.rst:157 msgid "" "Now run your project, you should be floating somewhere in space and be able " "to look around." msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:156 +#: ../../docs/tutorials/xr/setting_up_xr.rst:161 msgid "" "While traditional level switching can definitely be used with XR " "applications, where this scene setup is repeated in each level, most find it " @@ -141933,7 +142321,7 @@ msgid "" "depending on the XR interface used." msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:158 +#: ../../docs/tutorials/xr/setting_up_xr.rst:163 msgid "" "For the rest of this basic tutorial series we will create a game that uses a " "single scene." @@ -143237,11 +143625,23 @@ msgid "" msgstr "" #: ../../docs/tutorials/xr/openxr_settings.rst:303 +msgid "Render Models" +msgstr "" + +#: ../../docs/tutorials/xr/openxr_settings.rst:305 +msgid "" +"This extension is used to query the XR runtime for 3D assets of the hardware " +"being used, usually a controller, as well as the position of that hardware. " +"You can find a detailed guide on how to use it :ref:`here " +"`." +msgstr "" + +#: ../../docs/tutorials/xr/openxr_settings.rst:310 #: ../../docs/tutorials/xr/xr_action_map.rst:486 msgid "Binding Modifiers" msgstr "" -#: ../../docs/tutorials/xr/openxr_settings.rst:305 +#: ../../docs/tutorials/xr/openxr_settings.rst:312 msgid "" "These control whether or not binding modifiers can be used. Binding " "modifiers are used to apply thresholds or offset values. You can find " @@ -143249,19 +143649,19 @@ msgid "" "page :ref:`here `." msgstr "" -#: ../../docs/tutorials/xr/openxr_settings.rst:310 +#: ../../docs/tutorials/xr/openxr_settings.rst:317 msgid "Analog Threshold" msgstr "" -#: ../../docs/tutorials/xr/openxr_settings.rst:312 +#: ../../docs/tutorials/xr/openxr_settings.rst:319 msgid "Allow analog threshold binding modifiers." msgstr "" -#: ../../docs/tutorials/xr/openxr_settings.rst:315 +#: ../../docs/tutorials/xr/openxr_settings.rst:322 msgid "Dpad Binding" msgstr "" -#: ../../docs/tutorials/xr/openxr_settings.rst:317 +#: ../../docs/tutorials/xr/openxr_settings.rst:324 msgid "Allow D-pad binding modifiers." msgstr "" @@ -143472,8 +143872,8 @@ msgstr "" #: ../../docs/tutorials/xr/xr_action_map.rst:123 msgid "" "For our walkthrough in this document we will thus create a single action set " -"called ``my_first_action_set``. We do this by pressing the ``Add action " -"set`` button:" +"called ``my_first_action_set``. We do this by pressing the :button:`Add " +"action set` button:" msgstr "" #: ../../docs/tutorials/xr/xr_action_map.rst:129 @@ -144100,7 +144500,8 @@ msgstr "" #: ../../docs/tutorials/xr/xr_action_map.rst:519 #: ../../docs/tutorials/xr/xr_action_map.rst:586 msgid "" -"You can add a new modifier by pressing the ``Add binding modifier`` button." +"You can add a new modifier by pressing the :button:`Add binding modifier` " +"button." msgstr "" #: ../../docs/tutorials/xr/xr_action_map.rst:522 @@ -146398,9 +146799,9 @@ msgstr "" #: ../../docs/tutorials/xr/basic_xr_locomotion.rst:16 msgid "" -"Select your :ref:`XROrigin3D ` node and click on the " -"``instantiate Child Scene`` button to add a child scene. Select ``addons/" -"godot-xr-tools/player/player_body.tscn`` and add this node." +"Select your :ref:`XROrigin3D ` node and click on " +"the :button:`Instantiate Child Scene` button to add a child scene. Select " +"``addons/godot-xr-tools/player/player_body.tscn`` and add this node." msgstr "" #: ../../docs/tutorials/xr/basic_xr_locomotion.rst:20 @@ -150111,8 +150512,8 @@ msgstr "" #: ../../docs/contributing/development/code_style_guidelines.rst:298 msgid "" -"``-l 120`` means that the allowed number of characters per line is 120. This " -"number was agreed upon by the developers." +"``--line-length 120`` means that the allowed number of characters per line " +"is 120. This number was agreed upon by the developers." msgstr "" #: ../../docs/contributing/development/code_style_guidelines.rst:300 @@ -150534,7 +150935,7 @@ msgstr "" #: ../../docs/contributing/development/configuring_an_ide/qt_creator.rst:9 #: ../../docs/contributing/development/configuring_an_ide/rider.rst:16 #: ../../docs/contributing/development/configuring_an_ide/visual_studio.rst:18 -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:16 +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:17 #: ../../docs/contributing/development/configuring_an_ide/xcode.rst:10 msgid "Importing the project" msgstr "" @@ -151216,7 +151617,7 @@ msgstr "" #: ../../docs/contributing/development/configuring_an_ide/kdevelop.rst:69 #: ../../docs/contributing/development/configuring_an_ide/qt_creator.rst:73 #: ../../docs/contributing/development/configuring_an_ide/visual_studio.rst:38 -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:69 +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:70 #: ../../docs/contributing/development/configuring_an_ide/xcode.rst:71 msgid "Debugging the project" msgstr "" @@ -151234,13 +151635,14 @@ msgid "" "Select **Executable** option and specify the path to your executable located " "in the ``/bin`` folder. The name depends on your build " "configuration, e.g. ``godot.linuxbsd.editor.dev.x86_64`` for 64-bit LinuxBSD " -"platform with ``platform=editor`` and ``dev_build=yes``." +"platform with ``platform=linuxbsd``, ``target=editor``, and " +"``dev_build=yes``." msgstr "" #: ../../docs/contributing/development/configuring_an_ide/kdevelop.rst:87 #: ../../docs/contributing/development/configuring_an_ide/qt_creator.rst:111 #: ../../docs/contributing/development/configuring_an_ide/visual_studio.rst:75 -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:253 +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:254 #: ../../docs/contributing/development/configuring_an_ide/xcode.rst:108 msgid "" "If you run into any issues, ask for help in one of `Godot's community " @@ -151666,17 +152068,18 @@ msgid "" "This documentation is for contributions to the game engine, and not using " "Visual Studio Code as a C# or GDScript editor. To code C# or GDScript in an " "external editor, see :ref:`the C# guide to configure an external editor " -"`." +"` or :ref:`the GDScript guide to using an " +"external text editor `." msgstr "" -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:12 +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:13 msgid "" "`Visual Studio Code `_ is a free cross-" "platform code editor by `Microsoft `_ (not to be " "confused with :ref:`doc_configuring_an_ide_vs`)." msgstr "" -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:18 +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:19 msgid "" "Make sure the C/C++ extension is installed. You can find instructions in the " "`official documentation `_ can be used instead." msgstr "" -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:22 +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:23 msgid "When using the clangd extension, run ``scons compiledb=yes``." msgstr "" -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:23 +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:24 msgid "" "From the Visual Studio Code's main screen open the Godot root folder with " "**File > Open Folder...**." msgstr "" -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:25 +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:26 msgid "" "Press :kbd:`Ctrl + Shift + P` to open the command prompt window and enter " "*Configure Task*." msgstr "" -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:30 +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:31 msgid "Select the **Create tasks.json file from template** option." msgstr "" -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:35 +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:36 msgid "Then select **Others**." msgstr "" -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:40 +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:41 msgid "" "If there is no such option as **Create tasks.json file from template** " "available, either delete the file if it already exists in your folder or " @@ -151717,58 +152120,58 @@ msgid "" "more details on tasks." msgstr "" -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:42 +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:43 msgid "" "Within the ``tasks.json`` file find the ``\"tasks\"`` array and add a new " "section to it:" msgstr "" -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:44 +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:45 msgid ".vscode/tasks.json" msgstr "" -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:63 +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:64 msgid "An example of a filled out ``tasks.json``." msgstr "" -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:65 +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:66 msgid "" "Arguments can be different based on your own setup and needs. " "See :ref:`doc_introduction_to_the_buildsystem` for a full list of arguments." msgstr "" -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:71 +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:72 msgid "" "To run and debug the project you need to create a new configuration in the " "``launch.json`` file." msgstr "" -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:73 +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:74 msgid "Press :kbd:`Ctrl + Shift + D` to open the Run panel." msgstr "" -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:74 +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:75 msgid "" "If ``launch.json`` file is missing you will be prompted to create a new one." msgstr "" -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:79 +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:80 msgid "" "Select **C++ (GDB/LLDB)**. There may be another platform-specific option " "here. If selected, adjust the configuration example provided accordingly." msgstr "" -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:81 +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:82 msgid "" "Within the ``launch.json`` file find the ``\"configurations\"`` array and " "add a new section to it:" msgstr "" -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:181 +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:182 msgid "An example of a filled out ``launch.json``." msgstr "" -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:186 +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:187 msgid "" "Due to sporadic performance issues, it is recommended to use LLDB over GDB " "on Unix-based systems. Make sure that the `CodeLLDB extension `__ using MinGW." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:144 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:143 msgid "Running SCons" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:146 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:145 msgid "" "After opening a command prompt, change to the root directory of the engine " "source code (using ``cd``) and type:" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:153 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:152 msgid "" "When compiling with multiple CPU threads, SCons may warn about pywin32 being " "missing. You can safely ignore this warning." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:157 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:156 #: ../../docs/contributing/development/compiling/compiling_for_linuxbsd.rst:263 #: ../../docs/contributing/development/compiling/compiling_for_macos.rst:69 msgid "" @@ -153002,7 +153405,7 @@ msgid "" "for more info." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:162 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:161 msgid "" "If all goes well, the resulting binary executable will be placed in ``C:" "\\godot\\bin\\`` with the name ``godot.windows.editor.x86_32.exe`` or " @@ -153011,13 +153414,13 @@ msgid "" "``arch=x86_64``, ``arch=x86_32``, or ``arch=arm64``." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:168 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:167 msgid "" "This executable file contains the whole engine and runs without any " "dependencies. Running it will bring up the Project Manager." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:171 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:170 #: ../../docs/contributing/development/compiling/compiling_for_linuxbsd.rst:285 msgid "" "If you are compiling Godot for production use, you can make the final " @@ -153025,7 +153428,7 @@ msgid "" "This enables additional compiler optimizations and link-time optimization." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:176 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:175 msgid "" "LTO takes some time to run and requires up to 30 GB of available RAM while " "compiling (depending on toolchain). If you're running out of memory with the " @@ -153033,7 +153436,7 @@ msgid "" "(LLVM only) for a lightweight but less effective form of LTO." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:181 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:180 #: ../../docs/contributing/development/compiling/compiling_for_linuxbsd.rst:295 #: ../../docs/contributing/development/compiling/compiling_for_macos.rst:82 msgid "" @@ -153042,17 +153445,17 @@ msgid "" "by creating a file called ``._sc_`` or ``_sc_`` in the ``bin/`` folder." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:187 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:186 msgid "Compiling with support for Direct3D 12" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:189 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:188 msgid "" "By default, builds of Godot do not contain support for the Direct3D 12 " "graphics API." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:192 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:191 msgid "" "You can install the required dependencies by running ``python misc/scripts/" "install_d3d12_sdk_windows.py`` in the Godot source repository. After running " @@ -153061,14 +153464,14 @@ msgid "" "match the ones used in the script." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:198 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:197 msgid "" "You can find the detailed steps below if you wish to set up dependencies " "manually, but the above script handles everything for you (including the " "optional PIX and Agility SDK components)." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:202 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:201 msgid "" "`godot-nir-static library `_. We compile the Mesa libraries you will need into a static " @@ -153076,33 +153479,33 @@ msgid "" "unzipped folder, you will need it below." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:207 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:206 msgid "" "You can optionally build the godot-nir-static libraries yourself with the " "following steps:" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:210 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:209 msgid "" "Install the Python package `mako `_ which is " "needed to generate some files." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:212 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:211 msgid "" "Clone the `godot-nir-static `_ directory and navigate to it." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:214 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:213 msgid "Run the following:" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:235 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:234 msgid "Optionally, you can compile with the following for additional features:" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:237 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:236 msgid "" "`PIX `_ is a performance tuning " "and debugging application for Direct3D12 applications. If you compile-in " @@ -153114,7 +153517,7 @@ msgid "" "path." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:244 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:243 msgid "" "`Agility SDK `_ can " "be used to provide access to the latest Direct3D 12 features without relying " @@ -153124,29 +153527,29 @@ msgid "" "unzip the file to some path." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:251 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:250 msgid "" "If you use a preview version of the Agility SDK, remember to enable " "developer mode in Windows; otherwise it won't be used." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:254 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:253 msgid "" "If you want to use a PIX with MinGW build, navigate to PIX runtime directory " "and use the following commands to generate import library:" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:267 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:266 msgid "" "When building Godot, you will need to tell SCons to use Direct3D 12 and " "where to look for the additional libraries:" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:274 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:273 msgid "Or, with all options enabled:" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:280 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:279 msgid "" "For the Agility SDK's DLLs you have to explicitly choose the kind of " "workflow. Single-arch is the default (DLLs copied to ``bin/``). If you pass " @@ -153155,24 +153558,24 @@ msgid "" "runtime the right one will be loaded." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:287 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:286 msgid "Compiling with ANGLE support" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:289 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:288 msgid "" "ANGLE provides a translation layer from OpenGL ES 3.x to Direct3D 11 and can " "be used to improve support for the Compatibility renderer on some older GPUs " "with outdated OpenGL drivers and on Windows for ARM." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:293 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:292 msgid "" "By default, Godot is built with dynamically linked ANGLE, you can use it by " "placing ``libEGL.dll`` and ``libGLESv2.dll`` alongside the executable." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:296 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:295 msgid "" "You can use dynamically linked ANGLE with export templates as well, rename " "aforementioned DLLs to ``libEGL.{architecture}.dll`` and ``libGLESv2." @@ -153180,44 +153583,44 @@ msgid "" "and libraries will be automatically copied during the export process." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:301 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:300 msgid "To compile Godot with statically linked ANGLE:" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:303 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:302 msgid "" "Download pre-built static libraries from `godot-angle-static library " "`_, and unzip " "them." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:304 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:303 msgid "" "When building Godot, add ``angle_libs={path}`` to tell SCons where to look " "for the ANGLE libraries:" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:310 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:309 msgid "" "You can optionally build the godot-angle-static libraries yourself with the " "following steps:" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:313 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:312 msgid "" "Clone the `godot-angle-static `_ directory and navigate to it." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:315 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:314 msgid "Run the following command:" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:337 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:336 msgid "Development in Visual Studio" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:339 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:338 msgid "" "Using an IDE is not required to compile Godot, as SCons takes care of " "everything. But if you intend to do engine development or debugging of the " @@ -153225,34 +153628,34 @@ msgid "" "IDE." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:343 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:342 msgid "" "Folder-based editors don't require any particular setup to start working " "with Godot's codebase. To edit projects with Visual Studio they need to be " "set up as a solution." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:346 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:345 msgid "" "You can create a Visual Studio solution via SCons by running SCons with the " "``vsproj=yes`` parameter, like this:" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:353 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:352 msgid "" "You will be able to open Godot's source in a Visual Studio solution now, and " "able to build Godot using Visual Studio's **Build** button." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:356 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:355 msgid "See :ref:`doc_configuring_an_ide_vs` for further details." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:359 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:358 msgid "Cross-compiling for Windows from other operating systems" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:361 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:360 msgid "" "If you are a Linux or macOS user, you need to install `MinGW-w64 `__, which typically comes in 32-bit and 64-bit variants, " @@ -153261,55 +153664,55 @@ msgid "" "may differ based on your distribution, here are some known ones:" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:372 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:371 msgid "**Debian** / **Ubuntu**" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:376 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:375 msgid "**Fedora**" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:381 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:380 msgid "**macOS**" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:385 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:384 msgid "**Mageia**" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:391 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:390 msgid "" "Before attempting the compilation, SCons will check for the following " "binaries in your ``PATH`` environment variable:" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:405 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:404 msgid "" "If the binaries are not located in the ``PATH`` (e.g. ``/usr/bin``), you can " "define the following environment variable to give a hint to the build system:" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:413 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:412 msgid "" "Where ``/path/to/mingw`` is the path containing the ``bin`` directory where " "``i686-w64-mingw32-gcc`` and ``x86_64-w64-mingw32-gcc`` are located (e.g. ``/" "opt/mingw-w64`` if the binaries are located in ``/opt/mingw-w64/bin``)." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:417 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:416 msgid "" "To make sure you are doing things correctly, executing the following in the " "shell should result in a working compiler (the version output may differ " "based on your system):" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:426 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:425 msgid "" "If you are building with MinGW-LLVM, add ``use_llvm=yes`` to the ``scons`` " "command." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:427 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:426 msgid "" "When cross-compiling for Windows using MinGW-w64, keep in mind only " "``x86_64`` and ``x86_32`` architectures are supported. MinGW-LLVM supports " @@ -153317,51 +153720,51 @@ msgid "" "invoking SCons if building from a different architecture." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:435 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:434 msgid "" "Cross-compiling from some Ubuntu versions may lead to `this bug `_, due to a default configuration " "lacking support for POSIX threading." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:439 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:438 msgid "" "You can change that configuration following those instructions, for 64-bit:" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:448 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:447 msgid "And for 32-bit:" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:458 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:457 msgid "Creating Windows export templates" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:460 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:459 msgid "" "Windows export templates are created by compiling Godot without the editor, " "with the following flags:" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:472 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:471 msgid "" "If you plan on replacing the standard export templates, copy these to the " "following location, replacing ```` with the version identifier " "(such as ``4.2.1.stable`` or ``4.3.dev``):" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:480 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:479 msgid "With the following names:" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:497 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:496 msgid "" "However, if you are using custom modules or custom engine code, you may " "instead want to configure your binaries as custom export templates in the " "project export menu. You must have **Advanced Options** enabled to set this." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:504 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:503 msgid "" "You don't need to copy them in this case, just reference the resulting files " "in the ``bin\\`` directory of your Godot source folder, so the next time you " @@ -153577,7 +153980,7 @@ msgid "" "Linux binaries usually won't run on distributions that are older than the " "distribution they were built on. If you wish to distribute binaries that " "work on most distributions, you should build them on an old distribution " -"such as Ubuntu 16.04. You can use a virtual machine or a container to set up " +"such as Ubuntu 20.04. You can use a virtual machine or a container to set up " "a suitable build environment." msgstr "" @@ -153646,8 +154049,9 @@ msgid "" "There are many versions to choose from, however, the older the toolchain, " "the more compatible our final binaries will be. If in doubt, `use this " "version `__, and download ``riscv64-glibc-ubuntu-18.04-nightly-2021.12.22-" -"nightly.tar.gz``. Extract it somewhere and remember its path." +"2023.07.07>`__, and download ``riscv64-glibc-ubuntu-20.04-gcc-" +"nightly-2023.07.07-nightly.tar.gz``. Extract it somewhere and remember its " +"path." msgstr "" #: ../../docs/contributing/development/compiling/compiling_for_linuxbsd.rst:403 @@ -154662,144 +155066,23 @@ msgid "" "``Run Destinations`` dropdown." msgstr "" -#: ../../docs/contributing/development/compiling/cross-compiling_for_ios_on_linux.rst:4 -msgid "Cross-compiling for iOS on Linux" +#: ../../docs/contributing/development/compiling/compiling_for_visionos.rst:4 +msgid "Compiling for visionOS" msgstr "" -#: ../../docs/contributing/development/compiling/cross-compiling_for_ios_on_linux.rst:8 +#: ../../docs/contributing/development/compiling/compiling_for_visionos.rst:8 msgid "" -"The procedure for this is somewhat complex and requires a lot of steps, but " -"once you have the environment properly configured you can compile Godot for " -"iOS anytime you want." +"This page describes how to compile visionOS export template binaries from " +"source. If you're looking to export your project to visionOS instead, " +"see :ref:`doc_exporting_for_visionos`." msgstr "" -#: ../../docs/contributing/development/compiling/cross-compiling_for_ios_on_linux.rst:13 -msgid "Disclaimer" -msgstr "" - -#: ../../docs/contributing/development/compiling/cross-compiling_for_ios_on_linux.rst:15 +#: ../../docs/contributing/development/compiling/compiling_for_visionos.rst:11 msgid "" -"While it is possible to compile for iOS on a Linux environment, Apple is " -"very restrictive about the tools to be used (especially hardware-wise), " -"allowing pretty much only their products to be used for development. So this " -"is **not official**. However, in 2010 Apple said they relaxed some of the " -"`App Store review guidelines `__ to allow any tool to be used, as long as the resulting " -"binary does not download any code, which means it should be OK to use the " -"procedure described here and cross-compiling the binary." -msgstr "" - -#: ../../docs/contributing/development/compiling/cross-compiling_for_ios_on_linux.rst:27 -msgid "" -"`XCode with the iOS SDK `__ (you must be logged into an Apple ID to download Xcode)." -msgstr "" - -#: ../../docs/contributing/development/compiling/cross-compiling_for_ios_on_linux.rst:29 -msgid "" -"`Clang >= 3.5 `__ for your development machine " -"installed and in the ``PATH``. It has to be version >= 3.5 to target " -"``arm64`` architecture." -msgstr "" - -#: ../../docs/contributing/development/compiling/cross-compiling_for_ios_on_linux.rst:32 -msgid "" -"`xar `__ and `pbzx `__ (required to extract the ``.xip`` archive Xcode " -"comes in)." -msgstr "" - -#: ../../docs/contributing/development/compiling/cross-compiling_for_ios_on_linux.rst:35 -msgid "" -"For building xar and pbzx, you may want to follow `this guide `__." -msgstr "" - -#: ../../docs/contributing/development/compiling/cross-compiling_for_ios_on_linux.rst:38 -msgid "" -"`cctools-port `__ for the " -"needed build tools. The procedure for building is quite peculiar and is " -"described below." -msgstr "" - -#: ../../docs/contributing/development/compiling/cross-compiling_for_ios_on_linux.rst:42 -msgid "This also has some extra dependencies: automake, autogen, libtool." -msgstr "" - -#: ../../docs/contributing/development/compiling/cross-compiling_for_ios_on_linux.rst:45 -msgid "Configuring the environment" -msgstr "" - -#: ../../docs/contributing/development/compiling/cross-compiling_for_ios_on_linux.rst:48 -msgid "Preparing the SDK" -msgstr "" - -#: ../../docs/contributing/development/compiling/cross-compiling_for_ios_on_linux.rst:50 -msgid "" -"Extract the Xcode ``.xip`` file you downloaded from Apple's developer " -"website:" -msgstr "" - -#: ../../docs/contributing/development/compiling/cross-compiling_for_ios_on_linux.rst:61 -msgid "" -"Note that for the commands below, you will need to replace the version " -"(``x.x``) with whatever iOS SDK version you're using. If you don't know your " -"iPhone SDK version, you can see the JSON file inside of ``Xcode.app/Contents/" -"Developer/Platforms/iPhoneOS.platform/Developer/SDKs``." -msgstr "" - -#: ../../docs/contributing/development/compiling/cross-compiling_for_ios_on_linux.rst:66 -msgid "Extract the iOS SDK:" -msgstr "" - -#: ../../docs/contributing/development/compiling/cross-compiling_for_ios_on_linux.rst:76 -msgid "Pack the SDK so that cctools can use it:" -msgstr "" - -#: ../../docs/contributing/development/compiling/cross-compiling_for_ios_on_linux.rst:84 -msgid "Toolchain" -msgstr "" - -#: ../../docs/contributing/development/compiling/cross-compiling_for_ios_on_linux.rst:86 -msgid "Build cctools:" -msgstr "" - -#: ../../docs/contributing/development/compiling/cross-compiling_for_ios_on_linux.rst:94 -msgid "" -"Copy the tools to a nicer place. Note that the SCons scripts for building " -"will look under ``usr/bin`` inside the directory you provide for the " -"toolchain binaries, so you must copy to such subdirectory, akin to the " -"following commands:" -msgstr "" - -#: ../../docs/contributing/development/compiling/cross-compiling_for_ios_on_linux.rst:104 -msgid "" -"Now you should have the iOS toolchain binaries in ``$HOME/iostoolchain/usr/" -"bin``." -msgstr "" - -#: ../../docs/contributing/development/compiling/cross-compiling_for_ios_on_linux.rst:108 -msgid "Compiling Godot for iPhone" -msgstr "" - -#: ../../docs/contributing/development/compiling/cross-compiling_for_ios_on_linux.rst:110 -msgid "" -"Once you've done the above steps, you should keep two things in your " -"environment: the built toolchain and the iPhoneOS SDK directory. Those can " -"stay anywhere you want since you have to provide their paths to the SCons " -"build command." -msgstr "" - -#: ../../docs/contributing/development/compiling/cross-compiling_for_ios_on_linux.rst:115 -msgid "" -"For the iPhone platform to be detected, you need the ``OSXCROSS_IOS`` " -"environment variable defined to anything." -msgstr "" - -#: ../../docs/contributing/development/compiling/cross-compiling_for_ios_on_linux.rst:122 -msgid "" -"Now you can compile for iPhone using SCons like the standard Godot way, with " -"some additional arguments to provide the correct paths:" +"Compiling instructions for visionOS are currently identical " +"to :ref:`doc_compiling_for_ios`, except you should replace instances of " +"``platform=ios`` with ``platform=visionos`` in the SCons options. See the " +"linked page for details." msgstr "" #: ../../docs/contributing/development/compiling/compiling_for_web.rst:4 @@ -154948,6 +155231,146 @@ msgid "" "and you should be able to test the web editor this way." msgstr "" +#: ../../docs/contributing/development/compiling/cross-compiling_for_ios_on_linux.rst:4 +msgid "Cross-compiling for iOS on Linux" +msgstr "" + +#: ../../docs/contributing/development/compiling/cross-compiling_for_ios_on_linux.rst:8 +msgid "" +"The procedure for this is somewhat complex and requires a lot of steps, but " +"once you have the environment properly configured you can compile Godot for " +"iOS anytime you want." +msgstr "" + +#: ../../docs/contributing/development/compiling/cross-compiling_for_ios_on_linux.rst:13 +msgid "Disclaimer" +msgstr "" + +#: ../../docs/contributing/development/compiling/cross-compiling_for_ios_on_linux.rst:15 +msgid "" +"While it is possible to compile for iOS on a Linux environment, Apple is " +"very restrictive about the tools to be used (especially hardware-wise), " +"allowing pretty much only their products to be used for development. So this " +"is **not official**. However, in 2010 Apple said they relaxed some of the " +"`App Store review guidelines `__ to allow any tool to be used, as long as the resulting " +"binary does not download any code, which means it should be OK to use the " +"procedure described here and cross-compiling the binary." +msgstr "" + +#: ../../docs/contributing/development/compiling/cross-compiling_for_ios_on_linux.rst:27 +msgid "" +"`XCode with the iOS SDK `__ (you must be logged into an Apple ID to download Xcode)." +msgstr "" + +#: ../../docs/contributing/development/compiling/cross-compiling_for_ios_on_linux.rst:29 +msgid "" +"`Clang >= 3.5 `__ for your development machine " +"installed and in the ``PATH``. It has to be version >= 3.5 to target " +"``arm64`` architecture." +msgstr "" + +#: ../../docs/contributing/development/compiling/cross-compiling_for_ios_on_linux.rst:32 +msgid "" +"`xar `__ and `pbzx `__ (required to extract the ``.xip`` archive Xcode " +"comes in)." +msgstr "" + +#: ../../docs/contributing/development/compiling/cross-compiling_for_ios_on_linux.rst:35 +msgid "" +"For building xar and pbzx, you may want to follow `this guide `__." +msgstr "" + +#: ../../docs/contributing/development/compiling/cross-compiling_for_ios_on_linux.rst:38 +msgid "" +"`cctools-port `__ for the " +"needed build tools. The procedure for building is quite peculiar and is " +"described below." +msgstr "" + +#: ../../docs/contributing/development/compiling/cross-compiling_for_ios_on_linux.rst:42 +msgid "This also has some extra dependencies: automake, autogen, libtool." +msgstr "" + +#: ../../docs/contributing/development/compiling/cross-compiling_for_ios_on_linux.rst:45 +msgid "Configuring the environment" +msgstr "" + +#: ../../docs/contributing/development/compiling/cross-compiling_for_ios_on_linux.rst:48 +msgid "Preparing the SDK" +msgstr "" + +#: ../../docs/contributing/development/compiling/cross-compiling_for_ios_on_linux.rst:50 +msgid "" +"Extract the Xcode ``.xip`` file you downloaded from Apple's developer " +"website:" +msgstr "" + +#: ../../docs/contributing/development/compiling/cross-compiling_for_ios_on_linux.rst:61 +msgid "" +"Note that for the commands below, you will need to replace the version " +"(``x.x``) with whatever iOS SDK version you're using. If you don't know your " +"iPhone SDK version, you can see the JSON file inside of ``Xcode.app/Contents/" +"Developer/Platforms/iPhoneOS.platform/Developer/SDKs``." +msgstr "" + +#: ../../docs/contributing/development/compiling/cross-compiling_for_ios_on_linux.rst:66 +msgid "Extract the iOS SDK:" +msgstr "" + +#: ../../docs/contributing/development/compiling/cross-compiling_for_ios_on_linux.rst:76 +msgid "Pack the SDK so that cctools can use it:" +msgstr "" + +#: ../../docs/contributing/development/compiling/cross-compiling_for_ios_on_linux.rst:84 +msgid "Toolchain" +msgstr "" + +#: ../../docs/contributing/development/compiling/cross-compiling_for_ios_on_linux.rst:86 +msgid "Build cctools:" +msgstr "" + +#: ../../docs/contributing/development/compiling/cross-compiling_for_ios_on_linux.rst:94 +msgid "" +"Copy the tools to a nicer place. Note that the SCons scripts for building " +"will look under ``usr/bin`` inside the directory you provide for the " +"toolchain binaries, so you must copy to such subdirectory, akin to the " +"following commands:" +msgstr "" + +#: ../../docs/contributing/development/compiling/cross-compiling_for_ios_on_linux.rst:104 +msgid "" +"Now you should have the iOS toolchain binaries in ``$HOME/iostoolchain/usr/" +"bin``." +msgstr "" + +#: ../../docs/contributing/development/compiling/cross-compiling_for_ios_on_linux.rst:108 +msgid "Compiling Godot for iPhone" +msgstr "" + +#: ../../docs/contributing/development/compiling/cross-compiling_for_ios_on_linux.rst:110 +msgid "" +"Once you've done the above steps, you should keep two things in your " +"environment: the built toolchain and the iPhoneOS SDK directory. Those can " +"stay anywhere you want since you have to provide their paths to the SCons " +"build command." +msgstr "" + +#: ../../docs/contributing/development/compiling/cross-compiling_for_ios_on_linux.rst:115 +msgid "" +"For the iPhone platform to be detected, you need the ``OSXCROSS_IOS`` " +"environment variable defined to anything." +msgstr "" + +#: ../../docs/contributing/development/compiling/cross-compiling_for_ios_on_linux.rst:122 +msgid "" +"Now you can compile for iPhone using SCons like the standard Godot way, with " +"some additional arguments to provide the correct paths:" +msgstr "" + #: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:4 msgid "Compiling with .NET" msgstr "" @@ -157435,7 +157858,7 @@ msgstr "" #: ../../docs/contributing/development/core_and_modules/custom_resource_format_loaders.rst:39 #: ../../docs/contributing/development/core_and_modules/custom_resource_format_loaders.rst:291 #: ../../docs/contributing/development/core_and_modules/custom_resource_format_loaders.rst:342 -#: ../../docs/contributing/development/editor/creating_icons.rst:87 +#: ../../docs/contributing/development/editor/creating_icons.rst:92 msgid "References" msgstr "" @@ -163155,10 +163578,22 @@ msgid "" msgstr "" #: ../../docs/contributing/development/editor/creating_icons.rst:47 -msgid "Icon optimization" +msgid "To enable color conversion for light editor themes:" +msgstr "" + +#: ../../docs/contributing/development/editor/creating_icons.rst:48 +msgid ":ui:`Import > Import As > Texture2D`" msgstr "" #: ../../docs/contributing/development/editor/creating_icons.rst:49 +msgid "Set ``editor/convert_colors_with_editor_theme`` to ``true``" +msgstr "" + +#: ../../docs/contributing/development/editor/creating_icons.rst:52 +msgid "Icon optimization" +msgstr "" + +#: ../../docs/contributing/development/editor/creating_icons.rst:54 msgid "" "Because the editor renders SVGs once at load time, they need to be small in " "size so they can be efficiently parsed. When the :ref:`pre-commit hook " @@ -163166,7 +163601,7 @@ msgid "" "optimizes the SVG using `svgo `_." msgstr "" -#: ../../docs/contributing/development/editor/creating_icons.rst:56 +#: ../../docs/contributing/development/editor/creating_icons.rst:61 msgid "" "While this optimization step won't impact the icon's quality noticeably, it " "will still remove editor-only information such as guides. Therefore, it's " @@ -163174,18 +163609,18 @@ msgid "" "changes." msgstr "" -#: ../../docs/contributing/development/editor/creating_icons.rst:62 +#: ../../docs/contributing/development/editor/creating_icons.rst:67 msgid "Integrating and sharing the icons" msgstr "" -#: ../../docs/contributing/development/editor/creating_icons.rst:64 +#: ../../docs/contributing/development/editor/creating_icons.rst:69 msgid "" "If you're contributing to the engine itself, you should make a pull request " "to add optimized icons to ``editor/icons`` in the main repository. Recompile " "the engine to make it pick up new icons for classes." msgstr "" -#: ../../docs/contributing/development/editor/creating_icons.rst:68 +#: ../../docs/contributing/development/editor/creating_icons.rst:73 msgid "" "It's also possible to create custom icons within a module. If you're " "creating your own module and don't plan to integrate it with Godot, you " @@ -163193,28 +163628,28 @@ msgid "" "within the editor as they can be self-contained." msgstr "" -#: ../../docs/contributing/development/editor/creating_icons.rst:73 +#: ../../docs/contributing/development/editor/creating_icons.rst:78 msgid "" "For specific instructions on how to create module icons, refer " "to :ref:`Creating custom module icons`." msgstr "" -#: ../../docs/contributing/development/editor/creating_icons.rst:79 +#: ../../docs/contributing/development/editor/creating_icons.rst:84 msgid "If icons don't appear in the editor, make sure that:" msgstr "" -#: ../../docs/contributing/development/editor/creating_icons.rst:81 +#: ../../docs/contributing/development/editor/creating_icons.rst:86 msgid "" "Each icon's filename matches the naming requirement as described previously." msgstr "" -#: ../../docs/contributing/development/editor/creating_icons.rst:83 +#: ../../docs/contributing/development/editor/creating_icons.rst:88 msgid "" "``modules/svg`` is enabled (it should be enabled by default). Without it, " "icons won't appear in the editor at all." msgstr "" -#: ../../docs/contributing/development/editor/creating_icons.rst:89 +#: ../../docs/contributing/development/editor/creating_icons.rst:94 msgid "" "`editor/icons `__"