From 02c6dd6d793acf137c62e1bd6d05ea6d77c4298d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Verschelde?= Date: Thu, 25 Jul 2024 11:26:48 +0200 Subject: [PATCH] Sync Sphinx and Weblate templates with current docs (4.3) + update script Reset POT-Creation-Date to reduce diff on updates. --- docs | 2 +- .../about/complying_with_licenses.pot | 2 +- sphinx/templates/about/docs_changelog.pot | 2 +- sphinx/templates/about/faq.pot | 4 +- sphinx/templates/about/introduction.pot | 2 +- sphinx/templates/about/list_of_features.pot | 2 +- sphinx/templates/about/release_policy.pot | 2 +- .../templates/about/system_requirements.pot | 2 +- .../community/asset_library/index.pot | 2 +- .../asset_library/submitting_to_assetlib.pot | 2 +- .../asset_library/using_assetlib.pot | 2 +- .../asset_library/what_is_assetlib.pot | 2 +- sphinx/templates/community/channels.pot | 2 +- sphinx/templates/community/tutorials.pot | 8 +- ...best_practices_for_engine_contributors.pot | 2 +- .../development/code_style_guidelines.pot | 2 +- .../compiling/compiling_for_android.pot | 4 +- .../compiling/compiling_for_ios.pot | 2 +- .../compiling/compiling_for_linuxbsd.pot | 2 +- .../compiling/compiling_for_macos.pot | 2 +- .../compiling/compiling_for_web.pot | 36 +- .../compiling/compiling_for_windows.pot | 122 +- .../compiling/compiling_with_dotnet.pot | 2 +- .../compiling_with_script_encryption_key.pot | 2 +- .../cross-compiling_for_ios_on_linux.pot | 76 +- .../development/compiling/getting_source.pot | 2 +- .../development/compiling/index.pot | 2 +- .../introduction_to_the_buildsystem.pot | 2 +- .../compiling/optimizing_for_size.pot | 2 +- .../configuring_an_ide/android_studio.pot | 2 +- .../development/configuring_an_ide/clion.pot | 2 +- .../configuring_an_ide/code_blocks.pot | 2 +- .../development/configuring_an_ide/index.pot | 2 +- .../configuring_an_ide/kdevelop.pot | 2 +- .../configuring_an_ide/qt_creator.pot | 2 +- .../development/configuring_an_ide/rider.pot | 2 +- .../configuring_an_ide/visual_studio.pot | 2 +- .../configuring_an_ide/visual_studio_code.pot | 2 +- .../development/configuring_an_ide/xcode.pot | 2 +- .../2d_coordinate_systems.pot | 2 +- .../binding_to_external_libraries.pot | 2 +- .../common_engine_methods_and_macros.pot | 2 +- .../core_and_modules/core_types.pot | 2 +- .../core_and_modules/custom_audiostreams.pot | 2 +- .../core_and_modules/custom_godot_servers.pot | 2 +- .../custom_modules_in_cpp.pot | 2 +- .../custom_platform_ports.pot | 2 +- .../custom_resource_format_loaders.pot | 2 +- .../godot_architecture_diagram.pot | 2 +- .../development/core_and_modules/index.pot | 2 +- .../inheritance_class_tree.pot | 2 +- .../internal_rendering_architecture.pot | 2 +- .../core_and_modules/object_class.pot | 2 +- .../scripting_development.pot | 2 +- .../core_and_modules/unit_testing.pot | 2 +- .../core_and_modules/variant_class.pot | 2 +- .../development/cpp_usage_guidelines.pot | 2 +- .../development/debugging/index.pot | 2 +- .../development/debugging/macos_debug.pot | 2 +- .../debugging/using_cpp_profilers.pot | 2 +- .../debugging/using_sanitizers.pot | 2 +- .../development/debugging/vulkan/index.pot | 2 +- .../vulkan/vulkan_validation_layers.pot | 2 +- .../development/editor/creating_icons.pot | 2 +- .../development/editor/editor_style_guide.pot | 2 +- .../contributing/development/editor/index.pot | 2 +- .../introduction_to_editor_development.pot | 2 +- .../file_formats/gdscript_grammar.pot | 2 +- .../development/file_formats/index.pot | 2 +- .../development/file_formats/tscn.pot | 2 +- .../handling_compatibility_breakages.pot | 2 +- .../contributing/development/index.pot | 2 +- .../documentation/building_the_manual.pot | 2 +- .../documentation/class_reference_primer.pot | 2 +- .../documentation/content_guidelines.pot | 2 +- .../contributing_to_the_documentation.pot | 2 +- .../documentation/docs_image_guidelines.pot | 4 +- .../documentation/docs_writing_guidelines.pot | 2 +- .../editor_and_docs_localization.pot | 2 +- .../contributing/documentation/index.pot | 2 +- .../updating_the_class_reference.pot | 2 +- .../contributing/how_to_contribute.pot | 137 + .../workflow/bisecting_regressions.pot | 2 +- .../workflow/bug_triage_guidelines.pot | 2 +- .../first_steps.pot} | 90 +- .../templates/contributing/workflow/index.pot | 2 +- .../workflow/pr_review_guidelines.pot | 2 +- .../contributing/workflow/pr_workflow.pot | 2 +- .../workflow/testing_pull_requests.pot | 2 +- .../first_2d_game/01.project_setup.pot | 2 +- .../first_2d_game/02.player_scene.pot | 2 +- .../first_2d_game/03.coding_the_player.pot | 2 +- .../first_2d_game/04.creating_the_enemy.pot | 2 +- .../first_2d_game/05.the_main_game_scene.pot | 2 +- .../first_2d_game/06.heads_up_display.pot | 2 +- .../first_2d_game/07.finishing-up.pot | 2 +- .../getting_started/first_2d_game/index.pot | 2 +- .../first_3d_game/01.game_setup.pot | 34 +- .../first_3d_game/02.player_input.pot | 2 +- .../first_3d_game/03.player_movement_code.pot | 4 +- .../first_3d_game/04.mob_scene.pot | 4 +- .../first_3d_game/05.spawning_mobs.pot | 2 +- .../first_3d_game/06.jump_and_squash.pot | 4 +- .../first_3d_game/07.killing_player.pot | 6 +- .../first_3d_game/08.score_and_replay.pot | 10 +- .../first_3d_game/09.adding_animations.pot | 4 +- .../first_3d_game/going_further.pot | 2 +- .../getting_started/first_3d_game/index.pot | 2 +- .../introduction/first_look_at_the_editor.pot | 8 +- .../introduction/godot_design_philosophy.pot | 2 +- .../getting_started/introduction/index.pot | 2 +- .../introduction/introduction_to_godot.pot | 2 +- .../introduction/key_concepts_overview.pot | 2 +- .../learn_to_code_with_gdscript.pot | 2 +- .../introduction/learning_new_features.pot | 22 +- .../getting_started/step_by_step/index.pot | 2 +- .../step_by_step/instancing.pot | 2 +- .../step_by_step/nodes_and_scenes.pot | 2 +- .../step_by_step/scripting_first_script.pot | 74 +- .../step_by_step/scripting_languages.pot | 2 +- .../step_by_step/scripting_player_input.pot | 2 +- .../getting_started/step_by_step/signals.pot | 146 +- sphinx/templates/index.pot | 2 +- sphinx/templates/sphinx.pot | 2 +- .../tutorials/2d/2d_antialiasing.pot | 2 +- .../tutorials/2d/2d_lights_and_shadows.pot | 2 +- sphinx/templates/tutorials/2d/2d_meshes.pot | 2 +- sphinx/templates/tutorials/2d/2d_movement.pot | 2 +- sphinx/templates/tutorials/2d/2d_parallax.pot | 265 + .../tutorials/2d/2d_sprite_animation.pot | 2 +- .../templates/tutorials/2d/2d_transforms.pot | 2 +- .../templates/tutorials/2d/canvas_layers.pot | 2 +- .../tutorials/2d/custom_drawing_in_2d.pot | 2 +- sphinx/templates/tutorials/2d/index.pot | 6 +- .../tutorials/2d/particle_systems_2d.pot | 2 +- .../templates/tutorials/2d/using_tilemaps.pot | 2 +- .../templates/tutorials/2d/using_tilesets.pot | 344 +- .../tutorials/3d/3d_antialiasing.pot | 4 +- .../tutorials/3d/3d_rendering_limitations.pot | 2 +- sphinx/templates/tutorials/3d/3d_text.pot | 2 +- sphinx/templates/tutorials/3d/csg_tools.pot | 2 +- .../3d/environment_and_post_processing.pot | 2 +- .../faking_global_illumination.pot | 2 +- .../3d/global_illumination/index.pot | 2 +- .../introduction_to_global_illumination.pot | 2 +- .../global_illumination/reflection_probes.pot | 2 +- .../global_illumination/using_lightmap_gi.pot | 221 +- .../3d/global_illumination/using_sdfgi.pot | 2 +- .../3d/global_illumination/using_voxel_gi.pot | 2 +- .../tutorials/3d/high_dynamic_range.pot | 2 +- sphinx/templates/tutorials/3d/index.pot | 2 +- .../tutorials/3d/introduction_to_3d.pot | 2 +- .../tutorials/3d/lights_and_shadows.pot | 2 +- sphinx/templates/tutorials/3d/mesh_lod.pot | 2 +- .../tutorials/3d/occlusion_culling.pot | 2 +- .../tutorials/3d/particles/attractors.pot | 2 +- .../tutorials/3d/particles/collision.pot | 116 +- .../tutorials/3d/particles/complex_shapes.pot | 2 +- .../creating_a_3d_particle_system.pot | 2 +- .../tutorials/3d/particles/index.pot | 2 +- .../particles/process_material_properties.pot | 2 +- .../tutorials/3d/particles/properties.pot | 42 +- .../tutorials/3d/particles/subemitters.pot | 2 +- .../tutorials/3d/particles/trails.pot | 2 +- .../tutorials/3d/particles/turbulence.pot | 2 +- .../3d/physical_light_and_camera_units.pot | 2 +- .../3d/procedural_geometry/arraymesh.pot | 2 +- .../3d/procedural_geometry/immediatemesh.pot | 2 +- .../3d/procedural_geometry/index.pot | 2 +- .../3d/procedural_geometry/meshdatatool.pot | 2 +- .../3d/procedural_geometry/surfacetool.pot | 2 +- .../tutorials/3d/resolution_scaling.pot | 2 +- .../tutorials/3d/standard_material_3d.pot | 2 +- .../templates/tutorials/3d/using_decals.pot | 2 +- .../templates/tutorials/3d/using_gridmaps.pot | 2 +- .../3d/using_multi_mesh_instance.pot | 2 +- .../tutorials/3d/using_transforms.pot | 2 +- .../tutorials/3d/variable_rate_shading.pot | 2 +- .../tutorials/3d/visibility_ranges.pot | 2 +- .../templates/tutorials/3d/volumetric_fog.pot | 2 +- .../tutorials/animation/2d_skeletons.pot | 2 +- .../animation/animation_track_types.pot | 2 +- .../tutorials/animation/animation_tree.pot | 2 +- .../tutorials/animation/creating_movies.pot | 2 +- .../tutorials/animation/cutout_animation.pot | 2 +- .../templates/tutorials/animation/index.pot | 2 +- .../tutorials/animation/introduction.pot | 2 +- .../tutorials/animation/playing_videos.pot | 2 +- .../escn_exporter/animation.pot | 2 +- .../assets_pipeline/escn_exporter/index.pot | 2 +- .../assets_pipeline/escn_exporter/lights.pot | 2 +- .../escn_exporter/material.pot | 2 +- .../assets_pipeline/escn_exporter/mesh.pot | 2 +- .../assets_pipeline/escn_exporter/physics.pot | 2 +- .../escn_exporter/skeleton.pot | 2 +- .../assets_pipeline/exporting_3d_scenes.pot | 2 +- .../assets_pipeline/import_process.pot | 2 +- .../importing_3d_scenes/available_formats.pot | 96 +- .../import_configuration.pot | 198 +- .../importing_3d_scenes/index.pot | 2 +- .../model_export_considerations.pot | 22 +- .../node_type_customization.pot | 2 +- .../importing_audio_samples.pot | 2 +- .../assets_pipeline/importing_images.pot | 2 +- .../importing_translations.pot | 2 +- .../tutorials/assets_pipeline/index.pot | 2 +- .../retargeting_3d_skeletons.pot | 2 +- .../templates/tutorials/audio/audio_buses.pot | 2 +- .../tutorials/audio/audio_effects.pot | 2 +- .../tutorials/audio/audio_streams.pot | 52 +- sphinx/templates/tutorials/audio/index.pot | 2 +- .../audio/recording_with_microphone.pot | 2 +- .../tutorials/audio/sync_with_audio.pot | 2 +- .../tutorials/audio/text_to_speech.pot | 2 +- .../autoloads_versus_internal_nodes.pot | 2 +- .../best_practices/data_preferences.pot | 4 +- .../best_practices/godot_interfaces.pot | 2 +- .../best_practices/godot_notifications.pot | 2 +- .../tutorials/best_practices/index.pot | 2 +- .../introduction_best_practices.pot | 2 +- .../best_practices/logic_preferences.pot | 4 +- .../best_practices/node_alternatives.pot | 2 +- .../best_practices/project_organization.pot | 2 +- .../best_practices/scene_organization.pot | 4 +- .../best_practices/scenes_versus_scripts.pot | 2 +- .../version_control_systems.pot | 2 +- .../best_practices/what_are_godot_classes.pot | 2 +- .../editor/command_line_tutorial.pot | 2 +- .../tutorials/editor/customizing_editor.pot | 2 +- .../tutorials/editor/default_key_mapping.pot | 2 +- .../tutorials/editor/external_editor.pot | 2 +- sphinx/templates/tutorials/editor/index.pot | 2 +- .../tutorials/editor/inspector_dock.pot | 2 +- .../editor/managing_editor_features.pot | 2 +- .../tutorials/editor/project_manager.pot | 6 +- .../tutorials/editor/project_settings.pot | 2 +- .../editor/using_the_android_editor.pot | 2 +- .../tutorials/editor/using_the_web_editor.pot | 2 +- .../tutorials/export/android_gradle_build.pot | 2 +- .../changing_application_icon_for_windows.pot | 2 +- .../export/exporting_for_android.pot | 4 +- .../exporting_for_dedicated_servers.pot | 2 +- .../tutorials/export/exporting_for_ios.pot | 2 +- .../tutorials/export/exporting_for_linux.pot | 2 +- .../tutorials/export/exporting_for_macos.pot | 2 +- .../tutorials/export/exporting_for_web.pot | 2 +- .../export/exporting_for_windows.pot | 2 +- .../tutorials/export/exporting_pcks.pot | 2 +- .../tutorials/export/exporting_projects.pot | 2 +- .../tutorials/export/feature_tags.pot | 30 +- sphinx/templates/tutorials/export/index.pot | 2 +- .../tutorials/export/one-click_deploy.pot | 2 +- .../tutorials/export/running_on_macos.pot | 2 +- sphinx/templates/tutorials/i18n/index.pot | 2 +- .../i18n/internationalizing_games.pot | 148 +- sphinx/templates/tutorials/i18n/locales.pot | 2 +- .../i18n/localization_using_gettext.pot | 2 +- .../tutorials/i18n/pseudolocalization.pot | 2 +- .../inputs/controllers_gamepads_joysticks.pot | 2 +- .../tutorials/inputs/custom_mouse_cursor.pot | 2 +- .../inputs/handling_quit_requests.pot | 2 +- sphinx/templates/tutorials/inputs/index.pot | 2 +- .../tutorials/inputs/input_examples.pot | 2 +- .../templates/tutorials/inputs/inputevent.pot | 2 +- .../inputs/mouse_and_input_coordinates.pot | 2 +- .../tutorials/io/background_loading.pot | 2 +- .../tutorials/io/binary_serialization_api.pot | 2 +- sphinx/templates/tutorials/io/data_paths.pot | 2 +- sphinx/templates/tutorials/io/index.pot | 2 +- .../io/runtime_file_loading_and_saving.pot | 2 +- .../templates/tutorials/io/saving_games.pot | 2 +- .../tutorials/math/beziers_and_curves.pot | 2 +- sphinx/templates/tutorials/math/index.pot | 2 +- .../tutorials/math/interpolation.pot | 2 +- .../math/matrices_and_transforms.pot | 2 +- .../math/random_number_generation.pot | 2 +- .../templates/tutorials/math/vector_math.pot | 2 +- .../tutorials/math/vectors_advanced.pot | 2 +- .../templates/tutorials/migrating/index.pot | 2 +- .../migrating/upgrading_to_godot_4.1.pot | 2 +- .../migrating/upgrading_to_godot_4.2.pot | 2 +- .../migrating/upgrading_to_godot_4.pot | 268 +- .../templates/tutorials/navigation/index.pot | 2 +- .../navigation_connecting_navmesh.pot | 2 +- .../navigation/navigation_debug_tools.pot | 2 +- ...navigation_different_actor_area_access.pot | 2 +- .../navigation_different_actor_locomotion.pot | 2 +- .../navigation_different_actor_types.pot | 2 +- .../navigation/navigation_introduction_2d.pot | 2 +- .../navigation/navigation_introduction_3d.pot | 2 +- .../navigation_optimizing_performance.pot | 2 +- .../navigation_using_navigationagents.pot | 2 +- .../navigation_using_navigationlayers.pot | 18 +- .../navigation_using_navigationlinks.pot | 4 +- .../navigation_using_navigationmaps.pot | 2 +- .../navigation_using_navigationmeshes.pot | 22 +- .../navigation_using_navigationobstacles.pot | 2 +- ...ation_using_navigationpathqueryobjects.pot | 2 +- .../navigation_using_navigationpaths.pot | 2 +- .../navigation_using_navigationregions.pot | 2 +- .../navigation_using_navigationservers.pot | 2 +- .../networking/high_level_multiplayer.pot | 2 +- .../networking/http_client_class.pot | 2 +- .../networking/http_request_class.pot | 2 +- .../templates/tutorials/networking/index.pot | 2 +- .../tutorials/networking/ssl_certificates.pot | 2 +- .../templates/tutorials/networking/webrtc.pot | 2 +- .../tutorials/networking/websocket.pot | 2 +- .../performance/cpu_optimization.pot | 2 +- .../performance/general_optimization.pot | 2 +- .../performance/gpu_optimization.pot | 2 +- .../templates/tutorials/performance/index.pot | 2 +- .../performance/optimizing_3d_performance.pot | 2 +- .../performance/thread_safe_apis.pot | 2 +- .../tutorials/performance/using_multimesh.pot | 2 +- .../performance/using_multiple_threads.pot | 2 +- .../tutorials/performance/using_servers.pot | 2 +- .../animating_thousands_of_fish.pot | 2 +- .../controlling_thousands_of_fish.pot | 2 +- .../performance/vertex_animation/index.pot | 2 +- .../tutorials/physics/collision_shapes_2d.pot | 2 +- .../tutorials/physics/collision_shapes_3d.pot | 2 +- sphinx/templates/tutorials/physics/index.pot | 2 +- .../physics/kinematic_character_2d.pot | 2 +- .../physics/large_world_coordinates.pot | 2 +- .../physics/physics_introduction.pot | 2 +- .../tutorials/physics/ragdoll_system.pot | 2 +- .../tutorials/physics/ray-casting.pot | 2 +- .../tutorials/physics/rigid_body.pot | 2 +- .../templates/tutorials/physics/soft_body.pot | 2 +- .../troubleshooting_physics_issues.pot | 2 +- .../tutorials/physics/using_area_2d.pot | 2 +- .../physics/using_character_body_2d.pot | 2 +- .../android/android_in_app_purchases.pot | 2 +- .../platform/android/android_library.pot | 2 +- .../platform/android/android_plugin.pot | 4 +- .../tutorials/platform/android/index.pot | 2 +- .../templates/tutorials/platform/consoles.pot | 6 +- sphinx/templates/tutorials/platform/index.pot | 2 +- .../tutorials/platform/ios/index.pot | 2 +- .../tutorials/platform/ios/ios_plugin.pot | 2 +- .../platform/ios/plugins_for_ios.pot | 2 +- .../platform/web/customizing_html5_shell.pot | 2 +- .../platform/web/html5_shell_classref.pot | 2 +- .../tutorials/platform/web/index.pot | 2 +- .../platform/web/javascript_bridge.pot | 2 +- .../tutorials/plugins/editor/3d_gizmos.pot | 2 +- .../plugins/editor/import_plugins.pot | 2 +- .../tutorials/plugins/editor/index.pot | 2 +- .../plugins/editor/inspector_plugins.pot | 2 +- .../plugins/editor/installing_plugins.pot | 2 +- .../editor/making_main_screen_plugins.pot | 2 +- .../plugins/editor/making_plugins.pot | 2 +- .../plugins/editor/visual_shader_plugins.pot | 2 +- sphinx/templates/tutorials/plugins/index.pot | 2 +- .../plugins/running_code_in_the_editor.pot | 2 +- .../tutorials/rendering/compositor.pot | 2 +- .../templates/tutorials/rendering/index.pot | 2 +- .../tutorials/rendering/jitter_stutter.pot | 82 +- .../rendering/multiple_resolutions.pot | 2 +- .../tutorials/rendering/viewports.pot | 2 +- .../scripting/c_sharp/c_sharp_basics.pot | 2 +- .../scripting/c_sharp/c_sharp_collections.pot | 2 +- .../scripting/c_sharp/c_sharp_differences.pot | 2 +- .../scripting/c_sharp/c_sharp_exports.pot | 2 +- .../scripting/c_sharp/c_sharp_features.pot | 2 +- .../c_sharp/c_sharp_global_classes.pot | 2 +- .../scripting/c_sharp/c_sharp_signals.pot | 2 +- .../scripting/c_sharp/c_sharp_style_guide.pot | 2 +- .../scripting/c_sharp/c_sharp_variant.pot | 2 +- .../scripting/c_sharp/diagnostics/GD0001.pot | 2 +- .../scripting/c_sharp/diagnostics/GD0002.pot | 2 +- .../scripting/c_sharp/diagnostics/GD0003.pot | 2 +- .../scripting/c_sharp/diagnostics/GD0101.pot | 2 +- .../scripting/c_sharp/diagnostics/GD0102.pot | 2 +- .../scripting/c_sharp/diagnostics/GD0103.pot | 2 +- .../scripting/c_sharp/diagnostics/GD0104.pot | 2 +- .../scripting/c_sharp/diagnostics/GD0105.pot | 2 +- .../scripting/c_sharp/diagnostics/GD0106.pot | 2 +- .../scripting/c_sharp/diagnostics/GD0107.pot | 2 +- .../scripting/c_sharp/diagnostics/GD0201.pot | 2 +- .../scripting/c_sharp/diagnostics/GD0202.pot | 2 +- .../scripting/c_sharp/diagnostics/GD0203.pot | 2 +- .../scripting/c_sharp/diagnostics/GD0301.pot | 2 +- .../scripting/c_sharp/diagnostics/GD0302.pot | 2 +- .../scripting/c_sharp/diagnostics/GD0303.pot | 2 +- .../scripting/c_sharp/diagnostics/GD0401.pot | 2 +- .../scripting/c_sharp/diagnostics/GD0402.pot | 2 +- .../scripting/c_sharp/diagnostics/index.pot | 2 +- .../tutorials/scripting/c_sharp/index.pot | 2 +- .../scripting/change_scenes_manually.pot | 2 +- .../scripting/creating_script_templates.pot | 2 +- .../scripting/cross_language_scripting.pot | 2 +- .../debug/custom_performance_monitors.pot | 2 +- .../scripting/debug/debugger_panel.pot | 2 +- .../tutorials/scripting/debug/index.pot | 2 +- .../debug/overview_of_debugging_tools.pot | 2 +- .../scripting/debug/the_profiler.pot | 2 +- .../scripting/evaluating_expressions.pot | 2 +- .../tutorials/scripting/filesystem.pot | 2 +- .../gdextension/gdextension_cpp_example.pot | 72 +- .../gdextension/gdextension_file.pot | 309 + .../tutorials/scripting/gdextension/index.pot | 2 +- .../gdextension/what_is_gdextension.pot | 2 +- .../scripting/gdscript/gdscript_advanced.pot | 2 +- .../scripting/gdscript/gdscript_basics.pot | 580 +- .../gdscript_documentation_comments.pot | 2 +- .../scripting/gdscript/gdscript_exports.pot | 2 +- .../gdscript/gdscript_format_string.pot | 2 +- .../gdscript/gdscript_styleguide.pot | 4 +- .../tutorials/scripting/gdscript/index.pot | 2 +- .../scripting/gdscript/static_typing.pot | 2 +- .../scripting/gdscript/warning_system.pot | 2 +- .../templates/tutorials/scripting/groups.pot | 2 +- .../scripting/how_to_read_the_godot_api.pot | 2 +- .../scripting/idle_and_physics_processing.pot | 2 +- .../templates/tutorials/scripting/index.pot | 2 +- .../scripting/instancing_with_signals.pot | 2 +- .../scripting/nodes_and_scene_instances.pot | 2 +- .../scripting/overridable_functions.pot | 2 +- .../tutorials/scripting/pausing_games.pot | 2 +- .../tutorials/scripting/resources.pot | 2 +- .../tutorials/scripting/scene_tree.pot | 2 +- .../scripting/scene_unique_nodes.pot | 2 +- .../scripting/singletons_autoload.pot | 24 +- .../shaders/advanced_postprocessing.pot | 2 +- .../tutorials/shaders/compute_shaders.pot | 2 +- .../converting_glsl_to_godot_shaders.pot | 2 +- .../shaders/custom_postprocessing.pot | 2 +- sphinx/templates/tutorials/shaders/index.pot | 2 +- .../shaders/introduction_to_shaders.pot | 2 +- .../tutorials/shaders/making_trees.pot | 2 +- .../shaders/screen-reading_shaders.pot | 2 +- .../tutorials/shaders/shader_materials.pot | 2 +- .../shader_reference/canvas_item_shader.pot | 7 +- .../shaders/shader_reference/fog_shader.pot | 2 +- .../shaders/shader_reference/index.pot | 2 +- .../shader_reference/particle_shader.pot | 2 +- .../shader_reference/shader_preprocessor.pot | 2 +- .../shader_reference/shading_language.pot | 2 +- .../shaders/shader_reference/sky_shader.pot | 2 +- .../shader_reference/spatial_shader.pot | 358 +- .../tutorials/shaders/shaders_style_guide.pot | 2 +- .../shaders/using_viewport_as_texture.pot | 2 +- .../tutorials/shaders/visual_shaders.pot | 2 +- .../shaders/your_first_shader/index.pot | 2 +- .../your_first_2d_shader.pot | 2 +- .../your_first_3d_shader.pot | 2 +- .../your_second_3d_shader.pot | 2 +- .../templates/tutorials/troubleshooting.pot | 58 +- .../tutorials/ui/bbcode_in_richtextlabel.pot | 522 +- .../tutorials/ui/control_node_gallery.pot | 2 +- .../tutorials/ui/custom_gui_controls.pot | 2 +- .../templates/tutorials/ui/gui_containers.pot | 2 +- .../templates/tutorials/ui/gui_navigation.pot | 2 +- .../templates/tutorials/ui/gui_skinning.pot | 2 +- .../ui/gui_theme_type_variations.pot | 2 +- .../tutorials/ui/gui_using_fonts.pot | 2 +- .../tutorials/ui/gui_using_theme_editor.pot | 2 +- sphinx/templates/tutorials/ui/index.pot | 2 +- .../tutorials/ui/size_and_anchors.pot | 2 +- .../tutorials/xr/a_better_xr_start_script.pot | 2 +- .../templates/tutorials/xr/ar_passthrough.pot | 2 +- .../tutorials/xr/basic_xr_locomotion.pot | 2 +- .../tutorials/xr/deploying_to_android.pot | 4 +- sphinx/templates/tutorials/xr/index.pot | 4 +- .../tutorials/xr/introducing_xr_tools.pot | 2 +- .../tutorials/xr/openxr_body_tracking.pot | 101 + .../xr/openxr_composition_layers.pot | 2 +- .../tutorials/xr/openxr_hand_tracking.pot | 528 +- .../tutorials/xr/openxr_settings.pot | 2 +- .../templates/tutorials/xr/setting_up_xr.pot | 2 +- .../templates/tutorials/xr/xr_action_map.pot | 2 +- .../templates/tutorials/xr/xr_next_steps.pot | 2 +- .../templates/tutorials/xr/xr_room_scale.pot | 2 +- templates_list.txt | 6 +- update.sh | 4 + weblate/docs.pot | 6046 ++++++++++------- 478 files changed, 7091 insertions(+), 5137 deletions(-) create mode 100644 sphinx/templates/contributing/how_to_contribute.pot rename sphinx/templates/contributing/{ways_to_contribute.pot => workflow/first_steps.pot} (59%) create mode 100644 sphinx/templates/tutorials/2d/2d_parallax.pot create mode 100644 sphinx/templates/tutorials/scripting/gdextension/gdextension_file.pot create mode 100644 sphinx/templates/tutorials/xr/openxr_body_tracking.pot diff --git a/docs b/docs index 5f8cafd474..d0fde25f53 160000 --- a/docs +++ b/docs @@ -1 +1 @@ -Subproject commit 5f8cafd47477c10bbb1974aa139d0cde9b585c4d +Subproject commit d0fde25f53d99d7b4aa0ed49f915d3e2e7efee55 diff --git a/sphinx/templates/about/complying_with_licenses.pot b/sphinx/templates/about/complying_with_licenses.pot index 859904cbc6..a3fc259727 100644 --- a/sphinx/templates/about/complying_with_licenses.pot +++ b/sphinx/templates/about/complying_with_licenses.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/about/docs_changelog.pot b/sphinx/templates/about/docs_changelog.pot index aaed9323bc..d8ef14ff64 100644 --- a/sphinx/templates/about/docs_changelog.pot +++ b/sphinx/templates/about/docs_changelog.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/about/faq.pot b/sphinx/templates/about/faq.pot index 5ea66ef89b..97e3943315 100644 --- a/sphinx/templates/about/faq.pot +++ b/sphinx/templates/about/faq.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -29,7 +29,7 @@ msgid "What can I do with Godot? How much does it cost? What are the license ter msgstr "" #: ../../docs/about/faq.rst:14 -msgid "Godot is `Free and open source Software `_ available under the `OSI-approved `_ MIT license. This means it is free as in \"free speech\" as well as in \"free beer.\"" +msgid "Godot is `Free and open source Software `_ available under the `OSI-approved `_ MIT license. This means it is free as in \"free speech\" as well as in \"free beer.\"" msgstr "" #: ../../docs/about/faq.rst:18 diff --git a/sphinx/templates/about/introduction.pot b/sphinx/templates/about/introduction.pot index f96a1da534..eb670fb131 100644 --- a/sphinx/templates/about/introduction.pot +++ b/sphinx/templates/about/introduction.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/about/list_of_features.pot b/sphinx/templates/about/list_of_features.pot index bd5c9dc2f7..5ae974e38c 100644 --- a/sphinx/templates/about/list_of_features.pot +++ b/sphinx/templates/about/list_of_features.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/about/release_policy.pot b/sphinx/templates/about/release_policy.pot index 564edc0447..b1a3c529f3 100644 --- a/sphinx/templates/about/release_policy.pot +++ b/sphinx/templates/about/release_policy.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/about/system_requirements.pot b/sphinx/templates/about/system_requirements.pot index cc5ef784ae..114300f199 100644 --- a/sphinx/templates/about/system_requirements.pot +++ b/sphinx/templates/about/system_requirements.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/community/asset_library/index.pot b/sphinx/templates/community/asset_library/index.pot index 3ed3203f04..2de93f7e4d 100644 --- a/sphinx/templates/community/asset_library/index.pot +++ b/sphinx/templates/community/asset_library/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/community/asset_library/submitting_to_assetlib.pot b/sphinx/templates/community/asset_library/submitting_to_assetlib.pot index baa3d2ea4d..b8cddf21db 100644 --- a/sphinx/templates/community/asset_library/submitting_to_assetlib.pot +++ b/sphinx/templates/community/asset_library/submitting_to_assetlib.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/community/asset_library/using_assetlib.pot b/sphinx/templates/community/asset_library/using_assetlib.pot index 353aac2d95..1072c6230e 100644 --- a/sphinx/templates/community/asset_library/using_assetlib.pot +++ b/sphinx/templates/community/asset_library/using_assetlib.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/community/asset_library/what_is_assetlib.pot b/sphinx/templates/community/asset_library/what_is_assetlib.pot index 127e887076..0519619a8d 100644 --- a/sphinx/templates/community/asset_library/what_is_assetlib.pot +++ b/sphinx/templates/community/asset_library/what_is_assetlib.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/community/channels.pot b/sphinx/templates/community/channels.pot index 474d9aaf12..23c596947b 100644 --- a/sphinx/templates/community/channels.pot +++ b/sphinx/templates/community/channels.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/community/tutorials.pot b/sphinx/templates/community/tutorials.pot index 5f301d3d8c..b151e776df 100644 --- a/sphinx/templates/community/tutorials.pot +++ b/sphinx/templates/community/tutorials.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -133,7 +133,7 @@ msgid "Text tutorials" msgstr "" #: ../../docs/community/tutorials.rst:46 -msgid "`FinepointCGI website by Mitch `__" +msgid "`FinePointCGI website by Mitch `__" msgstr "" #: ../../docs/community/tutorials.rst:47 @@ -184,10 +184,6 @@ msgstr "" msgid "`Godot Shaders: A community-driven shader library `_" msgstr "" -#: ../../docs/community/tutorials.rst:65 -msgid "`Zeef Godot Engine: A curated directory of resources by Andre Schmitz `_" -msgstr "" - #: ../../docs/:0 msgid "Translation status" msgstr "" diff --git a/sphinx/templates/contributing/development/best_practices_for_engine_contributors.pot b/sphinx/templates/contributing/development/best_practices_for_engine_contributors.pot index 8310e6c744..44fb671dec 100644 --- a/sphinx/templates/contributing/development/best_practices_for_engine_contributors.pot +++ b/sphinx/templates/contributing/development/best_practices_for_engine_contributors.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/contributing/development/code_style_guidelines.pot b/sphinx/templates/contributing/development/code_style_guidelines.pot index 26add51e36..3d12db1391 100644 --- a/sphinx/templates/contributing/development/code_style_guidelines.pot +++ b/sphinx/templates/contributing/development/code_style_guidelines.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/contributing/development/compiling/compiling_for_android.pot b/sphinx/templates/contributing/development/compiling/compiling_for_android.pot index 61f5c003ac..a7610f4cb1 100644 --- a/sphinx/templates/contributing/development/compiling/compiling_for_android.pot +++ b/sphinx/templates/contributing/development/compiling/compiling_for_android.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -77,7 +77,7 @@ msgid "JDK 17 (either OpenJDK or Oracle JDK)." msgstr "" #: ../../docs/contributing/development/compiling/compiling_for_android.rst:41 -msgid "You can download a build from `ojdkbuild `_." +msgid "You can download a build from `Adoptium `_." msgstr "" #: ../../docs/contributing/development/compiling/compiling_for_android.rst:43 diff --git a/sphinx/templates/contributing/development/compiling/compiling_for_ios.pot b/sphinx/templates/contributing/development/compiling/compiling_for_ios.pot index 65fd7c256c..502a3e1da2 100644 --- a/sphinx/templates/contributing/development/compiling/compiling_for_ios.pot +++ b/sphinx/templates/contributing/development/compiling/compiling_for_ios.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/contributing/development/compiling/compiling_for_linuxbsd.pot b/sphinx/templates/contributing/development/compiling/compiling_for_linuxbsd.pot index 44dcb023f9..3842d79137 100644 --- a/sphinx/templates/contributing/development/compiling/compiling_for_linuxbsd.pot +++ b/sphinx/templates/contributing/development/compiling/compiling_for_linuxbsd.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/contributing/development/compiling/compiling_for_macos.pot b/sphinx/templates/contributing/development/compiling/compiling_for_macos.pot index 95af8cfd14..1e0ee284c2 100644 --- a/sphinx/templates/contributing/development/compiling/compiling_for_macos.pot +++ b/sphinx/templates/contributing/development/compiling/compiling_for_macos.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/contributing/development/compiling/compiling_for_web.pot b/sphinx/templates/contributing/development/compiling/compiling_for_web.pot index 42848cade2..1bb021acaf 100644 --- a/sphinx/templates/contributing/development/compiling/compiling_for_web.pot +++ b/sphinx/templates/contributing/development/compiling/compiling_for_web.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -77,66 +77,70 @@ msgid "By default, the :ref:`JavaScriptBridge singleton ` for more info." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_web.rst:75 +#: ../../docs/contributing/development/compiling/compiling_for_web.rst:81 msgid "You can build the export templates using the option ``dlink_enabled=yes`` to enable GDExtension support::" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_web.rst:81 +#: ../../docs/contributing/development/compiling/compiling_for_web.rst:87 msgid "Once finished, the resulting file will be placed in the ``bin`` subdirectory. Its name will have ``_dlink`` added." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_web.rst:84 +#: ../../docs/contributing/development/compiling/compiling_for_web.rst:90 msgid "Finally, rename the zip archives to ``web_dlink_release.zip`` and ``web_dlink_release.zip`` for the release template::" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_web.rst:91 +#: ../../docs/contributing/development/compiling/compiling_for_web.rst:97 msgid "Building the editor" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_web.rst:93 +#: ../../docs/contributing/development/compiling/compiling_for_web.rst:99 msgid "It is also possible to build a version of the Godot editor that can run in the browser. The editor version is not recommended over the native build. You can build the editor with::" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_web.rst:99 +#: ../../docs/contributing/development/compiling/compiling_for_web.rst:105 msgid "Once finished, the resulting file will be placed in the ``bin`` subdirectory. Its name will be ``godot.web.editor.wasm32.zip``. You can upload the zip content to your web server and visit it with your browser to use the editor." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_web.rst:103 +#: ../../docs/contributing/development/compiling/compiling_for_web.rst:109 msgid "Refer to the :ref:`export page ` for the web server requirements." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_web.rst:108 +#: ../../docs/contributing/development/compiling/compiling_for_web.rst:114 msgid "The Godot repository includes a `Python script to host a local web server `__. This can be used to test the web editor locally." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_web.rst:112 +#: ../../docs/contributing/development/compiling/compiling_for_web.rst:118 msgid "After compiling the editor, extract the ZIP archive that was created in the ``bin/`` folder, then run the following command in the Godot repository root:" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_web.rst:121 +#: ../../docs/contributing/development/compiling/compiling_for_web.rst:127 msgid "This will serve the contents of the ``bin/`` folder and open the default web browser automatically. In the page that opens, access ``godot.tools.html`` and you should be able to test the web editor this way." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_web.rst:125 +#: ../../docs/contributing/development/compiling/compiling_for_web.rst:131 msgid "Note that for production use cases, this Python-based web server should not be used. Instead, you should use an established web server such as Apache or nginx." msgstr "" diff --git a/sphinx/templates/contributing/development/compiling/compiling_for_windows.pot b/sphinx/templates/contributing/development/compiling/compiling_for_windows.pot index 607208029e..ee3a1124a4 100644 --- a/sphinx/templates/contributing/development/compiling/compiling_for_windows.pot +++ b/sphinx/templates/contributing/development/compiling/compiling_for_windows.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -173,234 +173,226 @@ msgid "By default, builds of Godot do not contain support for the Direct3D 12 gr msgstr "" #: ../../docs/contributing/development/compiling/compiling_for_windows.rst:170 -msgid "To compile Godot with Direct3D 12 support you need at least the following:" +msgid "To compile Godot with Direct3D 12 support you need at least the following item:" msgstr "" #: ../../docs/contributing/development/compiling/compiling_for_windows.rst:172 -msgid "`The DirectX Shader Compiler `_. The zip folder will be named \"dxc\\_\" followed by the date of release. 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:176 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:181 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:177 msgid "You can optionally build the godot-nir-static libraries yourself with the following steps:" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:184 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:180 msgid "Install the Python package `mako `_ which is needed to generate some files." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:186 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:182 msgid "Clone the `godot-nir-static `_ directory and navigate to it." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:188 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:184 msgid "Run the following::" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:194 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:190 msgid "If you are building with MinGW, add ``use_mingw=yes`` to the ``scons`` command, you can also specify build architecture using ``arch={architecture}``." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:197 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:193 msgid "Mesa static library should be built using the same compiler you are using for building Godot." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:200 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:196 msgid "Optionally, you can compile with the following for additional features:" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:202 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:198 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:209 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:205 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:216 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:212 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:219 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:215 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:230 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:226 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:237 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:233 msgid "Or, with all options enabled:" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:243 -msgid "The build process will copy ``dxil.dll`` from the ``bin//`` directory in the DXC folder to the Godot binary directory and the appropriate ``bin/`` file in the Godot binary directory. Direct3D 12-enabled Godot packages for distribution to end users must include the ``dxil.dll`` (and relevant folders if using multi-arch), both for the editor and games. At runtime, the renderer will try to load the DLL from the arch-specific folders, and will fall back to the same directory as the Godot executable if the appropriate arch isn't found." -msgstr "" - -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:253 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:239 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:260 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:246 msgid "Compiling with ANGLE support" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:262 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:248 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:266 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:252 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:269 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:255 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:274 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:260 msgid "To compile Godot with statically linked ANGLE:" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:276 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:262 msgid "Download pre-built static libraries from `godot-angle-static library `_, and unzip them." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:277 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:263 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:281 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:267 msgid "You can optionally build the godot-angle-static libraries yourself with the following steps:" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:284 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:270 msgid "Clone the `godot-angle-static `_ directory and navigate to it." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:286 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:272 msgid "Run the following command::" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:290 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:276 msgid "If you are buildng with MinGW, add ``use_mingw=yes`` to the command, you can also specify build architecture using ``arch={architecture}``." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:293 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:279 msgid "ANGLE static library should be built using the same compiler you are using for building Godot." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:297 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:283 msgid "Development in Visual Studio" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:299 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:285 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:303 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:289 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:306 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:292 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:311 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:297 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:314 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:300 msgid "See :ref:`doc_configuring_an_ide_vs` for further details." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:317 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:303 msgid "Cross-compiling for Windows from other operating systems" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:319 -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. The package names may differ based on your distribution, here are some known ones:" +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:305 +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. The package names may differ based on your distribution, here are some known ones:" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:325 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:311 msgid "**Arch Linux**" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:329 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:315 msgid "**Debian** / **Ubuntu**" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:333 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:319 msgid "**Fedora**" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:338 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:324 msgid "**macOS**" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:342 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:328 msgid "**Mageia**" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:348 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:334 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:354 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:340 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:360 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:346 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:364 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:350 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:371 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:357 msgid "When cross-compiling for Windows using MinGW-w64, keep in mind only ``x86_64`` and ``x86_32`` architectures are supported. 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:377 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:363 msgid "Troubleshooting" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:379 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:365 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:383 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:369 msgid "You can change that configuration following those instructions, for 64-bit::" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:391 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:377 msgid "And for 32-bit::" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:399 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:385 msgid "Creating Windows export templates" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:401 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:387 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:411 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:397 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:419 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:405 msgid "With the following names::" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:430 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:416 msgid "However, if you are using custom modules or custom engine code, you may instead want to configure your binaries as custom export templates here:" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:436 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:422 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/compiling_with_dotnet.pot b/sphinx/templates/contributing/development/compiling/compiling_with_dotnet.pot index 808b34ee94..1b5555f241 100644 --- a/sphinx/templates/contributing/development/compiling/compiling_with_dotnet.pot +++ b/sphinx/templates/contributing/development/compiling/compiling_with_dotnet.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/contributing/development/compiling/compiling_with_script_encryption_key.pot b/sphinx/templates/contributing/development/compiling/compiling_with_script_encryption_key.pot index 9e5961d62c..37d58a5075 100644 --- a/sphinx/templates/contributing/development/compiling/compiling_with_script_encryption_key.pot +++ b/sphinx/templates/contributing/development/compiling/compiling_with_script_encryption_key.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/contributing/development/compiling/cross-compiling_for_ios_on_linux.pot b/sphinx/templates/contributing/development/compiling/cross-compiling_for_ios_on_linux.pot index 0d5725b7f0..622ab2bc29 100644 --- a/sphinx/templates/contributing/development/compiling/cross-compiling_for_ios_on_linux.pot +++ b/sphinx/templates/contributing/development/compiling/cross-compiling_for_ios_on_linux.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -37,7 +37,7 @@ msgid "Requirements" msgstr "" #: ../../docs/contributing/development/compiling/cross-compiling_for_ios_on_linux.rst:27 -msgid "`XCode with the iOS SDK `__ (a dmg image, for newer versions a **xip** file is going to be downloaded.)" +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 @@ -45,102 +45,74 @@ msgid "`Clang >= 3.5 `__ for your development machine in msgstr "" #: ../../docs/contributing/development/compiling/cross-compiling_for_ios_on_linux.rst:32 -msgid "`Fuse `__ for mounting and unmounting the dmg image." +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:34 -msgid "`darling-dmg `__, which needs to be built from source. The procedure for that is explained below." +#: ../../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 "For newer versions you should download `xar `__ and `pbzx `__." -msgstr "" - -#: ../../docs/contributing/development/compiling/cross-compiling_for_ios_on_linux.rst:40 -msgid "For building darling-dmg, you'll need the development packages of the following libraries: fuse, icu, openssl, zlib, bzip2." -msgstr "" - -#: ../../docs/contributing/development/compiling/cross-compiling_for_ios_on_linux.rst:42 -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:45 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:49 +#: ../../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:52 +#: ../../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:55 -msgid "darling-dmg" -msgstr "" - -#: ../../docs/contributing/development/compiling/cross-compiling_for_ios_on_linux.rst:57 -msgid "Clone the repository on your machine:" -msgstr "" - -#: ../../docs/contributing/development/compiling/cross-compiling_for_ios_on_linux.rst:63 -msgid "Build it:" -msgstr "" - -#: ../../docs/contributing/development/compiling/cross-compiling_for_ios_on_linux.rst:75 +#: ../../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:77 -msgid "Mount the XCode image:" +#: ../../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:87 -msgid "For newer versions you should extract the **xip** file:" +#: ../../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:97 -msgid "Note that for the commands below, you may need to replace the version (`X.x`) with whatever iOS SDK version you're using." -msgstr "" - -#: ../../docs/contributing/development/compiling/cross-compiling_for_ios_on_linux.rst:99 +#: ../../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:109 -msgid "Pack the SDK:" +#: ../../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:117 +#: ../../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:119 +#: ../../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:127 +#: ../../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:137 -msgid "Now you should have the iOS toolchain binaries in ``/home/user/iostoolchain/usr/bin``." +#: ../../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:141 +#: ../../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:143 +#: ../../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:148 +#: ../../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:155 +#: ../../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 "" diff --git a/sphinx/templates/contributing/development/compiling/getting_source.pot b/sphinx/templates/contributing/development/compiling/getting_source.pot index e3214cec31..3f5c52c098 100644 --- a/sphinx/templates/contributing/development/compiling/getting_source.pot +++ b/sphinx/templates/contributing/development/compiling/getting_source.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/contributing/development/compiling/index.pot b/sphinx/templates/contributing/development/compiling/index.pot index 6e08389fd4..eab525a0b8 100644 --- a/sphinx/templates/contributing/development/compiling/index.pot +++ b/sphinx/templates/contributing/development/compiling/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/contributing/development/compiling/introduction_to_the_buildsystem.pot b/sphinx/templates/contributing/development/compiling/introduction_to_the_buildsystem.pot index 55800a975c..3870d7b868 100644 --- a/sphinx/templates/contributing/development/compiling/introduction_to_the_buildsystem.pot +++ b/sphinx/templates/contributing/development/compiling/introduction_to_the_buildsystem.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/contributing/development/compiling/optimizing_for_size.pot b/sphinx/templates/contributing/development/compiling/optimizing_for_size.pot index 8e348cfba1..79ebeafb86 100644 --- a/sphinx/templates/contributing/development/compiling/optimizing_for_size.pot +++ b/sphinx/templates/contributing/development/compiling/optimizing_for_size.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/contributing/development/configuring_an_ide/android_studio.pot b/sphinx/templates/contributing/development/configuring_an_ide/android_studio.pot index e78a9cefc0..827901e74d 100644 --- a/sphinx/templates/contributing/development/configuring_an_ide/android_studio.pot +++ b/sphinx/templates/contributing/development/configuring_an_ide/android_studio.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/contributing/development/configuring_an_ide/clion.pot b/sphinx/templates/contributing/development/configuring_an_ide/clion.pot index 7f0d4a92bc..185465959c 100644 --- a/sphinx/templates/contributing/development/configuring_an_ide/clion.pot +++ b/sphinx/templates/contributing/development/configuring_an_ide/clion.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/contributing/development/configuring_an_ide/code_blocks.pot b/sphinx/templates/contributing/development/configuring_an_ide/code_blocks.pot index cebff5dfc9..2972085423 100644 --- a/sphinx/templates/contributing/development/configuring_an_ide/code_blocks.pot +++ b/sphinx/templates/contributing/development/configuring_an_ide/code_blocks.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/contributing/development/configuring_an_ide/index.pot b/sphinx/templates/contributing/development/configuring_an_ide/index.pot index 1b3921f839..fa9aeb29aa 100644 --- a/sphinx/templates/contributing/development/configuring_an_ide/index.pot +++ b/sphinx/templates/contributing/development/configuring_an_ide/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/contributing/development/configuring_an_ide/kdevelop.pot b/sphinx/templates/contributing/development/configuring_an_ide/kdevelop.pot index 796d3be860..54fdd7e21d 100644 --- a/sphinx/templates/contributing/development/configuring_an_ide/kdevelop.pot +++ b/sphinx/templates/contributing/development/configuring_an_ide/kdevelop.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/contributing/development/configuring_an_ide/qt_creator.pot b/sphinx/templates/contributing/development/configuring_an_ide/qt_creator.pot index 7532628212..13f82b73c8 100644 --- a/sphinx/templates/contributing/development/configuring_an_ide/qt_creator.pot +++ b/sphinx/templates/contributing/development/configuring_an_ide/qt_creator.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/contributing/development/configuring_an_ide/rider.pot b/sphinx/templates/contributing/development/configuring_an_ide/rider.pot index f37aa37eb8..47e0e45a0d 100644 --- a/sphinx/templates/contributing/development/configuring_an_ide/rider.pot +++ b/sphinx/templates/contributing/development/configuring_an_ide/rider.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/contributing/development/configuring_an_ide/visual_studio.pot b/sphinx/templates/contributing/development/configuring_an_ide/visual_studio.pot index 2192c911d9..307ff83e1d 100644 --- a/sphinx/templates/contributing/development/configuring_an_ide/visual_studio.pot +++ b/sphinx/templates/contributing/development/configuring_an_ide/visual_studio.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" 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 e88682a538..5722f1973c 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 @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/contributing/development/configuring_an_ide/xcode.pot b/sphinx/templates/contributing/development/configuring_an_ide/xcode.pot index e3237dcb6c..c94e593fc9 100644 --- a/sphinx/templates/contributing/development/configuring_an_ide/xcode.pot +++ b/sphinx/templates/contributing/development/configuring_an_ide/xcode.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/contributing/development/core_and_modules/2d_coordinate_systems.pot b/sphinx/templates/contributing/development/core_and_modules/2d_coordinate_systems.pot index 1b6dd457ae..0a5a00f2dc 100644 --- a/sphinx/templates/contributing/development/core_and_modules/2d_coordinate_systems.pot +++ b/sphinx/templates/contributing/development/core_and_modules/2d_coordinate_systems.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/contributing/development/core_and_modules/binding_to_external_libraries.pot b/sphinx/templates/contributing/development/core_and_modules/binding_to_external_libraries.pot index 6e476d5660..56e38a83f8 100644 --- a/sphinx/templates/contributing/development/core_and_modules/binding_to_external_libraries.pot +++ b/sphinx/templates/contributing/development/core_and_modules/binding_to_external_libraries.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/contributing/development/core_and_modules/common_engine_methods_and_macros.pot b/sphinx/templates/contributing/development/core_and_modules/common_engine_methods_and_macros.pot index cb95372a77..dc9a9f5a52 100644 --- a/sphinx/templates/contributing/development/core_and_modules/common_engine_methods_and_macros.pot +++ b/sphinx/templates/contributing/development/core_and_modules/common_engine_methods_and_macros.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/contributing/development/core_and_modules/core_types.pot b/sphinx/templates/contributing/development/core_and_modules/core_types.pot index ef53b6677a..17be37f1af 100644 --- a/sphinx/templates/contributing/development/core_and_modules/core_types.pot +++ b/sphinx/templates/contributing/development/core_and_modules/core_types.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/contributing/development/core_and_modules/custom_audiostreams.pot b/sphinx/templates/contributing/development/core_and_modules/custom_audiostreams.pot index 36858d84ed..0f2f829131 100644 --- a/sphinx/templates/contributing/development/core_and_modules/custom_audiostreams.pot +++ b/sphinx/templates/contributing/development/core_and_modules/custom_audiostreams.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/contributing/development/core_and_modules/custom_godot_servers.pot b/sphinx/templates/contributing/development/core_and_modules/custom_godot_servers.pot index 3d3bc65028..9154be39ba 100644 --- a/sphinx/templates/contributing/development/core_and_modules/custom_godot_servers.pot +++ b/sphinx/templates/contributing/development/core_and_modules/custom_godot_servers.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/contributing/development/core_and_modules/custom_modules_in_cpp.pot b/sphinx/templates/contributing/development/core_and_modules/custom_modules_in_cpp.pot index e74fb7fb6f..a95064236e 100644 --- a/sphinx/templates/contributing/development/core_and_modules/custom_modules_in_cpp.pot +++ b/sphinx/templates/contributing/development/core_and_modules/custom_modules_in_cpp.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/contributing/development/core_and_modules/custom_platform_ports.pot b/sphinx/templates/contributing/development/core_and_modules/custom_platform_ports.pot index 2f4b1b2963..dc3119a047 100644 --- a/sphinx/templates/contributing/development/core_and_modules/custom_platform_ports.pot +++ b/sphinx/templates/contributing/development/core_and_modules/custom_platform_ports.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/contributing/development/core_and_modules/custom_resource_format_loaders.pot b/sphinx/templates/contributing/development/core_and_modules/custom_resource_format_loaders.pot index f0d9958306..39af313ba2 100644 --- a/sphinx/templates/contributing/development/core_and_modules/custom_resource_format_loaders.pot +++ b/sphinx/templates/contributing/development/core_and_modules/custom_resource_format_loaders.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/contributing/development/core_and_modules/godot_architecture_diagram.pot b/sphinx/templates/contributing/development/core_and_modules/godot_architecture_diagram.pot index 8ccd4ca72e..15cb45e4b3 100644 --- a/sphinx/templates/contributing/development/core_and_modules/godot_architecture_diagram.pot +++ b/sphinx/templates/contributing/development/core_and_modules/godot_architecture_diagram.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/contributing/development/core_and_modules/index.pot b/sphinx/templates/contributing/development/core_and_modules/index.pot index 812d4a5931..a064f27a08 100644 --- a/sphinx/templates/contributing/development/core_and_modules/index.pot +++ b/sphinx/templates/contributing/development/core_and_modules/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/contributing/development/core_and_modules/inheritance_class_tree.pot b/sphinx/templates/contributing/development/core_and_modules/inheritance_class_tree.pot index 2f98b8c9ca..7138d6c93c 100644 --- a/sphinx/templates/contributing/development/core_and_modules/inheritance_class_tree.pot +++ b/sphinx/templates/contributing/development/core_and_modules/inheritance_class_tree.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/contributing/development/core_and_modules/internal_rendering_architecture.pot b/sphinx/templates/contributing/development/core_and_modules/internal_rendering_architecture.pot index c2640c69dc..06ca194c0a 100644 --- a/sphinx/templates/contributing/development/core_and_modules/internal_rendering_architecture.pot +++ b/sphinx/templates/contributing/development/core_and_modules/internal_rendering_architecture.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/contributing/development/core_and_modules/object_class.pot b/sphinx/templates/contributing/development/core_and_modules/object_class.pot index 58e734b48f..1e62c14e7c 100644 --- a/sphinx/templates/contributing/development/core_and_modules/object_class.pot +++ b/sphinx/templates/contributing/development/core_and_modules/object_class.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/contributing/development/core_and_modules/scripting_development.pot b/sphinx/templates/contributing/development/core_and_modules/scripting_development.pot index e5d370e777..b1b2451e1f 100644 --- a/sphinx/templates/contributing/development/core_and_modules/scripting_development.pot +++ b/sphinx/templates/contributing/development/core_and_modules/scripting_development.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/contributing/development/core_and_modules/unit_testing.pot b/sphinx/templates/contributing/development/core_and_modules/unit_testing.pot index 97e3623b79..f83610f6ea 100644 --- a/sphinx/templates/contributing/development/core_and_modules/unit_testing.pot +++ b/sphinx/templates/contributing/development/core_and_modules/unit_testing.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/contributing/development/core_and_modules/variant_class.pot b/sphinx/templates/contributing/development/core_and_modules/variant_class.pot index b3498f3157..9d82b9c0bf 100644 --- a/sphinx/templates/contributing/development/core_and_modules/variant_class.pot +++ b/sphinx/templates/contributing/development/core_and_modules/variant_class.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/contributing/development/cpp_usage_guidelines.pot b/sphinx/templates/contributing/development/cpp_usage_guidelines.pot index e113b3980e..05e743c0b2 100644 --- a/sphinx/templates/contributing/development/cpp_usage_guidelines.pot +++ b/sphinx/templates/contributing/development/cpp_usage_guidelines.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/contributing/development/debugging/index.pot b/sphinx/templates/contributing/development/debugging/index.pot index 8b013a52a3..dd6456150e 100644 --- a/sphinx/templates/contributing/development/debugging/index.pot +++ b/sphinx/templates/contributing/development/debugging/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/contributing/development/debugging/macos_debug.pot b/sphinx/templates/contributing/development/debugging/macos_debug.pot index cce2c98fd9..c76c822ae3 100644 --- a/sphinx/templates/contributing/development/debugging/macos_debug.pot +++ b/sphinx/templates/contributing/development/debugging/macos_debug.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/contributing/development/debugging/using_cpp_profilers.pot b/sphinx/templates/contributing/development/debugging/using_cpp_profilers.pot index b6bb44eb11..c196fc8e41 100644 --- a/sphinx/templates/contributing/development/debugging/using_cpp_profilers.pot +++ b/sphinx/templates/contributing/development/debugging/using_cpp_profilers.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/contributing/development/debugging/using_sanitizers.pot b/sphinx/templates/contributing/development/debugging/using_sanitizers.pot index 04e7216a86..60428f4be3 100644 --- a/sphinx/templates/contributing/development/debugging/using_sanitizers.pot +++ b/sphinx/templates/contributing/development/debugging/using_sanitizers.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/contributing/development/debugging/vulkan/index.pot b/sphinx/templates/contributing/development/debugging/vulkan/index.pot index e628b05c4d..49f7e12bf5 100644 --- a/sphinx/templates/contributing/development/debugging/vulkan/index.pot +++ b/sphinx/templates/contributing/development/debugging/vulkan/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/contributing/development/debugging/vulkan/vulkan_validation_layers.pot b/sphinx/templates/contributing/development/debugging/vulkan/vulkan_validation_layers.pot index db8a6a7b97..00b5bdbb48 100644 --- a/sphinx/templates/contributing/development/debugging/vulkan/vulkan_validation_layers.pot +++ b/sphinx/templates/contributing/development/debugging/vulkan/vulkan_validation_layers.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/contributing/development/editor/creating_icons.pot b/sphinx/templates/contributing/development/editor/creating_icons.pot index 881fe17ce1..13adb483e7 100644 --- a/sphinx/templates/contributing/development/editor/creating_icons.pot +++ b/sphinx/templates/contributing/development/editor/creating_icons.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/contributing/development/editor/editor_style_guide.pot b/sphinx/templates/contributing/development/editor/editor_style_guide.pot index 0418857212..0b081607bd 100644 --- a/sphinx/templates/contributing/development/editor/editor_style_guide.pot +++ b/sphinx/templates/contributing/development/editor/editor_style_guide.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/contributing/development/editor/index.pot b/sphinx/templates/contributing/development/editor/index.pot index e9d0f2c34a..0574a13d60 100644 --- a/sphinx/templates/contributing/development/editor/index.pot +++ b/sphinx/templates/contributing/development/editor/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/contributing/development/editor/introduction_to_editor_development.pot b/sphinx/templates/contributing/development/editor/introduction_to_editor_development.pot index 1ae5889c50..665f4ec23f 100644 --- a/sphinx/templates/contributing/development/editor/introduction_to_editor_development.pot +++ b/sphinx/templates/contributing/development/editor/introduction_to_editor_development.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/contributing/development/file_formats/gdscript_grammar.pot b/sphinx/templates/contributing/development/file_formats/gdscript_grammar.pot index 621b3b33bb..6f37a01e34 100644 --- a/sphinx/templates/contributing/development/file_formats/gdscript_grammar.pot +++ b/sphinx/templates/contributing/development/file_formats/gdscript_grammar.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/contributing/development/file_formats/index.pot b/sphinx/templates/contributing/development/file_formats/index.pot index a06a633394..d9d0009f7e 100644 --- a/sphinx/templates/contributing/development/file_formats/index.pot +++ b/sphinx/templates/contributing/development/file_formats/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/contributing/development/file_formats/tscn.pot b/sphinx/templates/contributing/development/file_formats/tscn.pot index 64a3d7c409..bebd448837 100644 --- a/sphinx/templates/contributing/development/file_formats/tscn.pot +++ b/sphinx/templates/contributing/development/file_formats/tscn.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/contributing/development/handling_compatibility_breakages.pot b/sphinx/templates/contributing/development/handling_compatibility_breakages.pot index 8c46cd21a8..0281d2d39d 100644 --- a/sphinx/templates/contributing/development/handling_compatibility_breakages.pot +++ b/sphinx/templates/contributing/development/handling_compatibility_breakages.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/contributing/development/index.pot b/sphinx/templates/contributing/development/index.pot index 3b99e41a69..062a44922f 100644 --- a/sphinx/templates/contributing/development/index.pot +++ b/sphinx/templates/contributing/development/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/contributing/documentation/building_the_manual.pot b/sphinx/templates/contributing/documentation/building_the_manual.pot index 15468dde8a..d3c774ddca 100644 --- a/sphinx/templates/contributing/documentation/building_the_manual.pot +++ b/sphinx/templates/contributing/documentation/building_the_manual.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/contributing/documentation/class_reference_primer.pot b/sphinx/templates/contributing/documentation/class_reference_primer.pot index bc50d9820f..edbc393e20 100644 --- a/sphinx/templates/contributing/documentation/class_reference_primer.pot +++ b/sphinx/templates/contributing/documentation/class_reference_primer.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/contributing/documentation/content_guidelines.pot b/sphinx/templates/contributing/documentation/content_guidelines.pot index ec2e07efd6..383285d34b 100644 --- a/sphinx/templates/contributing/documentation/content_guidelines.pot +++ b/sphinx/templates/contributing/documentation/content_guidelines.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/contributing/documentation/contributing_to_the_documentation.pot b/sphinx/templates/contributing/documentation/contributing_to_the_documentation.pot index f30e126101..9a30ff0a4b 100644 --- a/sphinx/templates/contributing/documentation/contributing_to_the_documentation.pot +++ b/sphinx/templates/contributing/documentation/contributing_to_the_documentation.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/contributing/documentation/docs_image_guidelines.pot b/sphinx/templates/contributing/documentation/docs_image_guidelines.pot index 695223fe7b..d432212a4b 100644 --- a/sphinx/templates/contributing/documentation/docs_image_guidelines.pot +++ b/sphinx/templates/contributing/documentation/docs_image_guidelines.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -77,7 +77,7 @@ msgid "For cropping Krita is the recommended program. While some screenshot prog msgstr "" #: ../../docs/contributing/documentation/docs_image_guidelines.rst:70 -msgid "If you've never used Krita before download it from the `official Krita website `_, on Linux you may also be able to download it from your distributions repository, flathub is also an option. Once it's installed on your computer open Krita then open the image you want to crop. This button on the left panel is the crop tool." +msgid "If you've never used Krita before download it from the `official Krita website `_, on Linux you may also be able to download it from your distributions repository, flathub is also an option. Once it's installed on your computer open Krita then open the image you want to crop. This button on the left panel is the crop tool." msgstr "" #: ../../docs/contributing/documentation/docs_image_guidelines.rst:77 diff --git a/sphinx/templates/contributing/documentation/docs_writing_guidelines.pot b/sphinx/templates/contributing/documentation/docs_writing_guidelines.pot index 2c115bf5cd..62cd52bf64 100644 --- a/sphinx/templates/contributing/documentation/docs_writing_guidelines.pot +++ b/sphinx/templates/contributing/documentation/docs_writing_guidelines.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/contributing/documentation/editor_and_docs_localization.pot b/sphinx/templates/contributing/documentation/editor_and_docs_localization.pot index 63eccd18dd..44b4236bba 100644 --- a/sphinx/templates/contributing/documentation/editor_and_docs_localization.pot +++ b/sphinx/templates/contributing/documentation/editor_and_docs_localization.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/contributing/documentation/index.pot b/sphinx/templates/contributing/documentation/index.pot index c43fa6e7c4..1062e7071e 100644 --- a/sphinx/templates/contributing/documentation/index.pot +++ b/sphinx/templates/contributing/documentation/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/contributing/documentation/updating_the_class_reference.pot b/sphinx/templates/contributing/documentation/updating_the_class_reference.pot index 1d7337b2fd..3f85eae5bb 100644 --- a/sphinx/templates/contributing/documentation/updating_the_class_reference.pot +++ b/sphinx/templates/contributing/documentation/updating_the_class_reference.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/contributing/how_to_contribute.pot b/sphinx/templates/contributing/how_to_contribute.pot new file mode 100644 index 0000000000..c59b3bfcce --- /dev/null +++ b/sphinx/templates/contributing/how_to_contribute.pot @@ -0,0 +1,137 @@ +# 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" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\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/how_to_contribute.rst:4 +msgid "How to contribute" +msgstr "" + +#: ../../docs/contributing/how_to_contribute.rst:6 +msgid "The Godot Engine is free and open-source. Like any community-driven project, we rely on volunteer contributions. On this page we want to showcase the various ways you as users can participate - to help you find the right starting place with the skillset you have. Because contrary to popular opinion, we need more than just programmers on the project!" +msgstr "" + +#: ../../docs/contributing/how_to_contribute.rst:12 +msgid "Fundraising" +msgstr "" + +#: ../../docs/contributing/how_to_contribute.rst:14 +msgid "**Donate**" +msgstr "" + +#: ../../docs/contributing/how_to_contribute.rst:16 +msgid "We created the non-profit `Godot Foundation `_ to be able to support the Godot Engine in both matters of finance and administration. In practice, this means the Foundation hires people to work part-time or full-time on the project. These jobs include engine development as well as related tasks like code reviews, production management, community & marketing efforts, and more." +msgstr "" + +#: ../../docs/contributing/how_to_contribute.rst:20 +msgid "With as little as 5 EUR per month, you can help us keep going strong. Currently, we are intending to hire more core developers, as to cover more ground with full-time specialists that supplement and guide volunteer work." +msgstr "" + +#: ../../docs/contributing/how_to_contribute.rst:23 +msgid "`Join the Development Fund `_" +msgstr "" + +#: ../../docs/contributing/how_to_contribute.rst:25 +msgid "**Donation Drives** Think about your followers on social media, or other communities you are active in. Use that reach to remind your social environment that even small contributions can make a difference, especially when done by a great number of people at the same time." +msgstr "" + +#: ../../docs/contributing/how_to_contribute.rst:29 +msgid "Are you a content creator? Consider adding a link to the `Godot Development Fund `_ to your descriptions. If you do live streams, perhaps think about organizing a stream with donation incentives." +msgstr "" + +#: ../../docs/contributing/how_to_contribute.rst:34 +msgid "**Publish Godot Games.** You heard right, simply publishing a game #MadeWithGodot can positively impact the well-being of this project. Your personal success elevates the engine to a viable alternative for other developers, growing the community further. Additionally, it opens the doors for us to approach industry contacts about possible cooperations." +msgstr "" + +#: ../../docs/contributing/how_to_contribute.rst:41 +msgid "Technical contributions" +msgstr "" + +#: ../../docs/contributing/how_to_contribute.rst:43 +msgid "**Report bugs & other issues** As active users of the engine, you are better equipped to identify bugs and other issues than anyone else. To let us know about your findings, fill out this `bug report form `_ on our GitHub. Make sure to include as much information as possible to ensure these issues can easily be reproduced by others." +msgstr "" + +#: ../../docs/contributing/how_to_contribute.rst:48 +msgid "If you are interested in helping keep our bug tracker organized, you can even join the `bugsquad `_!" +msgstr "" + +#: ../../docs/contributing/how_to_contribute.rst:50 +msgid "**Test Development Versions** While it is recommended to use the stable releases for your projects, you can help us test dev releases, betas, and release candidates by opening a copy of your project in them and checking what problems this introduces or maybe even solves. Make sure to have a backup ready, since this can produce irreversible changes." +msgstr "" + +#: ../../docs/contributing/how_to_contribute.rst:55 +msgid "Find recent `development versions `_ directly on our download page, or linked in their own blog posts." +msgstr "" + +#: ../../docs/contributing/how_to_contribute.rst:57 +msgid "**Contribute Engine Code (mainly C++)** The engine development is mainly coordinated on our `Contributor RocketChat `_, so if you are serious about making PRs you should join us there!" +msgstr "" + +#: ../../docs/contributing/how_to_contribute.rst:61 +msgid "Read more about the **technical submission process**: :ref:`doc_first_steps`" +msgstr "" + +#: ../../docs/contributing/how_to_contribute.rst:63 +msgid "For each subject area of the engine, there is a corresponding team to coordinate the work. Join the linked chat to get more eyes on your related PR, learn about open todos, or partake in meetings. For some areas, specialists might even be encouraged to step up as maintainer! `List of teams `_" +msgstr "" + +#: ../../docs/contributing/how_to_contribute.rst:68 +msgid "**Review Code Contributions** All pull requests need to be thoroughly reviewed before they can be merged into the master branch. Help us get a headstart by participating in the code review process." +msgstr "" + +#: ../../docs/contributing/how_to_contribute.rst:72 +msgid "To get started, chose any `open pull request `_ and reference our **style guide**: :ref:`doc_pr_review_guidelines`" +msgstr "" + +#: ../../docs/contributing/how_to_contribute.rst:74 +msgid "**Write Plugins (GDScript, C#, & more)** Community addons are not directly included in the core engine download or repository, yet they provide essential quality of life upgrades for your fellow game developers. Upload your plugins to the `Godot Asset Library `_ to make them available to others. .. update to talk about Asset Store later" +msgstr "" + +#: ../../docs/contributing/how_to_contribute.rst:79 +msgid "**Demo projects (GDScript, C#, and making Assets)** We provide new users with `demo projects `_ so they can quickly test new features or get familiar with the engine in the first place. At industry events, we might even exhibit these demo projects to showcase what Godot can do! Help improve existing projects or supply your own to be added to the pool, and join the `demo channel `_ in the Contributor RocketChat to talk about it." +msgstr "" + +#: ../../docs/contributing/how_to_contribute.rst:84 +msgid "**Documentation** The documentation is one of the most essential parts of any tech project, yet the need to document new features and substantial changes often gets overlooked. Join the `documentation team `_ to improve the Godot Engine with your technical writing skills." +msgstr "" + +#: ../../docs/contributing/how_to_contribute.rst:88 +msgid "**Translations (spoken languages other than English)** Are you interested in making the Godot Engine more accessible to non-English speakers? Contribute to our `community-translations `_." +msgstr "" + +#: ../../docs/contributing/how_to_contribute.rst:93 +msgid "Community support" +msgstr "" + +#: ../../docs/contributing/how_to_contribute.rst:95 +msgid "**Call for Moderators** With a community of our size, we need people to step up as volunteer moderators in all kinds of places. These teams are organized by the Godot Foundation, but would not function without the dedication of active community members like you." +msgstr "" + +#: ../../docs/contributing/how_to_contribute.rst:99 +msgid "Have a look around your favorite community platform and you might come across open application calls." +msgstr "" + +#: ../../docs/contributing/how_to_contribute.rst:101 +msgid "**Answer tech-support questions** With many new people discovering the Godot Engine recently, the need for peer-to-peer tech-support has never been greater. Be it on the `Forum `_, our `subreddit `_, or on `Discord `_, you can always brighten someone's day by helping them get their personal projects back on track." +msgstr "" + +#: ../../docs/contributing/how_to_contribute.rst:105 +msgid "**Create tutorials & more** How did you get started with the Godot Engine? Chances are you looked for learning materials outside of what the documentation provides. Without content creators covering the game development process, there would not be this big of a community today. Therefore it seemed only right to mention them in a page about important contributions to the project." +msgstr "" + +#: ../../docs/:0 +msgid "Translation status" +msgstr "" diff --git a/sphinx/templates/contributing/workflow/bisecting_regressions.pot b/sphinx/templates/contributing/workflow/bisecting_regressions.pot index 03ec060242..bbe3637a28 100644 --- a/sphinx/templates/contributing/workflow/bisecting_regressions.pot +++ b/sphinx/templates/contributing/workflow/bisecting_regressions.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/contributing/workflow/bug_triage_guidelines.pot b/sphinx/templates/contributing/workflow/bug_triage_guidelines.pot index 661793c3d3..d8b1da5c9f 100644 --- a/sphinx/templates/contributing/workflow/bug_triage_guidelines.pot +++ b/sphinx/templates/contributing/workflow/bug_triage_guidelines.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/contributing/ways_to_contribute.pot b/sphinx/templates/contributing/workflow/first_steps.pot similarity index 59% rename from sphinx/templates/contributing/ways_to_contribute.pot rename to sphinx/templates/contributing/workflow/first_steps.pot index 0c224c19fb..e35480e4cd 100644 --- a/sphinx/templates/contributing/ways_to_contribute.pot +++ b/sphinx/templates/contributing/workflow/first_steps.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -16,151 +16,123 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: ../../docs/contributing/ways_to_contribute.rst:4 -msgid "Ways to contribute" -msgstr "" - -#: ../../docs/contributing/ways_to_contribute.rst:6 -msgid "Godot Engine is a non-profit, community-driven free and open source project. Almost all (but our lead dev Juan, more on that below) developers are working *pro bono* on their free time, out of personal interest and for the love of creating a libre engine of exceptional quality." -msgstr "" - -#: ../../docs/contributing/ways_to_contribute.rst:11 -msgid "This means that to thrive, Godot needs as many users as possible to get involved by contributing to the engine. There are many ways to contribute to such a big project, making it possible for everybody to bring something positive to the engine, regardless of their skill set:" -msgstr "" - -#: ../../docs/contributing/ways_to_contribute.rst:16 -msgid "**Be part of the community.** The best way to contribute to Godot and help it become ever better is simply to use the engine and promote it by word-of-mouth, in the credits or splash screen of your games, blog posts, tutorials, videos, demos, gamedev or free software events, support on the Q&A, forums, Contributors Chat, Discord, etc. Participate! Being a user and advocate helps spread the word about our great engine, which has no marketing budget and can therefore only rely on its community to become more mainstream." -msgstr "" - -#: ../../docs/contributing/ways_to_contribute.rst:25 -msgid "**Make games.** It's no secret that, to convince new users and especially the industry at large that Godot is a relevant market player, we need great games made with Godot. We know that the engine has a lot of potential, both for 2D and 3D games, but given its young age we still lack big releases that will draw attention to Godot. So keep working on your awesome projects, each new game increases our credibility on the gamedev market!" -msgstr "" - -#: ../../docs/contributing/ways_to_contribute.rst:32 -msgid "**Get involved in the engine's development.** This can be by contributing code via pull requests, testing the development snapshots or directly the git *master* branch, report bugs or suggest enhancements on the issue tracker, improve the official documentation (both the class reference and tutorials) and its translations. The following sections will cover each of those \"direct\" ways of contributing to the engine." -msgstr "" - -#: ../../docs/contributing/ways_to_contribute.rst:40 -msgid "**Donate.** Godot is a non-profit project, but it can still benefit from user donations for many things. Apart from usual expenses such as hosting costs or promotional material on events, we also use donation money to acquire hardware when necessary (e.g. we used donation money to buy a MacBook Pro to implement Retina/HiDPI support and various other macOS-related features). Most importantly, we also used donation money to hire core developers so they can work full-time on the engine. Even with a low monthly wage, we need a steady donation income to continue doing this, which has been very beneficial to the project so far. So if you want to donate some money to the project, check `our website `_ for details." -msgstr "" - -#: ../../docs/contributing/ways_to_contribute.rst:54 +#: ../../docs/contributing/workflow/first_steps.rst:4 msgid "Contributing code" msgstr "" -#: ../../docs/contributing/ways_to_contribute.rst:56 +#: ../../docs/contributing/workflow/first_steps.rst:6 msgid "The possibility to study, use, modify and redistribute modifications of the engine's source code are the fundamental rights that Godot's `MIT `_ license grants you, making it `free and open source software `_." msgstr "" -#: ../../docs/contributing/ways_to_contribute.rst:61 +#: ../../docs/contributing/workflow/first_steps.rst:11 msgid "As such, everyone is entitled to modify `Godot's source code `_, and send those modifications back to the upstream project in the form of a patch (a text file describing the changes in a ready-to-apply manner) or - in the modern workflow that we use - via a so-called \"pull request\" (PR), i.e. a proposal to directly merge one or more Git commits (patches) into the main development branch." msgstr "" -#: ../../docs/contributing/ways_to_contribute.rst:68 +#: ../../docs/contributing/workflow/first_steps.rst:18 msgid "Contributing code changes upstream has two big advantages:" msgstr "" -#: ../../docs/contributing/ways_to_contribute.rst:70 +#: ../../docs/contributing/workflow/first_steps.rst:20 msgid "Your own code will be reviewed and improved by other developers, and will be further maintained directly in the upstream project, so you won't have to reapply your own changes every time you move to a newer version. On the other hand it comes with a responsibility, as your changes have to be generic enough to be beneficial to all users, and not just your project; so in some cases it might still be relevant to keep your changes only for your own project, if they are too specific." msgstr "" -#: ../../docs/contributing/ways_to_contribute.rst:78 +#: ../../docs/contributing/workflow/first_steps.rst:28 msgid "The whole community will benefit from your work, and other contributors will behave the same way, contributing code that will be beneficial to you. At the time of this writing, over 2,000 developers have contributed code changes to the engine!" msgstr "" -#: ../../docs/contributing/ways_to_contribute.rst:83 +#: ../../docs/contributing/workflow/first_steps.rst:33 msgid "To ensure good collaboration and overall quality, the Godot developers enforce some rules for code contributions, for example regarding the style to use in the C++ code (indentation, brackets, etc.) or the Git and PR workflow." msgstr "" -#: ../../docs/contributing/ways_to_contribute.rst:87 +#: ../../docs/contributing/workflow/first_steps.rst:37 msgid "A good place to start is by searching for issues tagged as `good first issue `_ on GitHub." msgstr "" -#: ../../docs/contributing/ways_to_contribute.rst:91 +#: ../../docs/contributing/workflow/first_steps.rst:41 msgid "Technical details about the PR workflow are outlined in a specific section, :ref:`doc_pr_workflow`." msgstr "" -#: ../../docs/contributing/ways_to_contribute.rst:94 +#: ../../docs/contributing/workflow/first_steps.rst:44 msgid "Details about the code style guidelines and the ``clang-format`` tool used to enforce them are outlined in :ref:`doc_code_style_guidelines`." msgstr "" -#: ../../docs/contributing/ways_to_contribute.rst:98 +#: ../../docs/contributing/workflow/first_steps.rst:48 msgid "All pull requests must go through a review process before being accepted. Depending on the scope of the changes, it may take some time for a maintainer responsible for the modified part of the engine to provide their review. We value all of our contributors and ask them to be patient in the meantime, as it is expected that in an open source project like Godot, there is going to be way more contributions than people validating them." msgstr "" -#: ../../docs/contributing/ways_to_contribute.rst:105 +#: ../../docs/contributing/workflow/first_steps.rst:55 msgid "To make sure that your time and efforts aren't wasted, it is recommended to vet the idea first before implementing it and putting it for a review as a PR. To that end, Godot has a `proposal system `_. Its usage is encouraged to plan changes and discuss them with the community. Implementation details can also be discussed with other contributors on the `Godot Contributors Chat `_." msgstr "" -#: ../../docs/contributing/ways_to_contribute.rst:111 +#: ../../docs/contributing/workflow/first_steps.rst:61 msgid "Proposals are only required when working on an enhancement or a new feature. Bug reports are sufficient for fixing issues." msgstr "" -#: ../../docs/contributing/ways_to_contribute.rst:115 +#: ../../docs/contributing/workflow/first_steps.rst:65 msgid "Testing and reporting issues" msgstr "" -#: ../../docs/contributing/ways_to_contribute.rst:117 +#: ../../docs/contributing/workflow/first_steps.rst:67 msgid "Another great way of contributing to the engine is to test development releases or the development branch and to report issues. It is also helpful to report issues discovered in stable releases, so that they can be fixed in the development branch and in future maintenance releases." msgstr "" -#: ../../docs/contributing/ways_to_contribute.rst:123 +#: ../../docs/contributing/workflow/first_steps.rst:73 msgid "Testing development versions" msgstr "" -#: ../../docs/contributing/ways_to_contribute.rst:125 +#: ../../docs/contributing/workflow/first_steps.rst:75 msgid "To help with the testing, you have several possibilities:" msgstr "" -#: ../../docs/contributing/ways_to_contribute.rst:127 +#: ../../docs/contributing/workflow/first_steps.rst:77 msgid "Compile the engine from source yourself, following the instructions of the :ref:`Compiling ` page for your platform." msgstr "" -#: ../../docs/contributing/ways_to_contribute.rst:130 +#: ../../docs/contributing/workflow/first_steps.rst:80 msgid "Test official pre-release binaries when they are announced (usually on the blog and other community platforms), such as alpha, beta and release candidate (RC) builds." msgstr "" -#: ../../docs/contributing/ways_to_contribute.rst:133 +#: ../../docs/contributing/workflow/first_steps.rst:83 msgid "Test \"trusted\" unofficial builds of the development branch; just ask community members for reliable providers. Whenever possible, it's best to use official binaries or to compile yourself though, to be sure about the provenance of your binaries." msgstr "" -#: ../../docs/contributing/ways_to_contribute.rst:138 +#: ../../docs/contributing/workflow/first_steps.rst:88 msgid "As mentioned previously, it is also helpful to keep your eyes peeled for potential bugs that might still be present in the stable releases, especially when using some niche features of the engine which might get less testing by the developers." msgstr "" -#: ../../docs/contributing/ways_to_contribute.rst:144 +#: ../../docs/contributing/workflow/first_steps.rst:94 msgid "Filing an issue on GitHub" msgstr "" -#: ../../docs/contributing/ways_to_contribute.rst:146 +#: ../../docs/contributing/workflow/first_steps.rst:96 msgid "Godot uses `GitHub's issue tracker `_ for bug reports. When you start filing a bug report, you’ll be given a form to fill out. Please try to follow it so that all issues are consistent and provide the required information." msgstr "" -#: ../../docs/contributing/ways_to_contribute.rst:152 +#: ../../docs/contributing/workflow/first_steps.rst:102 msgid "Contributing to the documentation" msgstr "" -#: ../../docs/contributing/ways_to_contribute.rst:154 +#: ../../docs/contributing/workflow/first_steps.rst:104 msgid "There are two separate resources referred to as \"documentation\" in Godot:" msgstr "" -#: ../../docs/contributing/ways_to_contribute.rst:156 +#: ../../docs/contributing/workflow/first_steps.rst:106 msgid "**The class reference.** This is the documentation for the complete Godot API as exposed to GDScript and the other scripting languages. It can be consulted offline, directly in Godot's code editor, or online at Godot :ref:`Class Reference `. To contribute to the class reference, you have to edit the XML file corresponding to the class and make a pull request. See :ref:`doc_updating_the_class_reference` and :ref:`doc_class_reference_primer` for more details." msgstr "" -#: ../../docs/contributing/ways_to_contribute.rst:164 +#: ../../docs/contributing/workflow/first_steps.rst:114 msgid "**The tutorials and engine documentation and its translations.** This is the part you are reading now, which is distributed in the HTML format. Its contents are generated from plain text files in the reStructured Text (rst) format, to which you can contribute via pull requests on the `godot-docs `_ GitHub repository. See :ref:`doc_contributing_to_the_documentation` for more details." msgstr "" -#: ../../docs/contributing/ways_to_contribute.rst:172 +#: ../../docs/contributing/workflow/first_steps.rst:122 msgid "Contributing translations" msgstr "" -#: ../../docs/contributing/ways_to_contribute.rst:174 +#: ../../docs/contributing/workflow/first_steps.rst:124 msgid "To make Godot accessible to everyone, including users who may prefer resources in their native language instead of English, our community helps translate both the Godot editor and its documentation in many languages." msgstr "" -#: ../../docs/contributing/ways_to_contribute.rst:178 +#: ../../docs/contributing/workflow/first_steps.rst:128 msgid "See :ref:`doc_editor_and_docs_localization` for more details." msgstr "" diff --git a/sphinx/templates/contributing/workflow/index.pot b/sphinx/templates/contributing/workflow/index.pot index e3ad9d370f..f368f5e5a3 100644 --- a/sphinx/templates/contributing/workflow/index.pot +++ b/sphinx/templates/contributing/workflow/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/contributing/workflow/pr_review_guidelines.pot b/sphinx/templates/contributing/workflow/pr_review_guidelines.pot index 382d9d084d..139636711c 100644 --- a/sphinx/templates/contributing/workflow/pr_review_guidelines.pot +++ b/sphinx/templates/contributing/workflow/pr_review_guidelines.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/contributing/workflow/pr_workflow.pot b/sphinx/templates/contributing/workflow/pr_workflow.pot index 09aa2c8f0d..f077ec3d63 100644 --- a/sphinx/templates/contributing/workflow/pr_workflow.pot +++ b/sphinx/templates/contributing/workflow/pr_workflow.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/contributing/workflow/testing_pull_requests.pot b/sphinx/templates/contributing/workflow/testing_pull_requests.pot index 28fe185171..617353e4be 100644 --- a/sphinx/templates/contributing/workflow/testing_pull_requests.pot +++ b/sphinx/templates/contributing/workflow/testing_pull_requests.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/first_2d_game/01.project_setup.pot b/sphinx/templates/getting_started/first_2d_game/01.project_setup.pot index 7ea89a262a..6c247f5f0f 100644 --- a/sphinx/templates/getting_started/first_2d_game/01.project_setup.pot +++ b/sphinx/templates/getting_started/first_2d_game/01.project_setup.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/first_2d_game/02.player_scene.pot b/sphinx/templates/getting_started/first_2d_game/02.player_scene.pot index 0de7144c54..741605a93d 100644 --- a/sphinx/templates/getting_started/first_2d_game/02.player_scene.pot +++ b/sphinx/templates/getting_started/first_2d_game/02.player_scene.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/first_2d_game/03.coding_the_player.pot b/sphinx/templates/getting_started/first_2d_game/03.coding_the_player.pot index cc9f339f02..eaa4c9c43a 100644 --- a/sphinx/templates/getting_started/first_2d_game/03.coding_the_player.pot +++ b/sphinx/templates/getting_started/first_2d_game/03.coding_the_player.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/first_2d_game/04.creating_the_enemy.pot b/sphinx/templates/getting_started/first_2d_game/04.creating_the_enemy.pot index 329dc3b476..5a2807055a 100644 --- a/sphinx/templates/getting_started/first_2d_game/04.creating_the_enemy.pot +++ b/sphinx/templates/getting_started/first_2d_game/04.creating_the_enemy.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/first_2d_game/05.the_main_game_scene.pot b/sphinx/templates/getting_started/first_2d_game/05.the_main_game_scene.pot index 40f4e09ccd..5338de2197 100644 --- a/sphinx/templates/getting_started/first_2d_game/05.the_main_game_scene.pot +++ b/sphinx/templates/getting_started/first_2d_game/05.the_main_game_scene.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/first_2d_game/06.heads_up_display.pot b/sphinx/templates/getting_started/first_2d_game/06.heads_up_display.pot index 467add5e05..fc2dbb46c1 100644 --- a/sphinx/templates/getting_started/first_2d_game/06.heads_up_display.pot +++ b/sphinx/templates/getting_started/first_2d_game/06.heads_up_display.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/first_2d_game/07.finishing-up.pot b/sphinx/templates/getting_started/first_2d_game/07.finishing-up.pot index 67395f85b3..6f1bbeb19c 100644 --- a/sphinx/templates/getting_started/first_2d_game/07.finishing-up.pot +++ b/sphinx/templates/getting_started/first_2d_game/07.finishing-up.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/first_2d_game/index.pot b/sphinx/templates/getting_started/first_2d_game/index.pot index c9c7de4a39..bd392ca222 100644 --- a/sphinx/templates/getting_started/first_2d_game/index.pot +++ b/sphinx/templates/getting_started/first_2d_game/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" 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 25d8b83d53..44a58958d0 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 @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -53,11 +53,11 @@ msgid "Setting up the playable area" msgstr "" #: ../../docs/getting_started/first_3d_game/01.game_setup.rst:41 -msgid "We're going to create our main scene with a plain :ref:`Node ` as its root. In the *Scene* dock, click the *Add Child Node* button represented by a \"+\" icon in the top-left and double-click on *Node*. Name the node ``Main``. An alternate method to rename the node is to right-click on *Node* and choose *Rename* (or :kbd:`F2`). Alternatively, to add a node to the scene, you can press :kbd:`Ctrl + a` (or :kbd:`Cmd + a` on macOS)." +msgid "We're going to create our main scene with a plain :ref:`Node ` as its root. In the *Scene* dock, click the *Add Child Node* button represented by a \"+\" icon in the top-left and double-click on *Node*. Name the node ``Main``. An alternate method to rename the node is to right-click on *Node* and choose *Rename* (or :kbd:`F2`). Alternatively, to add a node to the scene, you can press :kbd:`Ctrl + A` (:kbd:`Cmd + A` on macOS)." msgstr "" #: ../../docs/getting_started/first_3d_game/01.game_setup.rst:48 -msgid "Save the scene as ``main.tscn`` by pressing :kbd:`Ctrl + s` (:kbd:`Cmd + s` on macOS)." +msgid "Save the scene as ``main.tscn`` by pressing :kbd:`Ctrl + S` (:kbd:`Cmd + S` on macOS)." msgstr "" #: ../../docs/getting_started/first_3d_game/01.game_setup.rst:50 @@ -81,7 +81,7 @@ msgid "The box shape is perfect for flat ground and walls. Its thickness makes i msgstr "" #: ../../docs/getting_started/first_3d_game/01.game_setup.rst:74 -msgid "A box's wireframe appears in the viewport with three orange dots. You can click and drag these to edit the shape's extents interactively. We can also precisely set the size in the inspector. Click on the :ref:`BoxShape3D ` to expand the resource. Set its *Size* to ``60`` on the X axis, ``2`` for the Y axis, and ``60`` for the Z axis." +msgid "A box's wireframe appears in the viewport with three orange dots. You can click and drag these to edit the shape's extents interactively. We can also precisely set the size in the inspector. Click on the :ref:`BoxShape3D ` to expand the resource. Set its *Size* to ``60`` on the X-axis, ``2`` for the Y-axis, and ``60`` for the Z-axis." msgstr "" #: ../../docs/getting_started/first_3d_game/01.game_setup.rst:83 @@ -101,42 +101,46 @@ msgid "You should see a wide grey slab that covers the grid and blue and red axe msgstr "" #: ../../docs/getting_started/first_3d_game/01.game_setup.rst:101 -msgid "We're going to move the ground down so we can see the floor grid. Select the ``Ground`` node, hold the :kbd:`Ctrl` key down to turn on grid snapping, and click and drag down on the Y axis. It's the green arrow in the move gizmo." +msgid "We're going to move the ground down so we can see the floor grid. To do this, the grid snapping feature can be used. Grid snapping can be activated 2 ways in the 3D editor. The first is by pressing the *Use Snap* button (or pressing the :kbd:`Y` key). The second is by selecting a node, dragging a handle on the gizmo **then** holding :kbd:`Ctrl` while still clicking to enable snapping as long as :kbd:`Ctrl` is held." msgstr "" -#: ../../docs/getting_started/first_3d_game/01.game_setup.rst:109 -msgid "If you can't see the 3D object manipulator like on the image above, ensure the *Select Mode* is active in the toolbar above the view." +#: ../../docs/getting_started/first_3d_game/01.game_setup.rst:108 +msgid "Start by setting snapping with your preferred method. Then move the ``Ground`` node using the Y-axis (the green arrow on the gizmo)." msgstr "" #: ../../docs/getting_started/first_3d_game/01.game_setup.rst:114 +msgid "If you can't see the 3D object manipulator like on the image above, ensure the *Select Mode* is active in the toolbar above the view." +msgstr "" + +#: ../../docs/getting_started/first_3d_game/01.game_setup.rst:119 msgid "Move the ground down ``1`` meter, in order to have a visible editor grid. A label in the bottom-left corner of the viewport tells you how much you're translating the node." msgstr "" -#: ../../docs/getting_started/first_3d_game/01.game_setup.rst:121 +#: ../../docs/getting_started/first_3d_game/01.game_setup.rst:126 msgid "Moving the *Ground* node down moves both children along with it. Ensure you move the *Ground* node, **not** the *MeshInstance3D* or the *CollisionShape3D*." msgstr "" -#: ../../docs/getting_started/first_3d_game/01.game_setup.rst:125 +#: ../../docs/getting_started/first_3d_game/01.game_setup.rst:130 msgid "Ultimately, ``Ground``'s transform.position.y should be -1" msgstr "" -#: ../../docs/getting_started/first_3d_game/01.game_setup.rst:129 +#: ../../docs/getting_started/first_3d_game/01.game_setup.rst:134 msgid "Let's add a directional light so our scene isn't all grey. Select the ``Main`` node and add a child node :ref:`DirectionalLight3D `." msgstr "" -#: ../../docs/getting_started/first_3d_game/01.game_setup.rst:134 -msgid "We need to move and rotate the :ref:`DirectionalLight3D ` node. Move it up by clicking and dragging on the manipulator's green arrow and click and drag on the red arc to rotate it around the X axis, until the ground is lit." +#: ../../docs/getting_started/first_3d_game/01.game_setup.rst:139 +msgid "We need to move and rotate the :ref:`DirectionalLight3D ` node. Move it up by clicking and dragging on the manipulator's green arrow and click and drag on the red arc to rotate it around the X-axis, until the ground is lit." msgstr "" -#: ../../docs/getting_started/first_3d_game/01.game_setup.rst:139 +#: ../../docs/getting_started/first_3d_game/01.game_setup.rst:144 msgid "In the *Inspector*, turn on *Shadow -> Enabled* by clicking the checkbox." msgstr "" -#: ../../docs/getting_started/first_3d_game/01.game_setup.rst:143 +#: ../../docs/getting_started/first_3d_game/01.game_setup.rst:148 msgid "At this point, your project should look like this." msgstr "" -#: ../../docs/getting_started/first_3d_game/01.game_setup.rst:147 +#: ../../docs/getting_started/first_3d_game/01.game_setup.rst:152 msgid "That's our starting point. In the next part, we will work on the player scene and base movement." msgstr "" diff --git a/sphinx/templates/getting_started/first_3d_game/02.player_input.pot b/sphinx/templates/getting_started/first_3d_game/02.player_input.pot index 1340657dcf..631d38d9cb 100644 --- a/sphinx/templates/getting_started/first_3d_game/02.player_input.pot +++ b/sphinx/templates/getting_started/first_3d_game/02.player_input.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/first_3d_game/03.player_movement_code.pot b/sphinx/templates/getting_started/first_3d_game/03.player_movement_code.pot index 54534836c8..1c52f0e566 100644 --- a/sphinx/templates/getting_started/first_3d_game/03.player_movement_code.pot +++ b/sphinx/templates/getting_started/first_3d_game/03.player_movement_code.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -118,7 +118,7 @@ msgid "And that's all the code you need to move the character on the floor." msgstr "" #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:249 -msgid "Here is the complete ``Player.gd`` code for reference." +msgid "Here is the complete ``player.gd`` code for reference." msgstr "" #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:351 diff --git a/sphinx/templates/getting_started/first_3d_game/04.mob_scene.pot b/sphinx/templates/getting_started/first_3d_game/04.mob_scene.pot index a9456ff2be..273862d17b 100644 --- a/sphinx/templates/getting_started/first_3d_game/04.mob_scene.pot +++ b/sphinx/templates/getting_started/first_3d_game/04.mob_scene.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -243,7 +243,7 @@ msgid "Our monster is ready to enter the game! In the next part, you will spawn msgstr "" #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:255 -msgid "Here is the complete ``Mob.gd`` script for reference." +msgid "Here is the complete ``mob.gd`` script for reference." msgstr "" #: ../../docs/:0 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 e119bd43aa..8e4dccdc7d 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 @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" 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 7705a2f683..b139c74cc5 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 @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -314,7 +314,7 @@ msgid "We are calling one undefined function, ``mob.squash()``, so we have to ad msgstr "" #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:321 -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." +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:357 diff --git a/sphinx/templates/getting_started/first_3d_game/07.killing_player.pot b/sphinx/templates/getting_started/first_3d_game/07.killing_player.pot index bac7be25a0..1d6326cc91 100644 --- a/sphinx/templates/getting_started/first_3d_game/07.killing_player.pot +++ b/sphinx/templates/getting_started/first_3d_game/07.killing_player.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -171,11 +171,11 @@ msgid "Starting with ``main.gd``." msgstr "" #: ../../docs/getting_started/first_3d_game/07.killing_player.rst:216 -msgid "Next is ``Mob.gd``." +msgid "Next is ``mob.gd``." msgstr "" #: ../../docs/getting_started/first_3d_game/07.killing_player.rst:311 -msgid "Finally, the longest script, ``Player.gd``:" +msgid "Finally, the longest script, ``player.gd``:" msgstr "" #: ../../docs/getting_started/first_3d_game/07.killing_player.rst:510 diff --git a/sphinx/templates/getting_started/first_3d_game/08.score_and_replay.pot b/sphinx/templates/getting_started/first_3d_game/08.score_and_replay.pot index 32b2642676..f71c9f5a30 100644 --- a/sphinx/templates/getting_started/first_3d_game/08.score_and_replay.pot +++ b/sphinx/templates/getting_started/first_3d_game/08.score_and_replay.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -193,7 +193,7 @@ msgid "This line means that when the mob emits the ``squashed`` signal, the ``Sc msgstr "" #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:134 -msgid "Head back to the ``ScoreLabel.gd`` script to define the ``_on_mob_squashed()`` callback function." +msgid "Head back to the ``score_label.gd`` script to define the ``_on_mob_squashed()`` callback function." msgstr "" #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:137 @@ -394,7 +394,7 @@ msgid "image17" msgstr "" #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:324 -msgid "Save the scene as ``MusicPlayer.tscn``." +msgid "Save the scene as ``music_player.tscn``." msgstr "" #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:326 @@ -402,7 +402,7 @@ msgid "We have to register it as an autoload. Head to the *Project -> Project Se msgstr "" #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:329 -msgid "In the *Path* field, you want to enter the path to your scene. Click the folder icon to open the file browser and double-click on ``MusicPlayer.tscn``. Then, click the *Add* button on the right to register the node." +msgid "In the *Path* field, you want to enter the path to your scene. Click the folder icon to open the file browser and double-click on ``music_player.tscn``. Then, click the *Add* button on the right to register the node." msgstr "" #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:333 @@ -415,7 +415,7 @@ msgid "image18" msgstr "" #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:335 -msgid "``MusicPlayer.tscn`` now loads into any scene you open or play. So if you run the game now, the music will play automatically in any scene." +msgid "``music_player.tscn`` now loads into any scene you open or play. So if you run the game now, the music will play automatically in any scene." msgstr "" #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:338 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 2e18dd5a4b..3190d12483 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 @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -493,7 +493,7 @@ msgid "**Congratulations**!" msgstr "" #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:300 -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." +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 diff --git a/sphinx/templates/getting_started/first_3d_game/going_further.pot b/sphinx/templates/getting_started/first_3d_game/going_further.pot index 2bc55ddc3b..d560e5d089 100644 --- a/sphinx/templates/getting_started/first_3d_game/going_further.pot +++ b/sphinx/templates/getting_started/first_3d_game/going_further.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/first_3d_game/index.pot b/sphinx/templates/getting_started/first_3d_game/index.pot index d1d8f59f5a..0fd331efab 100644 --- a/sphinx/templates/getting_started/first_3d_game/index.pot +++ b/sphinx/templates/getting_started/first_3d_game/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/introduction/first_look_at_the_editor.pot b/sphinx/templates/getting_started/introduction/first_look_at_the_editor.pot index 1c134ceb82..88a1828463 100644 --- a/sphinx/templates/getting_started/introduction/first_look_at_the_editor.pot +++ b/sphinx/templates/getting_started/introduction/first_look_at_the_editor.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -162,14 +162,14 @@ msgid "Clicking on the Help menu and Search Help." msgstr "" #: ../../docs/getting_started/introduction/first_look_at_the_editor.rst:150 -msgid "Clicking while pressing the :kbd:`Ctrl` key on a class name, function name, or built-in variable in the script editor." +msgid ":kbd:`Ctrl + Click` (:kbd:`Cmd + Click` on macOS) on a class name, function name, or built-in variable in the script editor." msgstr "" -#: ../../docs/getting_started/introduction/first_look_at_the_editor.rst:156 +#: ../../docs/getting_started/introduction/first_look_at_the_editor.rst:155 msgid "When you do any of these, a window pops up. Type to search for any item. You can also use it to browse available objects and methods." msgstr "" -#: ../../docs/getting_started/introduction/first_look_at_the_editor.rst:161 +#: ../../docs/getting_started/introduction/first_look_at_the_editor.rst:160 msgid "Double-click on an item to open the corresponding page in the script main screen." msgstr "" diff --git a/sphinx/templates/getting_started/introduction/godot_design_philosophy.pot b/sphinx/templates/getting_started/introduction/godot_design_philosophy.pot index 25ffde8091..0bf6c378b6 100644 --- a/sphinx/templates/getting_started/introduction/godot_design_philosophy.pot +++ b/sphinx/templates/getting_started/introduction/godot_design_philosophy.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/introduction/index.pot b/sphinx/templates/getting_started/introduction/index.pot index 7fe56c657f..6dd1432cd1 100644 --- a/sphinx/templates/getting_started/introduction/index.pot +++ b/sphinx/templates/getting_started/introduction/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/introduction/introduction_to_godot.pot b/sphinx/templates/getting_started/introduction/introduction_to_godot.pot index e85b14f027..9d6e531059 100644 --- a/sphinx/templates/getting_started/introduction/introduction_to_godot.pot +++ b/sphinx/templates/getting_started/introduction/introduction_to_godot.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/introduction/key_concepts_overview.pot b/sphinx/templates/getting_started/introduction/key_concepts_overview.pot index c93f55b075..efc4e69ce0 100644 --- a/sphinx/templates/getting_started/introduction/key_concepts_overview.pot +++ b/sphinx/templates/getting_started/introduction/key_concepts_overview.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/introduction/learn_to_code_with_gdscript.pot b/sphinx/templates/getting_started/introduction/learn_to_code_with_gdscript.pot index 1991712c12..97404e70f4 100644 --- a/sphinx/templates/getting_started/introduction/learn_to_code_with_gdscript.pot +++ b/sphinx/templates/getting_started/introduction/learn_to_code_with_gdscript.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/introduction/learning_new_features.pot b/sphinx/templates/getting_started/introduction/learning_new_features.pot index 3edb065ebb..57b0c0c2a0 100644 --- a/sphinx/templates/getting_started/introduction/learning_new_features.pot +++ b/sphinx/templates/getting_started/introduction/learning_new_features.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -65,7 +65,7 @@ msgid "If the manual or class reference is missing or has insufficient informati msgstr "" #: ../../docs/getting_started/introduction/learning_new_features.rst:59 -msgid "You can Ctrl-click (Cmd-click on MacOS) any underlined text like the name of a class, property, method, signal, or constant to jump to it." +msgid "You can hold :kbd:`Ctrl` (macOS :kbd:`Cmd`) and then mouseover text like the name of a class, property, method, signal, or constant to underline it, then :kbd:`Ctrl + Click` (macOS :kbd:`Cmd + Click`) it to jump to it." msgstr "" #: ../../docs/getting_started/introduction/learning_new_features.rst:63 @@ -117,34 +117,34 @@ msgid "**Share a screenshot** of your *Scene* dock along with your written code. msgstr "" #: ../../docs/getting_started/introduction/learning_new_features.rst:121 -msgid "Also, please don't take a picture with your phone, the low quality and screen reflections can make it hard to understand the image. Your operating system should have a built-in tool to take screenshots with the :kbd:`PrtSc` (Print Screen) key." +msgid "Also, please don't take a picture with your phone, the low quality and screen reflections can make it hard to understand the image. Your operating system should have a built-in tool to take screenshots with the :kbd:`PrtSc` (Print Screen) key (macOS: use :kbd:`Cmd + Shift + 3` for a full screen shot, `more information here `_)." msgstr "" -#: ../../docs/getting_started/introduction/learning_new_features.rst:126 -msgid "Alternatively, you can use a program like `ShareX `_ on Windows or `FlameShot `_ on Linux." +#: ../../docs/getting_started/introduction/learning_new_features.rst:127 +msgid "Alternatively, you can use a program like `ShareX `_ on Windows, or `FlameShot `_ on Linux." msgstr "" -#: ../../docs/getting_started/introduction/learning_new_features.rst:129 +#: ../../docs/getting_started/introduction/learning_new_features.rst:130 msgid "Sharing a video of your running game can also be really **useful to troubleshoot your game**. You can use programs like `OBS Studio `_ and `Screen to GIF `_ to capture your screen." msgstr "" -#: ../../docs/getting_started/introduction/learning_new_features.rst:134 +#: ../../docs/getting_started/introduction/learning_new_features.rst:135 msgid "You can then use a service like `streamable `_ or a cloud provider to upload and share your videos for free." msgstr "" -#: ../../docs/getting_started/introduction/learning_new_features.rst:137 +#: ../../docs/getting_started/introduction/learning_new_features.rst:138 msgid "If you're not using the stable version of Godot, please mention the version you're using. The answer can be different as available features and the interface evolve rapidly." msgstr "" -#: ../../docs/getting_started/introduction/learning_new_features.rst:141 +#: ../../docs/getting_started/introduction/learning_new_features.rst:142 msgid "Following these guidelines will maximize your chances of getting the answer you're looking for. They will save time both for you and the persons helping you." msgstr "" -#: ../../docs/getting_started/introduction/learning_new_features.rst:145 +#: ../../docs/getting_started/introduction/learning_new_features.rst:146 msgid "Community tutorials" msgstr "" -#: ../../docs/getting_started/introduction/learning_new_features.rst:147 +#: ../../docs/getting_started/introduction/learning_new_features.rst:148 msgid "This manual aims to provide a comprehensive reference of Godot's features. Aside from the 2D and 3D getting started series, it does not contain tutorials to implement specific game genres. If you're looking for a tutorial about creating a role-playing game, a platformer, or other, please see :ref:`doc_community_tutorials`, which lists content made by the Godot community." msgstr "" diff --git a/sphinx/templates/getting_started/step_by_step/index.pot b/sphinx/templates/getting_started/step_by_step/index.pot index 62fb766b49..08ddcb0890 100644 --- a/sphinx/templates/getting_started/step_by_step/index.pot +++ b/sphinx/templates/getting_started/step_by_step/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/step_by_step/instancing.pot b/sphinx/templates/getting_started/step_by_step/instancing.pot index a735264b07..d56dd5256f 100644 --- a/sphinx/templates/getting_started/step_by_step/instancing.pot +++ b/sphinx/templates/getting_started/step_by_step/instancing.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" 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 e3b7a22e66..1b67b3ba77 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 @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" 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 99c770beaa..c18d3b558c 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 @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -88,147 +88,147 @@ msgstr "" msgid "The 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:109 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:110 msgid "Every GDScript file is implicitly a class. The ``extends`` keyword defines the class this script inherits or extends. In this case, it's ``Sprite2D``, meaning our script will get access to all the properties and functions of the Sprite2D node, including classes it extends, like ``Node2D``, ``CanvasItem``, and ``Node``." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:115 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:116 msgid "In GDScript, if you omit the line with the ``extends`` keyword, your class will implicitly extend :ref:`RefCounted `, which Godot uses to manage your application's memory." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:119 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:120 msgid "Inherited properties include the ones you can see in the Inspector dock, like our node's ``texture``." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:124 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:125 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." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:128 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:129 msgid "You can hover over any property's name in the Inspector to see a description and its identifier in code." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:132 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:133 msgid "Hello, world!" msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:134 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:135 msgid "Our script currently doesn't do anything. Let's make it print the text \"Hello, world!\" to the Output bottom panel to get started." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:137 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:138 msgid "Add the following code to your script:" msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:153 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:154 msgid "Let's break it down. The ``func`` keyword defines a new function named ``_init``. This is a special name for our class's constructor. The engine calls ``_init()`` on every object or node upon creating it in memory, if you define this function." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:158 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:159 msgid "GDScript is an indent-based language. The tab at the start of the line that says ``print()`` is necessary for the code to work. If you omit it or don't indent a line correctly, the editor will highlight it in red and display the following error message: \"Indented block expected\"." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:163 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:164 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!\"." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:169 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:170 msgid "Delete the ``_init()`` function, so you're only left with the line ``extends Sprite2D``." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:173 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:174 msgid "Turning around" msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:175 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:176 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:190 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:191 msgid "Member variables sit near the top of the script, after any \"extends\" lines, but before functions. Every node instance with this script attached to it will have its own copy of the ``speed`` and ``angular_speed`` properties." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:195 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:196 msgid "Angles in Godot work in radians by default, but you have built-in functions and properties available if you prefer to calculate angles in degrees instead." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:199 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:200 msgid "To move our icon, we need to update its position and rotation every frame in the game loop. We can use the ``_process()`` virtual function of the ``Node`` class. If you define it in any class that extends the Node class, like Sprite2D, Godot will call the function every frame and pass it an argument named ``delta``, the time elapsed since the last frame." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:207 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:208 msgid "Games work by rendering many images per second, each called a frame, and they do so in a loop. We measure the rate at which a game produces images in Frames Per Second (FPS). Most games aim for 60 FPS, although you might find figures like 30 FPS on slower mobile devices or 90 to 240 for virtual reality games." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:213 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:214 msgid "The engine and game developers do their best to update the game world and render images at a constant time interval, but there are always small variations in frame render times. That's why the engine provides us with this delta time value, making our motion independent of our framerate." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:218 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:219 msgid "At the bottom of the script, define the function:" msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:233 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:234 msgid "The ``func`` keyword defines a new function. After it, we have to write the function's name and arguments it takes in parentheses. A colon ends the definition, and the indented blocks that follow are the function's content or instructions." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:238 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:239 msgid "Notice how ``_process()``, like ``_init()``, starts with a leading underscore. By convention, Godot's virtual functions, that is to say, built-in functions you can override to communicate with the engine, start with an underscore." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:243 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:244 msgid "The line inside the function, ``rotation += angular_speed * delta``, increments our sprite's rotation every frame. Here, ``rotation`` is a property inherited from the class ``Node2D``, which ``Sprite2D`` extends. It controls the rotation of our node and works with radians." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:248 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:249 msgid "In the code editor, you can Ctrl-click (Cmd-click on MacOS) on any built-in property or function like ``position``, ``rotation``, or ``_process`` to open the corresponding documentation in a new tab." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:252 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:253 msgid "Run the scene to see the Godot icon turn in-place." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:256 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:257 msgid "In C#, notice how the ``delta`` argument taken by ``_Process()`` is a ``double``. We therefore need to convert it to ``float`` when we apply it to the rotation." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:261 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:262 msgid "Moving forward" msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:263 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:264 msgid "Let's now make the node move. Add the following two lines inside of the ``_process()`` function, ensuring the new lines are indented the same way as the ``rotation += angular_speed * delta`` line before them." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:280 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:281 msgid "As we already saw, the ``var`` keyword defines a new variable. If you put it at the top of the script, it defines a property of the class. Inside a function, it defines a local variable: it only exists within the function's scope." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:284 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:285 msgid "We define a local variable named ``velocity``, a 2D vector representing both a direction and a speed. To make the node move forward, we start from the Vector2 class's constant ``Vector2.UP``, a vector pointing up, and rotate it by calling the Vector2 method ``rotated()``. This expression, ``Vector2.UP.rotated(rotation)``, is a vector pointing forward relative to our icon. Multiplied by our ``speed`` property, it gives us a velocity we can use to move the node forward." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:291 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:292 msgid "We add ``velocity * delta`` to the node's ``position`` to move it. The position itself is of type :ref:`Vector2 `, a built-in type in Godot representing a 2D vector." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:295 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:296 msgid "Run the scene to see the Godot head run in circles." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:299 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:300 msgid "Moving a node like that does not take into account colliding with walls or the floor. In :ref:`doc_your_first_2d_game`, you will learn another approach to moving objects while detecting collisions." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:303 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:304 msgid "Our node currently moves by itself. In the next part, :ref:`doc_scripting_player_input`, we'll use player input to control it." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:307 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:308 msgid "Complete script" msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:309 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:310 msgid "Here is the complete ``sprite_2d.gd`` file for reference." msgstr "" diff --git a/sphinx/templates/getting_started/step_by_step/scripting_languages.pot b/sphinx/templates/getting_started/step_by_step/scripting_languages.pot index 6f70b3a646..08a94d1fdb 100644 --- a/sphinx/templates/getting_started/step_by_step/scripting_languages.pot +++ b/sphinx/templates/getting_started/step_by_step/scripting_languages.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" 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 fd32177cf2..d4767f6d5b 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 @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/step_by_step/signals.pot b/sphinx/templates/getting_started/step_by_step/signals.pot index 2f7a47f8f6..c9d00e6236 100644 --- a/sphinx/templates/getting_started/step_by_step/signals.pot +++ b/sphinx/templates/getting_started/step_by_step/signals.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -37,282 +37,286 @@ msgid "For example, you might have a life bar on the screen that represents the msgstr "" #: ../../docs/getting_started/step_by_step/signals.rst:28 -msgid "As mentioned in the introduction, signals are Godot's version of the observer pattern. You can learn more about it here: https://gameprogrammingpatterns.com/observer.html" +msgid "Like methods (:ref:`class_callable`), signals are a first-class type since Godot 4.0. This means you can pass them around as method arguments directly without having to pass them as strings, which allows for better autocompletion and is less error-prone. See the :ref:`class_signal` class reference for a list of what you can do with the Signal type directly." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:32 +#: ../../docs/getting_started/step_by_step/signals.rst:36 +msgid "As mentioned in the introduction, signals are Godot's version of the observer pattern. You can learn more about it in `Game Programming Patterns `__." +msgstr "" + +#: ../../docs/getting_started/step_by_step/signals.rst:40 msgid "We will now use a signal to make our Godot icon from the previous lesson (:ref:`doc_scripting_player_input`) move and stop by pressing a button." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:35 +#: ../../docs/getting_started/step_by_step/signals.rst:43 msgid "For this project, we will be following the Godot naming conventions." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:37 +#: ../../docs/getting_started/step_by_step/signals.rst:45 msgid "**GDScript**: Classes (nodes) use PascalCase, variables and functions use snake_case, and constants use ALL_CAPS (See :ref:`doc_gdscript_styleguide`)." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:41 +#: ../../docs/getting_started/step_by_step/signals.rst:49 msgid "**C#**: Classes, export variables and methods use PascalCase, private fields use _camelCase, local variables and parameters use camelCase (See :ref:`doc_c_sharp_styleguide`). Be careful to type the method names precisely when connecting signals." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:49 +#: ../../docs/getting_started/step_by_step/signals.rst:55 msgid "Scene setup" msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:51 +#: ../../docs/getting_started/step_by_step/signals.rst:57 msgid "To add a button to our game, we will create a new scene which will include both a :ref:`Button ` and the ``sprite_2d.tscn`` scene we created in the :ref:`doc_scripting_first_script` lesson." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:55 +#: ../../docs/getting_started/step_by_step/signals.rst:61 msgid "Create a new scene by going to the menu Scene -> New Scene." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:59 +#: ../../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." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:64 +#: ../../docs/getting_started/step_by_step/signals.rst:70 msgid "In the FileSystem dock, click and drag the ``sprite_2d.tscn`` file you saved previously onto the Node2D to instantiate it." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:69 +#: ../../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." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:74 +#: ../../docs/getting_started/step_by_step/signals.rst:80 msgid "Search for the :ref:`Button ` node and add it." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:78 +#: ../../docs/getting_started/step_by_step/signals.rst:84 msgid "The node is small by default. Click and drag on the bottom-right handle of the Button in the viewport to resize it." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:83 +#: ../../docs/getting_started/step_by_step/signals.rst:89 msgid "If you don't see the handles, ensure the select tool is active in the toolbar." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:87 +#: ../../docs/getting_started/step_by_step/signals.rst:93 msgid "Click and drag on the button itself to move it closer to the sprite." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:89 +#: ../../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``." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:94 +#: ../../docs/getting_started/step_by_step/signals.rst:100 msgid "Your scene tree and viewport should look like this." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:98 +#: ../../docs/getting_started/step_by_step/signals.rst:104 msgid "Save your newly created scene as ``node_2d.tscn``, if you haven't already. You can then run it with :kbd:`F6` (:kbd:`Cmd + R` on macOS). At the moment, the button will be visible, but nothing will happen if you press it." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:104 +#: ../../docs/getting_started/step_by_step/signals.rst:110 msgid "Connecting a signal in the editor" msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:106 +#: ../../docs/getting_started/step_by_step/signals.rst:112 msgid "Here, we want to connect the Button's \"pressed\" signal to our Sprite2D, and we want to call a new function that will toggle its motion on and off. We need to have a script attached to the Sprite2D node, which we do from the previous lesson." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:111 +#: ../../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." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:116 +#: ../../docs/getting_started/step_by_step/signals.rst:122 msgid "The dock displays a list of signals available on the selected node." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:120 +#: ../../docs/getting_started/step_by_step/signals.rst:126 msgid "Double-click the \"pressed\" signal to open the node connection window." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:124 +#: ../../docs/getting_started/step_by_step/signals.rst:130 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:131 +#: ../../docs/getting_started/step_by_step/signals.rst:137 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:137 +#: ../../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." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:144 +#: ../../docs/getting_started/step_by_step/signals.rst:150 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 to connect the signal via code as explained in the next section." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:148 +#: ../../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." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:154 +#: ../../docs/getting_started/step_by_step/signals.rst:160 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:159 +#: ../../docs/getting_started/step_by_step/signals.rst:165 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:162 +#: ../../docs/getting_started/step_by_step/signals.rst:168 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:182 +#: ../../docs/getting_started/step_by_step/signals.rst:188 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:185 +#: ../../docs/getting_started/step_by_step/signals.rst:191 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:206 +#: ../../docs/getting_started/step_by_step/signals.rst:212 msgid "Your complete ``sprite_2d.gd`` code should look like the following." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:249 +#: ../../docs/getting_started/step_by_step/signals.rst:255 msgid "Run the scene now and click the button to see the sprite start and stop." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:252 +#: ../../docs/getting_started/step_by_step/signals.rst:258 msgid "Connecting a signal via code" msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:254 +#: ../../docs/getting_started/step_by_step/signals.rst:260 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:257 +#: ../../docs/getting_started/step_by_step/signals.rst:263 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:260 +#: ../../docs/getting_started/step_by_step/signals.rst:266 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:263 +#: ../../docs/getting_started/step_by_step/signals.rst:269 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:269 +#: ../../docs/getting_started/step_by_step/signals.rst:275 msgid "With the Timer node selected, go to the Inspector and enable the **Autostart** property." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:274 +#: ../../docs/getting_started/step_by_step/signals.rst:280 msgid "Click the script icon next to Sprite2D to jump back to the scripting workspace." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:278 +#: ../../docs/getting_started/step_by_step/signals.rst:284 msgid "We need to do two operations to connect the nodes via code:" msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:280 +#: ../../docs/getting_started/step_by_step/signals.rst:286 msgid "Get a reference to the Timer from the Sprite2D." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:281 +#: ../../docs/getting_started/step_by_step/signals.rst:287 msgid "Call the ``connect()`` method on the Timer's \"timeout\" signal." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:283 +#: ../../docs/getting_started/step_by_step/signals.rst:289 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:287 +#: ../../docs/getting_started/step_by_step/signals.rst:293 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:291 +#: ../../docs/getting_started/step_by_step/signals.rst:297 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:308 +#: ../../docs/getting_started/step_by_step/signals.rst:314 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:314 +#: ../../docs/getting_started/step_by_step/signals.rst:320 msgid "We can now connect the Timer to the Sprite2D in the ``_ready()`` function." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:331 +#: ../../docs/getting_started/step_by_step/signals.rst:337 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:336 +#: ../../docs/getting_started/step_by_step/signals.rst:342 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:353 +#: ../../docs/getting_started/step_by_step/signals.rst:359 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:357 +#: ../../docs/getting_started/step_by_step/signals.rst:363 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:361 +#: ../../docs/getting_started/step_by_step/signals.rst:367 msgid "Complete script" msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:363 +#: ../../docs/getting_started/step_by_step/signals.rst:369 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:428 +#: ../../docs/getting_started/step_by_step/signals.rst:434 msgid "Custom signals" msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:430 +#: ../../docs/getting_started/step_by_step/signals.rst:436 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:433 +#: ../../docs/getting_started/step_by_step/signals.rst:439 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:459 +#: ../../docs/getting_started/step_by_step/signals.rst:465 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:462 +#: ../../docs/getting_started/step_by_step/signals.rst:468 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." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:467 +#: ../../docs/getting_started/step_by_step/signals.rst:473 msgid "To emit a signal in your scripts, call ``emit()`` on the signal." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:489 +#: ../../docs/getting_started/step_by_step/signals.rst:495 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:515 +#: ../../docs/getting_started/step_by_step/signals.rst:521 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:520 +#: ../../docs/getting_started/step_by_step/signals.rst:526 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:541 +#: ../../docs/getting_started/step_by_step/signals.rst:547 msgid "Summary" msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:543 +#: ../../docs/getting_started/step_by_step/signals.rst:549 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:547 +#: ../../docs/getting_started/step_by_step/signals.rst:553 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:551 +#: ../../docs/getting_started/step_by_step/signals.rst:557 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:555 +#: ../../docs/getting_started/step_by_step/signals.rst:561 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/index.pot b/sphinx/templates/index.pot index 685e0b1421..e260a17026 100644 --- a/sphinx/templates/index.pot +++ b/sphinx/templates/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/sphinx.pot b/sphinx/templates/sphinx.pot index 3b84a7b6b0..9213b08586 100644 --- a/sphinx/templates/sphinx.pot +++ b/sphinx/templates/sphinx.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/2d/2d_antialiasing.pot b/sphinx/templates/tutorials/2d/2d_antialiasing.pot index efc5a696c0..e101727aa9 100644 --- a/sphinx/templates/tutorials/2d/2d_antialiasing.pot +++ b/sphinx/templates/tutorials/2d/2d_antialiasing.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/2d/2d_lights_and_shadows.pot b/sphinx/templates/tutorials/2d/2d_lights_and_shadows.pot index 152e641895..6de018707e 100644 --- a/sphinx/templates/tutorials/2d/2d_lights_and_shadows.pot +++ b/sphinx/templates/tutorials/2d/2d_lights_and_shadows.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/2d/2d_meshes.pot b/sphinx/templates/tutorials/2d/2d_meshes.pot index 795d0522b8..aa0102fa8d 100644 --- a/sphinx/templates/tutorials/2d/2d_meshes.pot +++ b/sphinx/templates/tutorials/2d/2d_meshes.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/2d/2d_movement.pot b/sphinx/templates/tutorials/2d/2d_movement.pot index 9c7ad1171b..05c1ba4a29 100644 --- a/sphinx/templates/tutorials/2d/2d_movement.pot +++ b/sphinx/templates/tutorials/2d/2d_movement.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/2d/2d_parallax.pot b/sphinx/templates/tutorials/2d/2d_parallax.pot new file mode 100644 index 0000000000..3d93d707f6 --- /dev/null +++ b/sphinx/templates/tutorials/2d/2d_parallax.pot @@ -0,0 +1,265 @@ +# 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" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\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/2d/2d_parallax.rst:4 +msgid "2D Parallax" +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:7 +msgid "Introduction" +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:9 +msgid "Parallax is an effect used to simulate depth by having textures move at different speeds relative to the camera. Godot provides the :ref:`Parallax2D` node to achieve this effect. It can still be easy to get tripped up though, so this page provides in-depth descriptions of some properties and how to fix some common mistakes." +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:14 +msgid "This page only covers how to use :ref:`Parallax2D`. This node is still experimental, so the implementation might change in future versions of Godot. However, it is still recommended to use over the :ref:`ParallaxLayer` and :ref:`ParallaxBackground` nodes." +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:19 +msgid "Scroll scale" +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:21 +msgid "The backbone of the parallax effect is the :ref:`scroll_scale ` property. It works as a scroll-speed multiplier, allowing layers to move at a different speed than the camera for each axis set. A value of 1 makes the parallax node scroll at the same speed as the camera. If you want your image to look further away when scrolling, use a value lower than 1, with 0 bringing it to a complete stop. If you want something to appear closer to the camera, use a value higher than 1, making it scroll faster." +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:29 +msgid "The scene above is comprised of five layers. Some good :ref:`scroll_scale ` values might be:" +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:32 +msgid "``(0.7, 1)`` - Forest" +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:33 +msgid "``(0.5, 1)`` - Hills" +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:34 +msgid "``(0.3, 1)`` - Lower Clouds" +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:35 +msgid "``(0.2, 1)`` - Higher Clouds" +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:36 +msgid "``(0.1, 1)`` - Sky" +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:38 +msgid "The video below displays how these values affect scrolling while in-game:" +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:47 +msgid "Infinite repeat" +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:49 +msgid ":ref:`Parallax2D` provides a bonus effect that gives textures the illusion of repeating infinitely. :ref:`repeat_size` tells the node to snap its position forward or back when the camera scrolls by the set value. This effect is achieved by adding a single repeat to all the child canvas items offset by the value. While the camera scrolls between the image and its repeat, it invisibly snaps back giving the appearance of a looping image." +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:57 +msgid "Being a delicate effect, it's easy for unfamiliar users to make mistakes with their setup. Let's go over the \"how\" and \"why\" of a few common problems users encounter." +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:61 +msgid "Poor sizing" +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:63 +msgid "The infinite repeat effect is easiest to work with when you have an image designed to repeat seamlessly and is the same size or larger than your viewport **before** setting the :ref:`repeat_size`. If you aren't able to obtain assets that are designed for this task, there are some other things you can do to better prepare your image in regards to size." +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:68 +msgid "Here is an example of a texture that is too small for its viewport:" +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:72 +msgid "We can see that the viewport size is 500x300 but the texture is 288x208. If we set the :ref:`repeat_size` to the size of our image, the infinite repeat effect doesn't scroll properly because the original texture doesn't cover the viewport. If we set the :ref:`repeat_size` to the size of the viewport, we have a large gap. What can we do?" +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:79 +msgid "Make the viewport smaller" +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:81 +msgid "The simplest answer is to make the viewport the same size or smaller than your textures. Click on ``Project -> Project Settings -> Window`` and change the viewport height and width to match your background." +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:87 +msgid "Scale the Parallax2D" +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:89 +msgid "If you're not aiming for a pixel-perfect style, or don't mind a little blurriness, you may opt to scale the textures larger to fit your screen. Set the :ref:`scale` of the :ref:`Parallax2D`, and all child textures scale with it." +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:94 +msgid "Scale the child nodes" +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:96 +msgid "Similar to scaling the :ref:`Parallax2D`, you can scale your :ref:`Sprite2D` nodes to be large enough to cover the screen. Keep in mind that some settings like :ref:`Parallax2D.repeat_size` and :ref:`Sprite2D.region_rect` do not take scaling into account, so it's necessary to adjust these values based on the scale." +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:105 +msgid "Repeat the textures" +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:107 +msgid "You can also start off on the right foot by preparing child nodes earlier in the process. If you have a :ref:`Sprite2D` you'd like to repeat, but is too small, you can do the following to repeat it:" +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:110 +msgid "set :ref:`texture_repeat` to :ref:`CanvasItem.TEXTURE_REPEAT_ENABLED`" +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:111 +msgid "set :ref:`region_enabled` to ``true``" +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:112 +msgid "set the :ref:`region_rect` to a multiple of the size of your texture large enough to cover the viewport." +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:114 +msgid "Below, you can see that repeating the image twice makes it large enough to cover the screen." +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:119 +msgid "Poor positioning" +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:121 +msgid "It's common to see users mistakenly set all of their textures to be centered at ``(0,0)``:" +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:125 +msgid "This creates problems with the infinite repeat effect and should be avoided. The \"infinite repeat canvas\" starts at ``(0,0)`` and expands down and to the right to the size of the :ref:`repeat_size` value." +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:131 +msgid "If the textures are centered on the ``(0,0)`` crossing, the infinite repeat canvas is only partly covered, so it only partly repeats." +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:135 +msgid "Would increasing ``repeat_times`` fix this?" +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:137 +msgid "Increasing :ref:`repeat_times` technically *would* work in some scenarios, but is a brute force solution and not the problem it is designed to solve (we'll go over this in a bit). A better fix is to understand how the repeat effect works and set up the parallax textures appropriately to begin with." +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:141 +msgid "First, check to see if any textures are spilling over onto the negative parts of the canvas. Make sure the textures used in the parallax nodes fit inside the \"infinite repeat canvas\" starting at ``(0,0)``. That way, if :ref:`Parallax2D.repeat_size` is set correctly, it should look something like this, with one single loop of the image the same size or larger than the viewport:" +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:148 +msgid "If you think of how the image scrolls across the screen, it starts by displaying what's inside the red rectangle (determined by :ref:`repeat_size`), and when it reaches what's inside the yellow rectangle it zips the image forward to give the illusion of scrolling forever." +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:154 +msgid "If you have the image positioned away from the \"infinite repeat canvas\", when the camera reaches the yellow rectangle, half of the image is cut off before it jumps forward like in the image below:" +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:160 +msgid "Scroll offset" +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:162 +msgid "If your parallax textures are already working correctly, but you prefer it to start at a different point, :ref:`Parallax2D` comes with a :ref:`scroll_offset` property used to offset where the infinite repeat canvas starts. As an example, if your image is 288x208, setting the :ref:`scroll_offset` to ``(-144,0)`` or ``(144,0)`` allows it to begin halfway across the image." +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:169 +msgid "Repeat times" +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:171 +msgid "Ideally, following this guide, your parallax textures are large enough to cover the screen even when zoomed out. Until now, we have had a perfectly fitting 288x208 texture inside of a 288x208 viewport. However, problems occur when we zoom out by setting the :ref:`Camera2D.zoom` to ``(0.5, 0.5)``:" +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:177 +msgid "Even though everything is correctly set for the viewport at the default zoom level, zooming out makes it smaller than the viewport, breaking the infinite repeat effect. This is where :ref:`repeat_times` can help out. Setting a value of ``3`` (one extra repeat behind and in front), it is now large enough to accommodate the infinite repeat effect." +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:184 +msgid "If these textures were meant to be repeated vertically, we would have specified a ``y`` value for the :ref:`repeat_size`. The :ref:`repeat_times` would automatically add a repeat above and below as well. This is only a horizontal parallax, so it leaves an empty block above and below the image. How do we solve this? We need to get creative! In this example, we stretch the sky higher, and grass sprite lower. The textures now support the normal zoom level and zooming out to half size." +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:194 +msgid "Split screen" +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:196 +msgid "Most tutorials for making a split screen game in Godot begin by writing a small script to assign the :ref:`Viewport.world_2d` of the first SubViewport to the second, so they have a shared display. Questions often pop up about how to share a parallax effect between both screens." +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:200 +msgid "The parallax effect fakes a perspective by moving the positions of different textures in relation to the camera. This is understandably problematic if you have multiple cameras, because your textures can't be in two places at once!" +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:203 +msgid "This is still achievable by cloning the parallax nodes into the second (or third or fourth) :ref:`SubViewport`. Here's how it looks for a two player game:" +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:208 +msgid "Of course, now both backgrounds show in both SubViewports. What we want is for some nodes to be visible in one viewport but not another. While technically possible, this is not a feature officially supported by Godot at the moment. There is currently a proposal to make this much simpler, so please stay tuned." +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:212 +msgid "As a workaround, you can do the following:" +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:214 +msgid "Set the first SubViewport's :ref:`canvas_cull_mask` to only layer 1, so it displays all nodes with a :ref:`visibility_layer` of layer 1." +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:215 +msgid "Set the second SubViewport's :ref:`canvas_cull_mask` to only layer 2, so it displays all nodes with a :ref:`visibility_layer` of layer 2." +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:216 +msgid "Set the :ref:`visibility_layer` of every node you want to display in both viewports to both layers 1 and 2." +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:217 +msgid "Set the :ref:`visibility_layer` of the :ref:`Parallax2D` node and all its descendants in the first :ref:`SubViewport` to layer 1." +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:218 +msgid "Set the :ref:`visibility_layer` of the :ref:`Parallax2D` node and all its descendants in the second :ref:`SubViewport` to layer 2." +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:221 +msgid "Previewing in the editor" +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:223 +msgid "Prior to 4.3, the recommendation was to place every layer in their own :ref:`ParallaxBackground`, enable the :ref:`follow_viewport_enabled` property, and scale the individual layer. This method has always been tricky to get right, but is still achievable by using a :ref:`CanvasLayer` instead of a :ref:`ParallaxBackground`." +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:230 +msgid "Another recommendation is `KoBeWi's \"Parallax2D Preview\" addon `_. It provides a few different preview modes and is very handy!" +msgstr "" + +#: ../../docs/:0 +msgid "Translation status" +msgstr "" diff --git a/sphinx/templates/tutorials/2d/2d_sprite_animation.pot b/sphinx/templates/tutorials/2d/2d_sprite_animation.pot index 849cc9a295..f8434aa3ec 100644 --- a/sphinx/templates/tutorials/2d/2d_sprite_animation.pot +++ b/sphinx/templates/tutorials/2d/2d_sprite_animation.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/2d/2d_transforms.pot b/sphinx/templates/tutorials/2d/2d_transforms.pot index 062034938d..fcac5601bd 100644 --- a/sphinx/templates/tutorials/2d/2d_transforms.pot +++ b/sphinx/templates/tutorials/2d/2d_transforms.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/2d/canvas_layers.pot b/sphinx/templates/tutorials/2d/canvas_layers.pot index 84246ad0f2..388e737bdd 100644 --- a/sphinx/templates/tutorials/2d/canvas_layers.pot +++ b/sphinx/templates/tutorials/2d/canvas_layers.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/2d/custom_drawing_in_2d.pot b/sphinx/templates/tutorials/2d/custom_drawing_in_2d.pot index 230a595cdb..4c9872b2bd 100644 --- a/sphinx/templates/tutorials/2d/custom_drawing_in_2d.pot +++ b/sphinx/templates/tutorials/2d/custom_drawing_in_2d.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/2d/index.pot b/sphinx/templates/tutorials/2d/index.pot index 8c88fe6e37..ca3c25b5b4 100644 --- a/sphinx/templates/tutorials/2d/index.pot +++ b/sphinx/templates/tutorials/2d/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -24,11 +24,11 @@ msgstr "" msgid "Rendering" msgstr "" -#: ../../docs/tutorials/2d/index.rst:28 +#: ../../docs/tutorials/2d/index.rst:29 msgid "Physics and movement" msgstr "" -#: ../../docs/tutorials/2d/index.rst:37 +#: ../../docs/tutorials/2d/index.rst:38 msgid "Tools" msgstr "" diff --git a/sphinx/templates/tutorials/2d/particle_systems_2d.pot b/sphinx/templates/tutorials/2d/particle_systems_2d.pot index 26bc0c83a5..480c1d0a95 100644 --- a/sphinx/templates/tutorials/2d/particle_systems_2d.pot +++ b/sphinx/templates/tutorials/2d/particle_systems_2d.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/2d/using_tilemaps.pot b/sphinx/templates/tutorials/2d/using_tilemaps.pot index 1d7eff51c0..5b14fa5407 100644 --- a/sphinx/templates/tutorials/2d/using_tilemaps.pot +++ b/sphinx/templates/tutorials/2d/using_tilemaps.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/2d/using_tilesets.pot b/sphinx/templates/tutorials/2d/using_tilesets.pot index f057ecd062..420d29aeb7 100644 --- a/sphinx/templates/tutorials/2d/using_tilesets.pot +++ b/sphinx/templates/tutorials/2d/using_tilesets.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -83,575 +83,557 @@ msgid "If relying on automatic tiles creation (like we're about to do here), you msgstr "" #: ../../docs/tutorials/2d/using_tilesets.rst:76 -msgid "Open the **TileSet** panel at the bottom of the editor, then click the \"+\" icon in the bottom-left corner to add a new atlas:" +msgid "Open the **TileSet** panel at the bottom of the editor, then click and drag the tilesheet image onto the panel. You will be asked whether to create tiles automatically. Answer **Yes**:" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:83 -#: ../../docs/tutorials/2d/using_tilesets.rst:83 -msgid "Creating a new atlas in a TileSet resource using the bottom panel" -msgstr "" - -#: ../../docs/tutorials/2d/using_tilesets.rst:85 -msgid "After creating an atlas, you must assign a tilesheet texture to it. This can be done by choosing it on the left column of the bottom panel, then clicking the value of the **Texture** property and choosing **Quick Load** (or **Load**). Specify the path to the image file using the file dialog that appears." -msgstr "" - -#: ../../docs/tutorials/2d/using_tilesets.rst:94 -#: ../../docs/tutorials/2d/using_tilesets.rst:94 -msgid "Loading a tilesheet image in the newly created TileSet atlas" -msgstr "" - -#: ../../docs/tutorials/2d/using_tilesets.rst:96 -msgid "After specifying a valid image, you will be asked whether to create tiles automatically. Answer **Yes**:" -msgstr "" - -#: ../../docs/tutorials/2d/using_tilesets.rst:103 -#: ../../docs/tutorials/2d/using_tilesets.rst:103 +#: ../../docs/tutorials/2d/using_tilesets.rst:84 +#: ../../docs/tutorials/2d/using_tilesets.rst:84 msgid "Automatically creating tiles based on tilesheet image content" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:105 +#: ../../docs/tutorials/2d/using_tilesets.rst:86 msgid "This will automatically create tiles according to the tile size you specified earlier in the TileSet resource. This greatly speeds up initial tile setup." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:110 +#: ../../docs/tutorials/2d/using_tilesets.rst:91 msgid "When using automatic tile generation based on image contents, parts of the tilesheet that are *fully* transparent will not have tiles generated." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:113 +#: ../../docs/tutorials/2d/using_tilesets.rst:94 msgid "If there are tiles from the tilesheet you do not wish to be present in atlas, choose the Eraser tool at the top of the tileset preview, then click the tiles you wish to remove:" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:121 -#: ../../docs/tutorials/2d/using_tilesets.rst:121 +#: ../../docs/tutorials/2d/using_tilesets.rst:102 +#: ../../docs/tutorials/2d/using_tilesets.rst:102 msgid "Using the Eraser tool to remove unwanted tiles from the TileSet atlas" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:123 +#: ../../docs/tutorials/2d/using_tilesets.rst:104 msgid "You can also right-click a tile and choose **Delete**, as an alternative to the Eraser tool." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:128 +#: ../../docs/tutorials/2d/using_tilesets.rst:109 msgid "Like in the 2D and TileMap editors, you can pan across the TileSet panel using the middle or right mouse buttons, and zoom using the mouse wheel or buttons in the top-left corner." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:132 +#: ../../docs/tutorials/2d/using_tilesets.rst:113 msgid "If you wish to source tiles from several tilesheet images for a single TileSet, create additional atlases and assign textures to each of them before continuing. It is also possible to use one image per tile this way (although using tilesheets is recommended for better usability)." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:137 +#: ../../docs/tutorials/2d/using_tilesets.rst:118 msgid "You can adjust properties for the atlas in the middle column:" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:143 -#: ../../docs/tutorials/2d/using_tilesets.rst:143 +#: ../../docs/tutorials/2d/using_tilesets.rst:124 +#: ../../docs/tutorials/2d/using_tilesets.rst:124 msgid "Adjusting TileSet atlas properties in the dedicated inspector (part of the TileSet panel)" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:145 +#: ../../docs/tutorials/2d/using_tilesets.rst:126 msgid "The following properties can be adjusted on the atlas:" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:147 +#: ../../docs/tutorials/2d/using_tilesets.rst:128 msgid "**ID:** The identifier (unique within this TileSet), used for sorting." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:148 +#: ../../docs/tutorials/2d/using_tilesets.rst:129 msgid "**Name:** The human-readable name for the atlas. Use a descriptive name here for organizational purposes (such as \"terrain\", \"decoration\", etc)." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:150 +#: ../../docs/tutorials/2d/using_tilesets.rst:131 msgid "**Margins:** The margins on the image's edges that should not be selectable as tiles (in pixels). Increasing this can be useful if you download a tilesheet image that has margins on the edges (e.g. for attribution)." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:153 +#: ../../docs/tutorials/2d/using_tilesets.rst:134 msgid "**Separation:** The separation between each tile on the atlas in pixels. Increasing this can be useful if the tilesheet image you're using contains guides (such as outlines between every tile)." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:156 +#: ../../docs/tutorials/2d/using_tilesets.rst:137 msgid "**Texture Region Size:** The size of each tile on the atlas in pixels. In most cases, this should match the tile size defined in the TileMap property (although this is not strictly necessary)." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:159 +#: ../../docs/tutorials/2d/using_tilesets.rst:140 msgid "**Use Texture Padding:** If checked, adds a 1-pixel transparent edge around each tile to prevent texture bleeding when filtering is enabled. It's recommended to leave this enabled unless you're running into rendering issues due to texture padding." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:164 +#: ../../docs/tutorials/2d/using_tilesets.rst:145 msgid "Note that changing texture margin, separation and region size may cause tiles to be lost (as some of them would be located outside the atlas image's coordinates). To regenerate tiles automatically from the tilesheet, use the three vertical dots menu button at the top of the TileSet editor and choose **Create Tiles in Non-Transparent Texture Regions**:" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:174 -#: ../../docs/tutorials/2d/using_tilesets.rst:174 +#: ../../docs/tutorials/2d/using_tilesets.rst:155 +#: ../../docs/tutorials/2d/using_tilesets.rst:155 msgid "Recreating tiles automatically after changing atlas properties" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:177 +#: ../../docs/tutorials/2d/using_tilesets.rst:158 msgid "Using a collection of scenes" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:179 +#: ../../docs/tutorials/2d/using_tilesets.rst:160 msgid "Since Godot 4.0, you can place actual *scenes* as tiles. This allows you to use any collection of nodes as a tile. For example, you could use scene tiles to place gameplay elements, such as shops the player may be able to interact with. You could also use scene tiles to place AudioStreamPlayer2Ds (for ambient sounds), particle effects, and more." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:187 +#: ../../docs/tutorials/2d/using_tilesets.rst:168 msgid "Scene tiles come with a greater performance overhead compared to atlases, as every scene is instanced individually for every placed tile." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:190 +#: ../../docs/tutorials/2d/using_tilesets.rst:171 msgid "It's recommended to use only scene tiles when necessary. To draw sprites in a tile without any kind of advanced manipulation, :ref:`use atlases instead `." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:194 +#: ../../docs/tutorials/2d/using_tilesets.rst:175 msgid "For this example, we'll create a scene containing a CPUParticles2D root node. Save this scene to a scene file (separate from the scene containing the TileMap), then switch to the scene containing the TileMap node. Open the TileSet editor, and create a new **Scenes Collection** in the left column:" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:203 -#: ../../docs/tutorials/2d/using_tilesets.rst:203 +#: ../../docs/tutorials/2d/using_tilesets.rst:184 +#: ../../docs/tutorials/2d/using_tilesets.rst:184 msgid "Creating a scenes collection in the TileSet editor" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:205 +#: ../../docs/tutorials/2d/using_tilesets.rst:186 msgid "After creating a scenes collection, you can enter a descriptive name for the scenes collection in the middle column if you wish. Select this scenes collection then create a new scene slot:" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:213 -#: ../../docs/tutorials/2d/using_tilesets.rst:213 +#: ../../docs/tutorials/2d/using_tilesets.rst:194 +#: ../../docs/tutorials/2d/using_tilesets.rst:194 msgid "Creating a scene tile after selecting the scenes collection in the TileSet editor" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:215 +#: ../../docs/tutorials/2d/using_tilesets.rst:196 msgid "Select this scene slot in the right column, then use **Quick Load** (or **Load**) to load the scene file containing the particles:" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:222 -#: ../../docs/tutorials/2d/using_tilesets.rst:222 +#: ../../docs/tutorials/2d/using_tilesets.rst:203 +#: ../../docs/tutorials/2d/using_tilesets.rst:203 msgid "Creating a scene slot, then loading a scene file into it in the TileSet editor" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:224 +#: ../../docs/tutorials/2d/using_tilesets.rst:205 msgid "You now have a scene tile in your TileSet. Once you switch to the TileMap editor, you'll be able to select it from the scenes collection and paint it like any other tile." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:229 +#: ../../docs/tutorials/2d/using_tilesets.rst:210 msgid "Merging several atlases into a single atlas" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:231 +#: ../../docs/tutorials/2d/using_tilesets.rst:212 msgid "Using multiple atlases within a single TileSet resource can sometimes be useful, but it can also be cumbersome in certain situations (especially if you're using one image per tile). Godot allows you to merge several atlases into a single atlas for easier organization." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:236 +#: ../../docs/tutorials/2d/using_tilesets.rst:217 msgid "To do so, you must have more than one atlas created in the TileSet resource. Use the \"three vertical dots\" menu button located at the bottom of the list of atlases, then choose **Open Atlas Merging Tool**:" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:244 -#: ../../docs/tutorials/2d/using_tilesets.rst:244 +#: ../../docs/tutorials/2d/using_tilesets.rst:225 +#: ../../docs/tutorials/2d/using_tilesets.rst:225 msgid "Opening the atlas merging tool after creating multiple atlases" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:246 +#: ../../docs/tutorials/2d/using_tilesets.rst:227 msgid "This will open a dialog, in which you can select several atlases by holding :kbd:`Shift` or :kbd:`Ctrl` then clicking on multiple elements:" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:253 -#: ../../docs/tutorials/2d/using_tilesets.rst:253 +#: ../../docs/tutorials/2d/using_tilesets.rst:234 +#: ../../docs/tutorials/2d/using_tilesets.rst:234 msgid "Using the atlas merging tool dialog" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:255 +#: ../../docs/tutorials/2d/using_tilesets.rst:236 msgid "Choose **Merge** to merge the selected atlases into a single atlas image (which translates to a single atlas within the TileSet). The unmerged atlases will be removed within the TileSet, but *the original tilesheet images will be kept on the filesystem*. If you don't want the unmerged atlases to be removed from the TileSet resource, choose **Merge (Keep Original Atlases)** instead." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:263 +#: ../../docs/tutorials/2d/using_tilesets.rst:244 msgid "TileSet features a system of *tile proxies*. Tile proxies are a mapping table that allows notifying the TileMap using a given TileSet that a given set of tile identifiers should be replaced by another one." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:267 +#: ../../docs/tutorials/2d/using_tilesets.rst:248 msgid "Tile proxies are automatically set up when merging different atlases, but they can also be set manually thanks to the **Manage Tile Proxies** dialog you can access using the \"three vertical dots\" menu mentioned above." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:271 +#: ../../docs/tutorials/2d/using_tilesets.rst:252 msgid "Manually creating tile proxies may be useful when you changed an atlas ID or want to replace all tiles from an atlas by the ones from another atlas. Note that when editing a TileMap, you can replace all cells by their corresponding mapped value." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:277 +#: ../../docs/tutorials/2d/using_tilesets.rst:258 msgid "Adding collision, navigation and occlusion to the TileSet" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:279 +#: ../../docs/tutorials/2d/using_tilesets.rst:260 msgid "We've now successfully created a basic TileSet. We could start using in the TileMap node now, but it currently lacks any form of collision detection. This means the player and other objects could walk straight through the floor or walls." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:284 +#: ../../docs/tutorials/2d/using_tilesets.rst:265 msgid "If you use :ref:`2D navigation `, you'll also need to define navigation polygons for tiles to generate a navigation mesh that agents can use for pathfinding." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:288 +#: ../../docs/tutorials/2d/using_tilesets.rst:269 msgid "Lastly, if you use :ref:`doc_2d_lights_and_shadows` or GPUParticles2D, you may also want your TileSet to be able to cast shadows and collide with particles. This requires defining occluder polygons for \"solid\" tiles on the TileSet." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:292 +#: ../../docs/tutorials/2d/using_tilesets.rst:273 msgid "To be able to define collision, navigation and occlusion shapes for each tile, you will need to create a physics, navigation or occlusion layer for the TileSet resource first. To do so, select the TileMap node, click the TileSet property value in the inspector to edit it then unfold **Physics Layers** and choose **Add Element**:" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:302 -#: ../../docs/tutorials/2d/using_tilesets.rst:302 +#: ../../docs/tutorials/2d/using_tilesets.rst:283 +#: ../../docs/tutorials/2d/using_tilesets.rst:283 msgid "Creating a physics layer in the TileSet resource inspector (within the TileMap node)" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:304 +#: ../../docs/tutorials/2d/using_tilesets.rst:285 msgid "If you also need navigation support, now is a good time to create a navigation layer:" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:310 -#: ../../docs/tutorials/2d/using_tilesets.rst:310 +#: ../../docs/tutorials/2d/using_tilesets.rst:291 +#: ../../docs/tutorials/2d/using_tilesets.rst:291 msgid "Creating a navigation layer in the TileSet resource inspector (within the TileMap node)" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:312 +#: ../../docs/tutorials/2d/using_tilesets.rst:293 msgid "If you need support for light polygon occluders, now is a good time to create an occlusion layer:" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:318 -#: ../../docs/tutorials/2d/using_tilesets.rst:318 +#: ../../docs/tutorials/2d/using_tilesets.rst:299 +#: ../../docs/tutorials/2d/using_tilesets.rst:299 msgid "Creating an occlusion layer in the TileSet resource inspector (within the TileMap node)" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:322 +#: ../../docs/tutorials/2d/using_tilesets.rst:303 msgid "Future steps in this tutorial are tailored to creating collision polygons, but the procedure for navigation and occlusion is very similar. Their respective polygon editors behave in the same way, so these steps are not repeated for brevity." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:327 +#: ../../docs/tutorials/2d/using_tilesets.rst:308 msgid "The only caveat is that the tile's occlusion polygon property is part of a **Rendering** subsection in the atlas inspector. Make sure to unfold this section so you can edit the polygon." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:331 +#: ../../docs/tutorials/2d/using_tilesets.rst:312 msgid "After creating a physics layer, you have access to the **Physics Layer** section in the TileSet atlas inspector:" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:338 -#: ../../docs/tutorials/2d/using_tilesets.rst:338 +#: ../../docs/tutorials/2d/using_tilesets.rst:319 +#: ../../docs/tutorials/2d/using_tilesets.rst:319 msgid "Opening the collision editor while in Select mode" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:340 +#: ../../docs/tutorials/2d/using_tilesets.rst:321 msgid "You can quickly create a rectangle collision shape by pressing :kbd:`F` while the TileSet editor is focused. If the keyboard shortcut doesn't work, try clicking in the empty area around the polygon editor to focus it:" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:348 -#: ../../docs/tutorials/2d/using_tilesets.rst:348 +#: ../../docs/tutorials/2d/using_tilesets.rst:329 +#: ../../docs/tutorials/2d/using_tilesets.rst:329 msgid "Using default rectangle collision shape by pressing :kbd:`F`" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:350 +#: ../../docs/tutorials/2d/using_tilesets.rst:331 msgid "In this tile collision editor, you have access to all the 2D polygon editing tools:" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:352 +#: ../../docs/tutorials/2d/using_tilesets.rst:333 msgid "Use the toolbar above the polygon to toggle between creating a new polygon, editing an existing polygon and removing points on the polygon. The \"three vertical dots\" menu button offers additional options, such as rotating and flipping the polygon." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:355 +#: ../../docs/tutorials/2d/using_tilesets.rst:336 msgid "Create new points by clicking and dragging a line between two points." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:356 +#: ../../docs/tutorials/2d/using_tilesets.rst:337 msgid "Remove a point by right-clicking it (or using the Remove tool described above and left-clicking)." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:358 +#: ../../docs/tutorials/2d/using_tilesets.rst:339 msgid "Pan in the editor by middle-clicking or right-clicking. (Right-click panning can only be used in areas where there is no point nearby.)" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:361 +#: ../../docs/tutorials/2d/using_tilesets.rst:342 msgid "You can use the default rectangle shape to quickly create a triangle-shaped collision shape by removing one of the points:" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:368 -#: ../../docs/tutorials/2d/using_tilesets.rst:368 +#: ../../docs/tutorials/2d/using_tilesets.rst:349 +#: ../../docs/tutorials/2d/using_tilesets.rst:349 msgid "Creating a triangle collision shape by right-clicking one of the corners to remove it" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:370 +#: ../../docs/tutorials/2d/using_tilesets.rst:351 msgid "You can also use the rectangle as a base for more complex shapes by adding more points:" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:376 -#: ../../docs/tutorials/2d/using_tilesets.rst:376 +#: ../../docs/tutorials/2d/using_tilesets.rst:357 +#: ../../docs/tutorials/2d/using_tilesets.rst:357 msgid "Drawing a custom collision for a complex tile shape" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:380 +#: ../../docs/tutorials/2d/using_tilesets.rst:361 msgid "If you have a large tileset, specifying the collision for each tile individually could take a lot of time. This is especially true as TileMaps tend to have many tiles with common collision patterns (such as solid blocks or 45-degree slopes). To apply a similar collision shape to several tiles quickly, use functionality to :ref:`assign properties to multiple tiles at once `." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:388 +#: ../../docs/tutorials/2d/using_tilesets.rst:369 msgid "Assigning custom metadata to the TileSet's tiles" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:390 +#: ../../docs/tutorials/2d/using_tilesets.rst:371 msgid "You can assign custom data on a per-tile basis using *custom data layers*. This can be useful to store information specific to your game, such as the damage that a tile should deal when the player touches it, or whether a tile can be destroyed using a weapon." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:395 +#: ../../docs/tutorials/2d/using_tilesets.rst:376 msgid "The data is associated with the tile in the TileSet: all instances of the placed tile will use the same custom data. If you need to create a variant of a tile that has different custom data, this can be done by :ref:`creating an alternative tile ` and changing the custom data for the alternative tile only." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:405 -#: ../../docs/tutorials/2d/using_tilesets.rst:405 +#: ../../docs/tutorials/2d/using_tilesets.rst:386 +#: ../../docs/tutorials/2d/using_tilesets.rst:386 msgid "Creating a custom data layer in the TileSet resource inspector (within the TileMap node)" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:411 -#: ../../docs/tutorials/2d/using_tilesets.rst:411 +#: ../../docs/tutorials/2d/using_tilesets.rst:392 +#: ../../docs/tutorials/2d/using_tilesets.rst:392 msgid "Example of configured custom data layers with game-specific properties" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:413 +#: ../../docs/tutorials/2d/using_tilesets.rst:394 msgid "You can reorder custom data without breaking existing metadata: the TileSet editor will update automatically after reordering custom data properties." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:416 +#: ../../docs/tutorials/2d/using_tilesets.rst:397 msgid "Note that in the editor, property names do not appear (only their index, which matches the order in which they are defined). For example, with the custom data layers example shown above, we're assigning a tile to have the ``damage_per_second`` metadata set to ``25`` and the ``destructible`` metadata to ``false``:" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:426 -#: ../../docs/tutorials/2d/using_tilesets.rst:426 +#: ../../docs/tutorials/2d/using_tilesets.rst:407 +#: ../../docs/tutorials/2d/using_tilesets.rst:407 msgid "Editing custom data in the TileSet editor while in Select mode" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:428 +#: ../../docs/tutorials/2d/using_tilesets.rst:409 msgid ":ref:`Tile property painting ` can also be used for custom data:" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:435 -#: ../../docs/tutorials/2d/using_tilesets.rst:435 +#: ../../docs/tutorials/2d/using_tilesets.rst:416 +#: ../../docs/tutorials/2d/using_tilesets.rst:416 msgid "Assigning custom data in the TileSet editor using tile property painting" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:440 +#: ../../docs/tutorials/2d/using_tilesets.rst:421 msgid "Creating terrain sets (autotiling)" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:444 +#: ../../docs/tutorials/2d/using_tilesets.rst:425 msgid "This functionality was implemented in a different form as *autotiling* in Godot 3.x. Terrains are essentially a more powerful replacement of autotiles. Unlike autotiles, terrains can support transitions from one terrain to another, as a tile may define several terrains at once." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:449 +#: ../../docs/tutorials/2d/using_tilesets.rst:430 msgid "Unlike before, where autotiles were a specific kind of tiles, terrains are only a set of properties assigned to atlas tiles. These properties are then used by a dedicated TileMap painting mode that selects tiles featuring terrain data in a smart way. This means any terrain tile can be either painted as terrain or as a single tile, like any other." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:455 +#: ../../docs/tutorials/2d/using_tilesets.rst:436 msgid "A \"polished\" tileset generally features variations that you should use on corners or edges of platforms, floors, etc. While these can be placed manually, this quickly becomes tedious. Handling this situation with procedurally generated levels can also be difficult and require a lot of code." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:460 +#: ../../docs/tutorials/2d/using_tilesets.rst:441 msgid "Godot offers *terrains* to perform this kind of tile connections automatically. This allows you to have the \"correct\" tile variants automatically used." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:463 +#: ../../docs/tutorials/2d/using_tilesets.rst:444 msgid "Terrains are grouped into terrain sets. Each terrain set is assigned a mode from **Match Corners and Sides**, **Match Corners** and **Match sides**. They define how terrains are matched to each other in a terrain set." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:469 +#: ../../docs/tutorials/2d/using_tilesets.rst:450 msgid "The above modes correspond to the previous bitmask modes autotiles used in Godot 3.x: 2×2, 3×3 or 3×3 minimal. This is also similar to what the `Tiled `__ editor features." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:473 +#: ../../docs/tutorials/2d/using_tilesets.rst:454 msgid "Select the TileMap node, go to the inspector and create a new terrain set within the TileSet *resource*:" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:479 -#: ../../docs/tutorials/2d/using_tilesets.rst:479 +#: ../../docs/tutorials/2d/using_tilesets.rst:460 +#: ../../docs/tutorials/2d/using_tilesets.rst:460 msgid "Creating a terrain set in the TileSet resource inspector (within the TileMap node)" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:481 +#: ../../docs/tutorials/2d/using_tilesets.rst:462 msgid "After creating a terrain set, you **must** create one or more terrains *within* the terrain set:" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:487 -#: ../../docs/tutorials/2d/using_tilesets.rst:487 +#: ../../docs/tutorials/2d/using_tilesets.rst:468 +#: ../../docs/tutorials/2d/using_tilesets.rst:468 msgid "Creating a terrain within the terrain set" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:489 +#: ../../docs/tutorials/2d/using_tilesets.rst:470 msgid "In the TileSet editor, switch to Select mode and click a tile. In the middle column, unfold the **Terrains** section then assign a terrain set ID and a terrain ID for the tile. ``-1`` means \"no terrain set\" or \"no terrain\", which means you must set **Terrain Set** to ``0`` or greater before you can set **Terrain** to ``0`` or greater." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:497 +#: ../../docs/tutorials/2d/using_tilesets.rst:478 msgid "Terrain set IDs and terrain IDs are independent from each other. They also start from ``0``, not ``1``." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:504 -#: ../../docs/tutorials/2d/using_tilesets.rst:504 +#: ../../docs/tutorials/2d/using_tilesets.rst:485 +#: ../../docs/tutorials/2d/using_tilesets.rst:485 msgid "Configuring terrain on a single tile in the TileSet editor's Select mode" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:506 +#: ../../docs/tutorials/2d/using_tilesets.rst:487 msgid "After doing so, you can now configure the **Terrain Peering Bits** section which becomes visible in the middle column. The peering bits determine which tile will be placed depending on neighboring tiles. ``-1`` is a special value which refers to empty space." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:511 +#: ../../docs/tutorials/2d/using_tilesets.rst:492 msgid "For example, if a tile has all its bits set to ``0`` or greater, it will only appear if *all* 8 neighboring tiles are using a tile with the same terrain ID. If a tile has its bits set to ``0`` or greater, but the top-left, top and top-right bits are set to ``-1``, it will only appear if there is empty space on top of it (including diagonally)." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:521 -#: ../../docs/tutorials/2d/using_tilesets.rst:521 +#: ../../docs/tutorials/2d/using_tilesets.rst:502 +#: ../../docs/tutorials/2d/using_tilesets.rst:502 msgid "Configuring terrain peering bits on a single tile in the TileSet editor's Select mode" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:523 +#: ../../docs/tutorials/2d/using_tilesets.rst:504 msgid "An example configuration for a full tilesheet may look as follows:" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:529 -#: ../../docs/tutorials/2d/using_tilesets.rst:529 +#: ../../docs/tutorials/2d/using_tilesets.rst:510 +#: ../../docs/tutorials/2d/using_tilesets.rst:510 msgid "Example full tilesheet for a sidescrolling game" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:535 -#: ../../docs/tutorials/2d/using_tilesets.rst:535 +#: ../../docs/tutorials/2d/using_tilesets.rst:516 +#: ../../docs/tutorials/2d/using_tilesets.rst:516 msgid "Example full tilesheet for a sidescrolling game with terrain peering bits visible" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:540 +#: ../../docs/tutorials/2d/using_tilesets.rst:521 msgid "Assigning properties to multiple tiles at once" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:542 +#: ../../docs/tutorials/2d/using_tilesets.rst:523 msgid "There are two ways to assign properties to multiple tiles at once. Depending on your use cases, one method may be faster than the other:" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:546 +#: ../../docs/tutorials/2d/using_tilesets.rst:527 msgid "Using multiple tile selection" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:548 +#: ../../docs/tutorials/2d/using_tilesets.rst:529 msgid "If you wish to configure various properties on several times at once, choose the **Select** mode at the top of the TileSet editor:" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:551 +#: ../../docs/tutorials/2d/using_tilesets.rst:532 msgid "After doing this, you can select multiple tiles on the right column by holding :kbd:`Shift` then clicking on tiles. You can also perform rectangle selection by holding down the left mouse button then dragging the mouse. Lastly, you can deselect tiles that were already selected (without affecting the rest of the selection) by holding :kbd:`Shift` then clicking on a selected tile." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:557 +#: ../../docs/tutorials/2d/using_tilesets.rst:538 msgid "You can then assign properties using the inspector in the middle column of the TileSet editor. Only properties that you change here will be applied to all selected tiles. Like in the editor's inspector, properties that differ on selected tiles will remain different until you edit them." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:562 +#: ../../docs/tutorials/2d/using_tilesets.rst:543 msgid "With numerical and color properties, you will also see a preview of the property's value on all tiles in the atlas after editing a property:" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:569 -#: ../../docs/tutorials/2d/using_tilesets.rst:569 +#: ../../docs/tutorials/2d/using_tilesets.rst:550 +#: ../../docs/tutorials/2d/using_tilesets.rst:550 msgid "Selecting multiple tiles using the Select mode, then applying properties" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:574 +#: ../../docs/tutorials/2d/using_tilesets.rst:555 msgid "Using tile property painting" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:576 +#: ../../docs/tutorials/2d/using_tilesets.rst:557 msgid "If you wish to apply a single property to several tiles at once, you can use the *property painting* mode for this purpose." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:579 +#: ../../docs/tutorials/2d/using_tilesets.rst:560 msgid "Configure a property to be painted in the middle column, then click on tiles (or hold down the left mouse button) in the right column to \"paint\" properties onto tiles." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:587 -#: ../../docs/tutorials/2d/using_tilesets.rst:587 +#: ../../docs/tutorials/2d/using_tilesets.rst:568 +#: ../../docs/tutorials/2d/using_tilesets.rst:568 msgid "Painting tile properties using the TileSet editor" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:589 +#: ../../docs/tutorials/2d/using_tilesets.rst:570 msgid "Tile property painting is especially useful with properties that are time-consuming to set manually, such as collision shapes:" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:596 -#: ../../docs/tutorials/2d/using_tilesets.rst:596 +#: ../../docs/tutorials/2d/using_tilesets.rst:577 +#: ../../docs/tutorials/2d/using_tilesets.rst:577 msgid "Painting a collision polygon, then left-clicking tiles to apply it" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:601 +#: ../../docs/tutorials/2d/using_tilesets.rst:582 msgid "Creating alternative tiles" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:603 +#: ../../docs/tutorials/2d/using_tilesets.rst:584 msgid "Sometimes, you want to use a single tile image (found only once within the atlas), but configured in different ways. For example, you may want to use the same tile image, but rotated, flipped, or modulated with a different color. This can be done using *alternative tiles*." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:610 +#: ../../docs/tutorials/2d/using_tilesets.rst:591 msgid "Since Godot 4.2, you don't have to create alternative tiles to rotate or flip tiles anymore. You can rotate any tile while placing it in the TileMap editor by using the rotation/flip buttons in the TileMap editor toolbar." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:615 +#: ../../docs/tutorials/2d/using_tilesets.rst:596 msgid "To create an alternative tile, right-click a base tile in the atlas displayed by the TileSet editor, then choose **Create an Alternative Tile**:" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:622 -#: ../../docs/tutorials/2d/using_tilesets.rst:622 +#: ../../docs/tutorials/2d/using_tilesets.rst:603 +#: ../../docs/tutorials/2d/using_tilesets.rst:603 msgid "Creating an alternative tile by right-clicking a base tile in the TileSet editor" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:624 +#: ../../docs/tutorials/2d/using_tilesets.rst:605 msgid "If currently in Select mode, the alternative tile will already be selected for editing. If not currently in Select mode, you can still create alternative tiles, but you will need to switch to Select mode and select the alternative tile to edit it." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:629 +#: ../../docs/tutorials/2d/using_tilesets.rst:610 msgid "If you don't see the alternative tile, pan over to the right of the atlas image, as alternative tiles always appear on the right of base tiles of a given atlas in the TileSet editor:" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:637 -#: ../../docs/tutorials/2d/using_tilesets.rst:637 +#: ../../docs/tutorials/2d/using_tilesets.rst:618 +#: ../../docs/tutorials/2d/using_tilesets.rst:618 msgid "Configuring an alternative tile after clicking it in the TileSet editor" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:639 +#: ../../docs/tutorials/2d/using_tilesets.rst:620 msgid "After selecting an alternative tile, you can change any properties using the middle column like you would on a base tile. However, the list of exposed properties is different compared to base tiles:" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:643 +#: ../../docs/tutorials/2d/using_tilesets.rst:624 msgid "**Alternative ID:** The unique numerical identifier for this alternative tile. Changing it will break existing TileMaps, so be careful! This ID also controls the sorting in the list of alternative tiles displayed in the editor." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:646 +#: ../../docs/tutorials/2d/using_tilesets.rst:627 msgid "**Rendering > Flip H:** If ``true``, the tile is horizontally flipped." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:647 +#: ../../docs/tutorials/2d/using_tilesets.rst:628 msgid "**Rendering > Flip V:** If ``true``, the tile is vertically flipped." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:648 +#: ../../docs/tutorials/2d/using_tilesets.rst:629 msgid "**Rendering > Transpose:** If ``true``, the tile is rotated 90 degrees *counter-clockwise* and then flipped vertically. In practice, this means that to rotate a tile by 90 degrees clockwise without flipping it, you should enable **Flip H** and **Transpose**. To rotate a tile by 180 degrees clockwise, enable **Flip H** and **Flip V**. To rotate a tile by 270 degrees clockwise, enable **Flip V** and **Transpose**." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:654 +#: ../../docs/tutorials/2d/using_tilesets.rst:635 msgid "**Rendering > Texture Origin:** The origin to use for drawing the tile. This can be used to visually offset the tile compared to the base tile." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:656 +#: ../../docs/tutorials/2d/using_tilesets.rst:637 msgid "**Rendering > Modulate:** The color multiplier to use when rendering the tile." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:657 +#: ../../docs/tutorials/2d/using_tilesets.rst:638 msgid "**Rendering > Material:** The material to use for this tile. This can be used to apply a different blend mode or custom shaders to a single tile." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:659 +#: ../../docs/tutorials/2d/using_tilesets.rst:640 msgid "**Z Index:** The sorting order for this tile. Higher values will make the tile render in front of others on the same layer." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:661 +#: ../../docs/tutorials/2d/using_tilesets.rst:642 msgid "**Y Sort Origin:** The vertical offset to use for tile sorting based on its Y coordinate (in pixels). This allows using layers as if they were on different height for top-down games. Adjusting this can help alleviate issues with sorting certain tiles. Only effective if **Y Sort Enabled** is ``true`` on the TileMap layer the tile is placed on." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:667 +#: ../../docs/tutorials/2d/using_tilesets.rst:648 msgid "You can create an additional alternative tile variant by clicking the large \"+\" icon next to the alternative tile. This is equivalent to selecting the base tile and right-clicking it to choose **Create an Alternative Tile** again." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:673 +#: ../../docs/tutorials/2d/using_tilesets.rst:654 msgid "When creating an alternative tile, none of the properties from the base tile are inherited. You must set properties again on the alternative tile if you wish those to be identical on the base tile and the alternative tile." msgstr "" diff --git a/sphinx/templates/tutorials/3d/3d_antialiasing.pot b/sphinx/templates/tutorials/3d/3d_antialiasing.pot index 7e2fb4684f..bc304322a9 100644 --- a/sphinx/templates/tutorials/3d/3d_antialiasing.pot +++ b/sphinx/templates/tutorials/3d/3d_antialiasing.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -110,7 +110,7 @@ msgid "AMD FidelityFX Super Resolution 2.2 (FSR2)" msgstr "" #: ../../docs/tutorials/3d/3d_antialiasing.rst:118 -msgid "Since Godot 4.2, there is built-in support for `AMD FidelityFX Super Resolution `__ 2.2. This is an :ref:`upscaling method ` compatible with all recent GPUs from any vendor. FSR2 is normally designed to improve performance by lowering the internal 3D rendering resolution, then upscaling to the output resolution." +msgid "Since Godot 4.2, there is built-in support for `AMD FidelityFX Super Resolution `__ 2.2. This is an :ref:`upscaling method ` compatible with all recent GPUs from any vendor. FSR2 is normally designed to improve performance by lowering the internal 3D rendering resolution, then upscaling to the output resolution." msgstr "" #: ../../docs/tutorials/3d/3d_antialiasing.rst:125 diff --git a/sphinx/templates/tutorials/3d/3d_rendering_limitations.pot b/sphinx/templates/tutorials/3d/3d_rendering_limitations.pot index 35ac22f357..f1ae7e4414 100644 --- a/sphinx/templates/tutorials/3d/3d_rendering_limitations.pot +++ b/sphinx/templates/tutorials/3d/3d_rendering_limitations.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/3d/3d_text.pot b/sphinx/templates/tutorials/3d/3d_text.pot index fd6e77ea1d..74f57089f3 100644 --- a/sphinx/templates/tutorials/3d/3d_text.pot +++ b/sphinx/templates/tutorials/3d/3d_text.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/3d/csg_tools.pot b/sphinx/templates/tutorials/3d/csg_tools.pot index d1517f5b85..b2603fbeca 100644 --- a/sphinx/templates/tutorials/3d/csg_tools.pot +++ b/sphinx/templates/tutorials/3d/csg_tools.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/3d/environment_and_post_processing.pot b/sphinx/templates/tutorials/3d/environment_and_post_processing.pot index 8c9107c5ed..42fe213d8f 100644 --- a/sphinx/templates/tutorials/3d/environment_and_post_processing.pot +++ b/sphinx/templates/tutorials/3d/environment_and_post_processing.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/3d/global_illumination/faking_global_illumination.pot b/sphinx/templates/tutorials/3d/global_illumination/faking_global_illumination.pot index 375780aed6..cc2fac9808 100644 --- a/sphinx/templates/tutorials/3d/global_illumination/faking_global_illumination.pot +++ b/sphinx/templates/tutorials/3d/global_illumination/faking_global_illumination.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/3d/global_illumination/index.pot b/sphinx/templates/tutorials/3d/global_illumination/index.pot index 59405bd044..bfa728aa4b 100644 --- a/sphinx/templates/tutorials/3d/global_illumination/index.pot +++ b/sphinx/templates/tutorials/3d/global_illumination/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/3d/global_illumination/introduction_to_global_illumination.pot b/sphinx/templates/tutorials/3d/global_illumination/introduction_to_global_illumination.pot index 6cf538af1b..4797d9e1de 100644 --- a/sphinx/templates/tutorials/3d/global_illumination/introduction_to_global_illumination.pot +++ b/sphinx/templates/tutorials/3d/global_illumination/introduction_to_global_illumination.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/3d/global_illumination/reflection_probes.pot b/sphinx/templates/tutorials/3d/global_illumination/reflection_probes.pot index 99c442a089..52c8712c43 100644 --- a/sphinx/templates/tutorials/3d/global_illumination/reflection_probes.pot +++ b/sphinx/templates/tutorials/3d/global_illumination/reflection_probes.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/3d/global_illumination/using_lightmap_gi.pot b/sphinx/templates/tutorials/3d/global_illumination/using_lightmap_gi.pot index a3458448b3..fbcf99dcc4 100644 --- a/sphinx/templates/tutorials/3d/global_illumination/using_lightmap_gi.pot +++ b/sphinx/templates/tutorials/3d/global_illumination/using_lightmap_gi.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -45,7 +45,6 @@ msgid "Not sure if LightmapGI is suited to your needs? See :ref:`doc_introductio msgstr "" #: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:43 -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:64 msgid "Visual comparison" msgstr "" @@ -70,431 +69,435 @@ msgstr "" msgid "LightmapGI enabled (with direct and indirect light baked). Best performance, but lower quality visuals. Notice the blurrier sun shadow in the top-right corner." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:66 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:63 msgid "Here are some comparisons of how LightmapGI vs. VoxelGI look. Notice that lightmaps are more accurate, but also suffer from the fact that lighting is on an unwrapped texture, so transitions and resolution may not be that good. VoxelGI looks less accurate (as it's an approximation), but smoother overall." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:74 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:71 msgid "SDFGI is also less accurate compared to LightmapGI. However, SDFGI can support large open worlds without any need for baking." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:78 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:75 msgid "Setting up" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:80 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:79 +msgid "Baking lightmaps in the Android and web editors is not supported due to graphics API limitations on those devices. On Android and web platforms, only *rendering* lightmaps that were baked on a desktop PC is supported." +msgstr "" + +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:83 msgid "First of all, before the lightmapper can do anything, the objects to be baked need a UV2 layer and a texture size. A UV2 layer is a set of secondary texture coordinates that ensures any face in the object has its own place in the UV map. Faces must not share pixels in the texture." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:85 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:88 msgid "There are a few ways to ensure your object has a unique UV2 layer and texture size:" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:88 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:91 msgid "Unwrap on scene import (recommended)" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:90 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:93 msgid "In most scenarios, this is the best approach to use. The only downside is that, on large models, unwrapping can take a while on import. Nonetheless, Godot will cache the UV2 across reimports, so it will only be regenerated when needed." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:94 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:97 msgid "Select the imported scene in the filesystem dock, then go to the **Import** dock. There, the following option can be modified:" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:99 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:102 msgid "The **Meshes > Light Baking** option must be set to **Static Lightmaps (VoxelGI/SDFGI/LightmapGI)**:" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:103 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:106 msgid "When unwrapping on import, you can adjust the texture size using the **Meshes > Lightmap Texel Size** option. *Lower* values will result in more detailed lightmaps, possibly resulting in higher visual quality at the cost of longer bake times and larger lightmap file sizes. The default value of ``0.2`` is suited for small/medium-sized scenes, but you may want to increase it to ``0.5`` or even more for larger scenes. This is especially the case if you're baking indirect lighting only, as indirect light is low-frequency data (which means it doesn't need high-resolution textures to be accurately represented)." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:112 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:115 msgid "The effect of setting this option is that all meshes within the scene will have their UV2 maps properly generated." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:117 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:120 msgid "When reusing a mesh within a scene, keep in mind that UVs will be generated for the first instance found. If the mesh is re-used with different scales (and the scales are wildly different, more than half or twice), this will result in inefficient lightmaps. To avoid this, adjust the **Lightmap Scale** property in the GeometryInstance3D section of a MeshInstance3D node. This lets you *increase* the level of lightmap detail for specific MeshInstance3D nodes (but not decrease it)." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:125 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:128 msgid "Also, the ``*.unwrap_cache`` files should *not* be ignored in version control as these files guarantee that UV2 reimports are consistent across platforms and engine versions." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:130 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:133 msgid "Unwrap from within Godot" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:134 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:137 msgid "If this Mesh menu operation is used on an imported 3D scene, the generated UV2 will be lost when the scene is reloaded." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:137 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:140 msgid "Godot has an option to unwrap meshes and visualize the UV channels. After selecting a MeshInstance3D node, it can be found in the **Mesh** menu at the top of the 3D editor viewport:" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:143 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:146 msgid "This will generate a second set of UV2 coordinates which can be used for baking. It will also set the texture size automatically." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:147 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:150 msgid "Unwrap from your 3D modeling software" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:149 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:152 msgid "The last option is to do it from your favorite 3D app. This approach is generally **not recommended**, but it's explained so that you know it exists. The main advantage is that, on complex objects that you may want to re-import a lot, the texture generation process can be quite costly within Godot, so having it unwrapped before import can be faster." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:155 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:158 msgid "Simply do an unwrap on the second UV2 layer." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:159 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:162 msgid "Then import the 3D scene normally. Remember you will need to set the texture size on the mesh after import." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:164 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:167 msgid "If you use external meshes on import, the size will be kept. Be wary that most unwrappers in 3D modeling software are not quality-oriented, as they are meant to work quickly. You will mostly need to use seams or other techniques to create better unwrapping." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:170 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:173 msgid "Generating UV2 for primitive meshes" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:174 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:177 msgid "This option is only available for primitive meshes such as :ref:`class_BoxMesh`, :ref:`class_CylinderMesh`, :ref:`class_PlaneMesh`, etc." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:177 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:180 msgid "Enabling UV2 on primitive meshes allows you to make them receive and contribute to baked lighting. This can be used in certain lighting setups. For instance, you could hide a torus that has an emissive material after baking lightmaps to create an area light that follows the shape of a torus." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:182 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:185 msgid "By default, primitive meshes do not have UV2 generated to save resources (as these meshes may be created during gameplay). You can edit a primitive mesh in the inspector and enable **Add UV2** to make the engine procedurally generate UV2 for a primitive mesh. The default **UV2 Padding** value is tuned to avoid most lightmap bleeding, without wasting too much space on the edges. If you notice lightmap bleeding on a specific primitive mesh only, you may have to increase **UV2 Padding**." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:190 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:193 msgid "**Lightmap Size Hint** represents the size taken by a single mesh on the lightmap texture, which varies depending on the mesh's size properties and the **UV2 Padding** value. **Lightmap Size Hint** should not be manually changed, as any modifications will be lost when the scene is reloaded." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:196 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:199 msgid "Checking UV2" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:198 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:201 msgid "In the **Mesh** menu mentioned before, the UV2 texture coordinates can be visualized. If something is failing, double-check that the meshes have these UV2 coordinates:" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:204 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:207 msgid "Setting up the scene" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:206 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:209 msgid "Before anything is done, a **LightmapGI** node needs to be added to a scene. This will enable light baking on all nodes (and sub-nodes) in that scene, even on instanced scenes." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:212 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:215 msgid "A sub-scene can be instanced several times, as this is supported by the baker. Each instance will be assigned a lightmap of its own. To avoid issues with inconsistent lightmap texel scaling, make sure to respect the rule about mesh scaling mentioned before." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:218 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:221 msgid "Setting up meshes" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:220 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:223 msgid "For a **MeshInstance3D** node to take part in the baking process, it needs to have its bake mode set to **Static**. Meshes that have their bake mode set to **Disabled** or **Dynamic** will be ignored by the lightmapper." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:226 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:229 msgid "When auto-generating lightmaps on scene import, this is enabled automatically." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:229 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:232 msgid "Setting up lights" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:231 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:234 msgid "Lights are baked with indirect light only by default. This means that shadowmapping and lighting are still dynamic and affect moving objects, but light bounces from that light will be baked." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:235 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:238 msgid "Lights can be disabled (no bake) or be fully baked (direct and indirect). This can be controlled from the **Bake Mode** menu in lights:" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:240 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:243 msgid "The modes are:" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:243 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:246 msgid "Disabled" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:245 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:248 msgid "The light is ignored when baking lightmaps. This is the mode to use for dynamic lighting effects such as explosions and weapon effects." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:250 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:253 msgid "Hiding a light has no effect on the resulting lightmap bake. This means you must use the Disabled bake mode instead of hiding the Light node by disabling its **Visible** property." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:255 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:258 msgid "Dynamic" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:257 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:260 msgid "This is the default mode, and is a compromise between performance and real-time friendliness. Only indirect lighting will be baked. Direct light and shadows are still real-time, as they would be without LightmapGI." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:261 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:264 msgid "This mode allows performing *subtle* changes to a light's color, energy and position while still looking fairly correct. For example, you can use this to create flickering static torches that have their indirect light baked." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:266 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:269 msgid "Static" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:268 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:271 msgid "Both indirect and direct lighting will be baked. Since static surfaces can skip lighting and shadow computations entirely, this mode provides the best performance along with smooth shadows that never fade based on distance. The real-time light will not affect baked surfaces anymore, but it will still affect dynamic objects. When using the **All** bake mode on a light, dynamic objects will not cast real-time shadows onto baked surfaces, so you need to use a different approach such as blob shadows instead. Blob shadows can be implemented with a Decal node." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:277 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:280 msgid "The light will not be adjustable at all during gameplay. Moving the light or changing its color (or energy) will not have any effect on static surfaces." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:280 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:283 msgid "Since bake modes can be adjusted on a per-light basis, it is possible to create hybrid baked light setups. One popular option is to use a real-time DirectionalLight with its bake mode set to **Dynamic**, and use the **Static** bake mode for OmniLights and SpotLights. This provides good performance while still allowing dynamic objects to cast real-time shadows in outdoor areas." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:286 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:289 msgid "Fully baked lights can also make use of light nodes' **Size** (omni/spot) or **Angular Distance** (directional) properties. This allows for shadows with realistic penumbra that increases in size as the distance between the caster and the shadow increases. This also has a lower performance cost compared to real-time PCSS shadows, as only dynamic objects have real-time shadows rendered on them." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:296 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:299 msgid "Baking" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:298 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:301 msgid "To begin the bake process, click the **Bake Lightmaps** button at the top of the 3D editor viewport when selecting the LightmapGI node:" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:303 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:306 msgid "This can take from seconds to minutes (or hours) depending on scene size, bake method and quality selected." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:308 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:311 msgid "Baking lightmaps is a process that can require a lot of video memory, especially if the resulting texture is large. Due to internal limitations, the engine may also crash if the generated texture size is too large (even on systems with a lot of video memory)." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:313 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:316 msgid "To avoid crashes, make sure the lightmap texel size in the Import dock is set to a high enough value." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:317 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:320 msgid "Tweaks" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:319 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:322 msgid "**Quality:** Four bake quality modes are provided: Low, Medium, High, and Ultra. Higher quality takes more time, but result in a better-looking lightmap with less noise. The difference is especially noticeable with emissive materials or areas that get little to no direct lighting. Each bake quality mode can be further adjusted in the Project Settings." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:324 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:327 msgid "**Bounces:** The number of bounces to use for indirect lighting. The default value (``3``) is a good compromise between bake times and quality. Higher values will make light bounce around more times before it stops, which makes indirect lighting look smoother (but also possibly brighter depending on materials and geometry)." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:329 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:332 msgid "**Bounce Indirect Energy:** The global multiplier to use when baking lights' indirect energy. This multiplies each light's own **Indirect Energy** value. Values different from ``1.0`` are not physically accurate, but can be used for artistic effect." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:333 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:336 msgid "**Directional:** If enabled, stores directional information for lightmaps. This improves normal mapped materials' appearance for baked surfaces, especially with fully baked lights (since they also have direct light baked). The downside is that directional lightmaps are slightly more expensive to render. They also require more time to bake and result in larger file sizes." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:338 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:341 msgid "**Interior:** If enabled, environment lighting will not be sourced. Use this for purely indoor scenes to avoid light leaks." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:340 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:343 msgid "**Use Texture for Bounces:** If enabled, a texture with the lighting information will be generated to speed up the generation of indirect lighting at the cost of some accuracy. The geometry might exhibit extra light leak artifacts when using low resolution lightmaps or UVs that stretch the lightmap significantly across surfaces. Leave this enabled if unsure." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:345 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:348 msgid "**Use Denoiser:** If enabled, uses a denoising algorithm to make the lightmap significantly less noisy. This increases bake times and can occasionally introduce artifacts, but the result is often worth it. See :ref:`doc_using_lightmap_gi_denoising` for more information." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:349 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:352 msgid "**Denoiser Strength:** The strength of denoising step applied to the generated lightmaps. Higher values are more effective at removing noise, but can reduce shadow detail for static shadows. Only effective if denoising is enabled and the denoising method is :abbr:`JNLM (Non-Local Means with Joint Filtering)` (:abbr:`OIDN (Open Image Denoise)` does not have a denoiser strength setting)." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:354 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:357 msgid "**Bias:** The offset value to use for shadows in 3D units. You generally don't need to change this value, except if you run into issues with light bleeding or dark spots in your lightmap after baking. This setting does not affect real-time shadows casted on baked surfaces (for lights with **Dynamic** bake mode)." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:358 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:361 msgid "**Max Texture Size:** The maximum texture size for the generated texture atlas. Higher values will result in fewer slices being generated, but may not work on all hardware as a result of hardware limitations on texture sizes. Leave this at its default value of ``16384`` if unsure." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:362 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:365 msgid "**Environment > Mode:** Controls how environment lighting is sourced when baking lightmaps. The default value of **Scene** is suited for levels with visible exterior parts. For purely indoor scenes, set this to **Disabled** to avoid light leaks and speed up baking. This can also be set to **Custom Sky** or **Custom Color** to use environment lighting that differs from the actual scene's environment sky." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:368 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:371 msgid "**Gen Probes > Subdiv:** See :ref:`doc_using_lightmap_gi_dynamic_objects`." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:369 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:372 msgid "**Data > Light Data:** See :ref:`doc_using_lightmap_gi_data`." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:372 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:375 msgid "Balancing bake times with quality" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:374 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:377 msgid "Since high-quality bakes can take very long (up to dozens of minutes for large complex scenes), it is recommended to use lower quality settings at first. Then, once you are confident with your scene's lighting setup, raise the quality settings and perform a \"final\" bake before exporting your project." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:379 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:382 msgid "Reducing the lightmap resolution by increasing **Lightmap Texel Size** on the imported 3D scenes will also speed up baking significantly. However, this will require you to reimport all lightmapped 3D scenes before you can bake lightmaps again." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:387 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:390 msgid "Denoising" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:389 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:392 msgid "Since baking lightmaps relies on raytracing, there will always be visible noise in the \"raw\" baked lightmap. Noise is especially visible in areas that are difficult to reach by bounced light, such as indoor areas with small openings where the sunlight can enter. Noise can be reduced by increasing bake quality, but doing so will increase bake times significantly." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:399 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:402 msgid "Comparison between denoising disabled and enabled" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:399 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:402 msgid "Comparison between denoising disabled and enabled (with the default JNLM denoiser)." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:401 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:404 msgid "To combat noise without increasing bake times too much, a denoiser can be used. A denoiser is an algorithm that runs on the final baked lightmap, detects patterns of noise and softens them while attempting to best preserve detail. Godot offers two denoising algorithms:" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:407 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:410 msgid "JNLM (Non-Local Means with Joint Filtering)" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:409 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:412 msgid "JNLM is the default denoising method and is included in Godot. It uses a simple but efficient denoising algorithm known as *non-local means*. JNLM runs on the GPU using a compute shader, and is compatible with any GPU that can run Godot 4's Vulkan-based rendering methods. No additional setup is required." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:414 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:417 msgid "JNLM's denoising can be adjusted using the **Denoiser Strength** property that is visible when **Use Denoiser** enabled. Higher values can be more effective at removing noise, at the cost of suppressing shadow detail for static shadows." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:422 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:425 msgid "Comparison between JNLM denoiser strength values" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:422 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:425 msgid "Comparison between JNLM denoiser strength values. Higher values can reduce detail." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:425 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:428 msgid "OIDN (Open Image Denoise)" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:427 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:430 msgid "Unlike JNLM, OIDN uses a machine learning approach to denoising lightmaps. It features a model specifically trained to remove noise from lightmaps while preserving more shadow detail in most scenes compared to JNLM." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:431 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:434 msgid "OIDN can run on the GPU if hardware acceleration is configured. With a modern high-end GPU, this can provide a speedup of over 50× over CPU-based denoising:" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:434 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:437 msgid "On AMD GPUs, HIP must be installed and configured." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:435 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:438 msgid "On NVIDIA GPUs, CUDA must be installed and configured. This may automatically be done by the NVIDIA installer, but on Linux, CUDA libraries may not be installed by default. Double-check that the CUDA packages from your Linux distribution are installed." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:439 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:442 msgid "On Intel GPUs, SYCL must be installed and configured." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:441 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:444 msgid "If hardware acceleration is not available, OIDN will fall back to multithreaded CPU-based denoising. To confirm whether GPU-based denoising is working, use a GPU utilization monitor while baking lightmaps and look at the GPU utilization percentage and VRAM utilization while the denoising step is shown in the Godot editor. The ``nvidia-smi`` command line tool can be useful for this." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:447 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:450 msgid "OIDN is not included with Godot due to its relatively large download size. You can download precompiled OIDN binary packages from its `website `__. Extract the package to a location on your PC, then specify the path to the ``oidnDenoise`` executable in the Editor Settings (**FileSystem > Tools > OIDN > OIDN Denoise Path**). This executable is located within the ``bin`` folder of the binary package you extracted." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:455 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:458 msgid "After specifying the path to the OIDN denoising executable, change the denoising method in the project settings by setting **Rendering > Lightmapping > Denoiser** to **OIDN**. This will affect all lightmap bakes on this project after the setting is changed." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:462 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:465 msgid "The denoising method is configured in the project settings instead of the editor settings. This is done so that different team members working on the same project are assured to be using the same denoising method for consistent results." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:471 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:474 msgid "Comparison between JNLM and OIDN denoisers" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:471 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:474 msgid "Comparison between JNLM and OIDN denoisers. Notice how OIDN better preserves detail and reduces seams across different objects." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:477 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:480 msgid "Dynamic objects" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:479 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:482 msgid "Unlike VoxelGI and SDFGI, dynamic objects receive indirect lighting differently compared to static objects. This is because lightmapping is only performed on static objects." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:483 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:486 msgid "To display indirect lighting on dynamic objects, a 3D probe system is used, with light probes being spread throughout the scene. When baking lightmaps, the lightmapper will calculate the amount of *indirect* light received by the probe. Direct light is not stored within light probes, even for lights that have their bake mode set to **Static** (as dynamic objects continue to be lit in real-time)." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:490 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:493 msgid "There are 2 ways to add light probes to a scene:" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:492 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:495 msgid "**Automatic:** Set **Gen Probes > Subdiv** to a value other than **Disabled**, then bake lightmaps. The default is ``8``, but you can choose a greater value to improve precision at the cost of longer bake times and larger output file size." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:496 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:499 msgid "**Manual:** In addition or as an alternative to generating probes automatically, you can add light probes manually by adding :ref:`class_LightmapProbe` nodes to the scene. This can be used to improve lighting detail in areas frequently travelled by dynamic objects. After placing LightmapProbe nodes in the scene, you must bake lightmaps again for them to be effective." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:504 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:507 msgid "After baking lightmaps, you will notice white spheres in the 3D scene that represent how baked lighting will affect dynamic objects. These spheres do **not** appear in the running project." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:508 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:511 msgid "If you want to hide these spheres in the editor, toggle **View > Gizmos > LightmapGI** at the top of the 3D editor (a \"closed eye\" icon indicates the gizmo is hidden)." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:515 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:518 msgid "Lightmap data" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:517 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:520 msgid "The **Data > Light Data** property in the LightmapGI node contains the lightmap data after baking. Textures are saved to disk, but this also contains the capture data for dynamic objects, which can be heavy. If you are using a scene in ``.tscn`` format, you should save this resource to an external binary ``.lmbake`` file to avoid bloating the ``.tscn`` scene with binary data encoded in Base64." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:526 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:529 msgid "The generated EXR file can be viewed and even edited using an image editor to perform post-processing if needed. However, keep in mind that changes to the EXR file will be lost when baking lightmaps again." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:531 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:534 msgid "Reducing LightmapGI artifacts" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:533 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:536 msgid "If you notice LightmapGI nodes popping in and out of existence as the camera moves, this is most likely because the engine is rendering too many LightmapGI instances at once. Godot is limited to rendering 8 LightmapGI nodes at once, which means up to 8 instances can be in the camera view before some of them will start flickering." msgstr "" diff --git a/sphinx/templates/tutorials/3d/global_illumination/using_sdfgi.pot b/sphinx/templates/tutorials/3d/global_illumination/using_sdfgi.pot index 966f0a2eac..e488589a19 100644 --- a/sphinx/templates/tutorials/3d/global_illumination/using_sdfgi.pot +++ b/sphinx/templates/tutorials/3d/global_illumination/using_sdfgi.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/3d/global_illumination/using_voxel_gi.pot b/sphinx/templates/tutorials/3d/global_illumination/using_voxel_gi.pot index 1917724ed9..2279768f9d 100644 --- a/sphinx/templates/tutorials/3d/global_illumination/using_voxel_gi.pot +++ b/sphinx/templates/tutorials/3d/global_illumination/using_voxel_gi.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/3d/high_dynamic_range.pot b/sphinx/templates/tutorials/3d/high_dynamic_range.pot index 97a19b2fe4..4f3ab78819 100644 --- a/sphinx/templates/tutorials/3d/high_dynamic_range.pot +++ b/sphinx/templates/tutorials/3d/high_dynamic_range.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/3d/index.pot b/sphinx/templates/tutorials/3d/index.pot index 0cc857c2ca..7941d37e5e 100644 --- a/sphinx/templates/tutorials/3d/index.pot +++ b/sphinx/templates/tutorials/3d/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/3d/introduction_to_3d.pot b/sphinx/templates/tutorials/3d/introduction_to_3d.pot index fa7f44bbd8..337766e003 100644 --- a/sphinx/templates/tutorials/3d/introduction_to_3d.pot +++ b/sphinx/templates/tutorials/3d/introduction_to_3d.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/3d/lights_and_shadows.pot b/sphinx/templates/tutorials/3d/lights_and_shadows.pot index 2e6f5db218..9f4f84c39f 100644 --- a/sphinx/templates/tutorials/3d/lights_and_shadows.pot +++ b/sphinx/templates/tutorials/3d/lights_and_shadows.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/3d/mesh_lod.pot b/sphinx/templates/tutorials/3d/mesh_lod.pot index c519a3de0f..144d12fd29 100644 --- a/sphinx/templates/tutorials/3d/mesh_lod.pot +++ b/sphinx/templates/tutorials/3d/mesh_lod.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/3d/occlusion_culling.pot b/sphinx/templates/tutorials/3d/occlusion_culling.pot index 70a0f465ab..5e27af196d 100644 --- a/sphinx/templates/tutorials/3d/occlusion_culling.pot +++ b/sphinx/templates/tutorials/3d/occlusion_culling.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/3d/particles/attractors.pot b/sphinx/templates/tutorials/3d/particles/attractors.pot index a9bfcf550e..99f90712f6 100644 --- a/sphinx/templates/tutorials/3d/particles/attractors.pot +++ b/sphinx/templates/tutorials/3d/particles/attractors.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/3d/particles/collision.pot b/sphinx/templates/tutorials/3d/particles/collision.pot index 69b4fe8f9b..dcd6b21551 100644 --- a/sphinx/templates/tutorials/3d/particles/collision.pot +++ b/sphinx/templates/tutorials/3d/particles/collision.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -28,190 +28,206 @@ msgstr "" msgid "Since GPU particles are processed entirely on the GPU, they don't have access to the game's physical world. If you need particles to collide with the environment, you have to set up particle collision nodes. There are four of them: :ref:`class_GPUParticlesCollisionBox3D`, :ref:`class_GPUParticlesCollisionSphere3D`, :ref:`class_GPUParticlesCollisionSDF3D`, and :ref:`class_GPUParticlesCollisionHeightField3D`." msgstr "" -#: ../../docs/tutorials/3d/particles/collision.rst:16 -msgid "GPU Particle collision is not yet implemented for 2D particle systems." -msgstr "" - -#: ../../docs/tutorials/3d/particles/collision.rst:19 +#: ../../docs/tutorials/3d/particles/collision.rst:15 msgid "Common properties" msgstr "" -#: ../../docs/tutorials/3d/particles/collision.rst:25 +#: ../../docs/tutorials/3d/particles/collision.rst:21 msgid "Common particle collision properties" msgstr "" -#: ../../docs/tutorials/3d/particles/collision.rst:25 +#: ../../docs/tutorials/3d/particles/collision.rst:21 msgid "Common collision properties" msgstr "" -#: ../../docs/tutorials/3d/particles/collision.rst:27 +#: ../../docs/tutorials/3d/particles/collision.rst:23 msgid "There are some properties that you can find on all collision nodes. They're located in the ``GPUParticlesCollision3D`` section in the inspector." msgstr "" -#: ../../docs/tutorials/3d/particles/collision.rst:30 +#: ../../docs/tutorials/3d/particles/collision.rst:26 msgid "The ``Cull Mask`` property controls which particle systems are affected by a collision node based on each system's :ref:`visibility layers `. A particle system collides with a collision node only if at least one of the system's visibility layers is enabled in the collider's cull mask." msgstr "" -#: ../../docs/tutorials/3d/particles/collision.rst:37 +#: ../../docs/tutorials/3d/particles/collision.rst:33 msgid "There is a `known issue `_ with GPU particle collision that prevent the cull mask from working properly in Godot 4.0. We will update the documentation as soon as it is fixed." msgstr "" -#: ../../docs/tutorials/3d/particles/collision.rst:42 +#: ../../docs/tutorials/3d/particles/collision.rst:38 msgid "Box collision" msgstr "" -#: ../../docs/tutorials/3d/particles/collision.rst:48 +#: ../../docs/tutorials/3d/particles/collision.rst:44 msgid "Particle collision box" msgstr "" -#: ../../docs/tutorials/3d/particles/collision.rst:48 +#: ../../docs/tutorials/3d/particles/collision.rst:44 msgid "Box collision in the node list" msgstr "" -#: ../../docs/tutorials/3d/particles/collision.rst:50 +#: ../../docs/tutorials/3d/particles/collision.rst:46 msgid "Box collision nodes are shaped like a solid, rectangular box. You control their size with the ``Extents`` property. Box extents always measure half of the sides of its bounds, so a value of ``(X=1.0,Y=1.0,Z=1.0)`` creates a box that is 2 meters wide on each side. Box collision nodes are useful for simulating floor and wall geometry that particles should collide against." msgstr "" -#: ../../docs/tutorials/3d/particles/collision.rst:55 +#: ../../docs/tutorials/3d/particles/collision.rst:51 msgid "To create a box collision node, add a new child node to your scene and select ``GPUParticlesCollisionBox3D`` from the list of available nodes. You can animate the box position or attach it to a moving node for more dynamic effects." msgstr "" -#: ../../docs/tutorials/3d/particles/collision.rst:62 +#: ../../docs/tutorials/3d/particles/collision.rst:58 msgid "Box collision with particle systems" msgstr "" -#: ../../docs/tutorials/3d/particles/collision.rst:62 +#: ../../docs/tutorials/3d/particles/collision.rst:58 msgid "Two particle systems collide with a box collision node" msgstr "" -#: ../../docs/tutorials/3d/particles/collision.rst:65 +#: ../../docs/tutorials/3d/particles/collision.rst:61 msgid "Sphere collision" msgstr "" -#: ../../docs/tutorials/3d/particles/collision.rst:71 +#: ../../docs/tutorials/3d/particles/collision.rst:67 msgid "Particle collision sphere" msgstr "" -#: ../../docs/tutorials/3d/particles/collision.rst:71 +#: ../../docs/tutorials/3d/particles/collision.rst:67 msgid "Sphere collision in the node list" msgstr "" -#: ../../docs/tutorials/3d/particles/collision.rst:73 +#: ../../docs/tutorials/3d/particles/collision.rst:69 msgid "Sphere collision nodes are shaped like a solid sphere. The ``Radius`` property controls the size of the sphere. While box collision nodes don't have to be perfect cubes, sphere collision nodes will always be spheres. If you want to set width independently from height, you have to change the ``Scale`` property in the ``Node3D`` section." msgstr "" -#: ../../docs/tutorials/3d/particles/collision.rst:78 +#: ../../docs/tutorials/3d/particles/collision.rst:74 msgid "To create a sphere collision node, add a new child node to your scene and select ``GPUParticlesCollisionSphere3D`` from the list of available nodes. You can animate the sphere's position or attach it to a moving node for more dynamic effects." msgstr "" -#: ../../docs/tutorials/3d/particles/collision.rst:85 +#: ../../docs/tutorials/3d/particles/collision.rst:81 msgid "Sphere collision with particle systems" msgstr "" -#: ../../docs/tutorials/3d/particles/collision.rst:85 +#: ../../docs/tutorials/3d/particles/collision.rst:81 msgid "Two particle systems collide with a sphere collision node" msgstr "" -#: ../../docs/tutorials/3d/particles/collision.rst:88 +#: ../../docs/tutorials/3d/particles/collision.rst:84 msgid "Height field collision" msgstr "" -#: ../../docs/tutorials/3d/particles/collision.rst:94 +#: ../../docs/tutorials/3d/particles/collision.rst:90 msgid "Particle collision height field" msgstr "" -#: ../../docs/tutorials/3d/particles/collision.rst:94 +#: ../../docs/tutorials/3d/particles/collision.rst:90 msgid "Height field collision in the node list" msgstr "" -#: ../../docs/tutorials/3d/particles/collision.rst:96 +#: ../../docs/tutorials/3d/particles/collision.rst:92 msgid "Height field particle collision is very useful for large outdoor areas that need to collide with particles. At runtime, the node creates a height field from all the meshes within its bounds that match its cull mask. Particles collide against the mesh that this height field represents. Since the height field generation is done dynamically, it can follow the player camera around and react to changes in the level. Different settings for the height field density offer a wide range of performance adjustments." msgstr "" -#: ../../docs/tutorials/3d/particles/collision.rst:102 +#: ../../docs/tutorials/3d/particles/collision.rst:98 msgid "To create a height field collision node, add a new child node to your scene and select ``GPUParticlesCollisionHeightField3D`` from the list of available nodes." msgstr "" -#: ../../docs/tutorials/3d/particles/collision.rst:105 +#: ../../docs/tutorials/3d/particles/collision.rst:101 msgid "A height field collision node is shaped like a box. The ``Extents`` property controls its size. Extents always measure half of the sides of its bounds, so a value of ``(X=1.0,Y=1.0,Z=1.0)`` creates a box that is 2 meters wide on each side. Anything outside of the node's extents is ignored for height field creation." msgstr "" -#: ../../docs/tutorials/3d/particles/collision.rst:109 +#: ../../docs/tutorials/3d/particles/collision.rst:105 msgid "The ``Resolution`` property controls how detailed the height field is. A lower resolution performs faster at the cost of accuracy. If the height field resolution is too low, it may look like particles penetrate level geometry or get stuck in the air during collision events. They might also ignore some smaller meshes completely." msgstr "" -#: ../../docs/tutorials/3d/particles/collision.rst:116 +#: ../../docs/tutorials/3d/particles/collision.rst:112 msgid "Height field resolutions" msgstr "" -#: ../../docs/tutorials/3d/particles/collision.rst:116 +#: ../../docs/tutorials/3d/particles/collision.rst:112 msgid "At low resolutions, height field collision misses some finer details (left)" msgstr "" -#: ../../docs/tutorials/3d/particles/collision.rst:118 +#: ../../docs/tutorials/3d/particles/collision.rst:114 msgid "The ``Update Mode`` property controls when the height field is recreated from the meshes within its bounds. Set it to ``When Moved`` to make it refresh only when it moves. This performs well and is suited for static scenes that don't change very often. If you need particles to collide with dynamic objects that change position frequently, you can select ``Always`` to refresh every frame. This comes with a cost to performance and should only be used when necessary." msgstr "" -#: ../../docs/tutorials/3d/particles/collision.rst:126 +#: ../../docs/tutorials/3d/particles/collision.rst:122 msgid "It's important to remember that when ``Update Mode`` is set to ``When Moved``, it is the *height field node* whose movement triggers an update. The height field is not updated when one of the meshes inside it moves." msgstr "" -#: ../../docs/tutorials/3d/particles/collision.rst:129 +#: ../../docs/tutorials/3d/particles/collision.rst:125 msgid "The ``Follow Camera Enabled`` property makes the height field follow the current camera when enabled. It will update whenever the camera moves. This property can be used to make sure that there is always particle collision around the player while not wasting performance on regions that are out of sight or too far away." msgstr "" -#: ../../docs/tutorials/3d/particles/collision.rst:134 +#: ../../docs/tutorials/3d/particles/collision.rst:130 msgid "SDF collision" msgstr "" -#: ../../docs/tutorials/3d/particles/collision.rst:140 +#: ../../docs/tutorials/3d/particles/collision.rst:136 msgid "Particle collision SDF" msgstr "" -#: ../../docs/tutorials/3d/particles/collision.rst:140 +#: ../../docs/tutorials/3d/particles/collision.rst:136 msgid "SDF collision in the node list" msgstr "" -#: ../../docs/tutorials/3d/particles/collision.rst:142 +#: ../../docs/tutorials/3d/particles/collision.rst:138 msgid "SDF collision nodes create a `signed distance field `_ that particles can collide with. SDF collision is similar to height field collision in that it turns multiple meshes within its bounds into a single collision volume for particles. A major difference is that signed distance fields can represent holes, tunnels and overhangs, which is impossible to do with height fields alone. The performance overhead is larger compared to height fields, so they're best suited for small-to-medium-sized environments." msgstr "" -#: ../../docs/tutorials/3d/particles/collision.rst:148 +#: ../../docs/tutorials/3d/particles/collision.rst:144 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." msgstr "" -#: ../../docs/tutorials/3d/particles/collision.rst:157 +#: ../../docs/tutorials/3d/particles/collision.rst:153 msgid "SDF particle collision" msgstr "" -#: ../../docs/tutorials/3d/particles/collision.rst:157 +#: ../../docs/tutorials/3d/particles/collision.rst:153 msgid "SDF particle collision allows for very detailed 3-dimensional collision shapes" msgstr "" -#: ../../docs/tutorials/3d/particles/collision.rst:159 +#: ../../docs/tutorials/3d/particles/collision.rst:155 msgid "An SDF collision node is shaped like a box. The ``Extents`` property controls its size. Extents always measure half of the sides of its bounds, so a value of ``(X=1.0,Y=1.0,Z=1.0)`` creates a box that is 2 meters wide on each side. Anything outside of the node's extents is ignored for collision." msgstr "" -#: ../../docs/tutorials/3d/particles/collision.rst:163 +#: ../../docs/tutorials/3d/particles/collision.rst:159 msgid "The ``Resolution`` property controls how detailed the distance field is. A lower resolution performs faster at the cost of accuracy. If the resolution is too low, it may look like particles penetrate level geometry or get stuck in the air during collision events. They might also ignore some smaller meshes completely." msgstr "" -#: ../../docs/tutorials/3d/particles/collision.rst:170 +#: ../../docs/tutorials/3d/particles/collision.rst:166 msgid "Resolution comparison" msgstr "" -#: ../../docs/tutorials/3d/particles/collision.rst:170 +#: ../../docs/tutorials/3d/particles/collision.rst:166 msgid "The same area covered by a signed distance field at different resolutions: 16 (left) and 256 (right)" msgstr "" -#: ../../docs/tutorials/3d/particles/collision.rst:172 +#: ../../docs/tutorials/3d/particles/collision.rst:168 msgid "The ``Thickness`` property gives the distance field, which is usually hollow on the inside, a thickness to prevent particles from penetrating at high speeds. If you find that some particles don't collide with the level geometry and instead shoot right through it, try setting this property to a higher value." msgstr "" -#: ../../docs/tutorials/3d/particles/collision.rst:176 +#: ../../docs/tutorials/3d/particles/collision.rst:172 msgid "The ``Bake Mask`` property controls which meshes will be considered when the SDF is baked. Only meshes that render on the active layers in the bake mask contribute to particle collision." msgstr "" +#: ../../docs/tutorials/3d/particles/collision.rst:176 +msgid "Troubleshooting" +msgstr "" + +#: ../../docs/tutorials/3d/particles/collision.rst:178 +msgid "For particle collision to work, the particle's :ref:`visibility AABB ` must overlap with the collider's AABB. If collisions appear to be not working despite colliders being set up, generate an updated visibility AABB by selecting the GPUParticles3D node and choosing **GPUParticles3D > Generate Visibility AABB…** at the top of the 3D editor viewport." +msgstr "" + +#: ../../docs/tutorials/3d/particles/collision.rst:184 +msgid "If the particles move fast and colliders are thin. There are two solutions for this:" +msgstr "" + +#: ../../docs/tutorials/3d/particles/collision.rst:186 +msgid "Make the colliders thicker. For instance, if particles cannot get below a solid floor, you could make the collider representing the floor thicker than its actual visual representation. The heightfield collider automatically handles this by design, as heightfields cannot represent \"room over room\" collision." +msgstr "" + +#: ../../docs/tutorials/3d/particles/collision.rst:191 +msgid "Increased ``Fixed FPS`` in the GPUParticles3D node, which will perform collision checks more often. This comes at a performance cost, so avoid setting this too high." +msgstr "" + #: ../../docs/:0 msgid "Translation status" msgstr "" diff --git a/sphinx/templates/tutorials/3d/particles/complex_shapes.pot b/sphinx/templates/tutorials/3d/particles/complex_shapes.pot index 7ca5d3a563..f67a67e8e0 100644 --- a/sphinx/templates/tutorials/3d/particles/complex_shapes.pot +++ b/sphinx/templates/tutorials/3d/particles/complex_shapes.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/3d/particles/creating_a_3d_particle_system.pot b/sphinx/templates/tutorials/3d/particles/creating_a_3d_particle_system.pot index 1159957b19..92b186befb 100644 --- a/sphinx/templates/tutorials/3d/particles/creating_a_3d_particle_system.pot +++ b/sphinx/templates/tutorials/3d/particles/creating_a_3d_particle_system.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/3d/particles/index.pot b/sphinx/templates/tutorials/3d/particles/index.pot index f3a60c5277..7ba7c2431a 100644 --- a/sphinx/templates/tutorials/3d/particles/index.pot +++ b/sphinx/templates/tutorials/3d/particles/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/3d/particles/process_material_properties.pot b/sphinx/templates/tutorials/3d/particles/process_material_properties.pot index 6d6ea77cde..8792509ad5 100644 --- a/sphinx/templates/tutorials/3d/particles/process_material_properties.pot +++ b/sphinx/templates/tutorials/3d/particles/process_material_properties.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/3d/particles/properties.pot b/sphinx/templates/tutorials/3d/particles/properties.pot index 8e69553d00..91780b8682 100644 --- a/sphinx/templates/tutorials/3d/particles/properties.pot +++ b/sphinx/templates/tutorials/3d/particles/properties.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -112,15 +112,23 @@ msgstr "" msgid "When you set ``Fixed FPS`` to very low values, you will notice that the particle animation starts to look choppy. This can sometimes be desired if it fits the art direction, but most of the time, you'll want particle systems to animate smoothly. That's what the ``Interpolate`` property does. It blends particle properties between updates so that even a particle system running at ``10`` FPS appears as smooth as running at ``60``." msgstr "" -#: ../../docs/tutorials/3d/particles/properties.rst:119 +#: ../../docs/tutorials/3d/particles/properties.rst:118 +msgid "When using :ref:`particle collision `, tunneling can occur if the particles move fast and colliders are thin. This can be remedied by increasing ``Fixed FPS`` (at a performance cost)." +msgstr "" + +#: ../../docs/tutorials/3d/particles/properties.rst:125 msgid "Collision properties" msgstr "" -#: ../../docs/tutorials/3d/particles/properties.rst:121 +#: ../../docs/tutorials/3d/particles/properties.rst:129 +msgid "Setting up particle collision requires following further steps described in :ref:`doc_3d_particles_collision`." +msgstr "" + +#: ../../docs/tutorials/3d/particles/properties.rst:132 msgid "The ``Base Size`` property defines each particle's default collision size, which is used to check whether a particle is currently colliding with the environment. You would usually want this to be about the same size as the particle. It can make sense to increase this value for particles that are very small and move very fast to prevent them from clipping through the collision geometry." msgstr "" -#: ../../docs/tutorials/3d/particles/properties.rst:130 +#: ../../docs/tutorials/3d/particles/properties.rst:141 msgid "Drawing properties" msgstr "" @@ -128,51 +136,51 @@ msgstr "" msgid "Particle drawing properties" msgstr "" -#: ../../docs/tutorials/3d/particles/properties.rst:136 +#: ../../docs/tutorials/3d/particles/properties.rst:147 msgid "The ``Visibility AABB`` property defines a box around the particle system's origin. As long as any part of this box is in the camera's field of view, the particle system is visible. As soon as it leaves the camera's field of view, the particle system stops being rendered at all. You can use this property to boost performance by keeping the box as small as possible." msgstr "" -#: ../../docs/tutorials/3d/particles/properties.rst:142 -msgid "One thing to keep in mind when you set a size for the ``Visibility AABB`` is that particles that are outside of its bounds disappear instantly when it leaves the camera's field of view. This, while not technically a bug, can have a negative effect on the visual experience." +#: ../../docs/tutorials/3d/particles/properties.rst:153 +msgid "One thing to keep in mind when you set a size for the ``Visibility AABB`` is that particles that are outside of its bounds disappear instantly when it leaves the camera's field of view. Particle collision will also not occur outside the ``Visibility AABB``. While not technically a bug, this can have a negative effect on the visual experience." msgstr "" -#: ../../docs/tutorials/3d/particles/properties.rst:146 +#: ../../docs/tutorials/3d/particles/properties.rst:158 msgid "When the ``Local Coords`` property is checked, all particle calculations use the local coordinate system to determine things like up and down, gravity, and movement direction. Up and down, for example, would follow the particle system's or its parent node's rotation. When the property is unchecked, the global world space is used for these calculations: Down will always be -Y in world space, regardless of the particle system's rotation." msgstr "" -#: ../../docs/tutorials/3d/particles/properties.rst:154 +#: ../../docs/tutorials/3d/particles/properties.rst:166 msgid "Local space coordinates (left) vs. world space coordinates (right)" msgstr "" -#: ../../docs/tutorials/3d/particles/properties.rst:156 +#: ../../docs/tutorials/3d/particles/properties.rst:168 msgid "The ``Draw Order`` property controls the order in which individual particles are drawn. ``Index`` means that they are drawn in the order of emission: particles that are spawned later are drawn on top of earlier ones. ``Lifetime`` means that they are drawn in the order of their remaining lifetime. ``Reverse Lifetime`` reverses the ``Lifetime`` draw order. ``View Depth`` means particles are drawn according to their distance from the camera: The ones closer to the camera on top of those farther away." msgstr "" -#: ../../docs/tutorials/3d/particles/properties.rst:163 +#: ../../docs/tutorials/3d/particles/properties.rst:175 msgid "The ``Transform Align`` property controls the particle's default rotation. ``Disabled`` means they don't align in any particular way. Instead, their rotation is determined by the values set in the process material. ``Z-Billboard`` means that the particles will always face the camera. This is similar to the ``Billboard`` property in the :ref:`Standard Material `. ``Y to Velocity`` means that each particle's Y-axis aligns with its movement direction. This can be useful for things like bullets or arrows, where you want particles to always point \"forward\". ``Z-Billboard + Y to Velocity`` combines the previous two modes. Each particle's Z-axis will point towards the camera while its Y-axis will align with their velocity." msgstr "" -#: ../../docs/tutorials/3d/particles/properties.rst:175 +#: ../../docs/tutorials/3d/particles/properties.rst:187 msgid "Trail properties" msgstr "" -#: ../../docs/tutorials/3d/particles/properties.rst:181 +#: ../../docs/tutorials/3d/particles/properties.rst:193 msgid "Particle trails" msgstr "" -#: ../../docs/tutorials/3d/particles/properties.rst:181 +#: ../../docs/tutorials/3d/particles/properties.rst:193 msgid "Particle trail properties" msgstr "" -#: ../../docs/tutorials/3d/particles/properties.rst:183 +#: ../../docs/tutorials/3d/particles/properties.rst:195 msgid "The ``Enabled`` property controls whether particles are rendered as trails. The box needs to be checked if you want to make use of particle trails." msgstr "" -#: ../../docs/tutorials/3d/particles/properties.rst:186 +#: ../../docs/tutorials/3d/particles/properties.rst:198 msgid "The ``Length Secs`` property controls for how long a trail should be emitted. The longer this duration is, the longer the trail will be." msgstr "" -#: ../../docs/tutorials/3d/particles/properties.rst:189 +#: ../../docs/tutorials/3d/particles/properties.rst:201 msgid "See the :ref:`Particle trails ` section in this manual for a detailed explanation of how particle trails work and how to set them up." msgstr "" diff --git a/sphinx/templates/tutorials/3d/particles/subemitters.pot b/sphinx/templates/tutorials/3d/particles/subemitters.pot index 9ef4ae59e2..b9bcb30e7e 100644 --- a/sphinx/templates/tutorials/3d/particles/subemitters.pot +++ b/sphinx/templates/tutorials/3d/particles/subemitters.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/3d/particles/trails.pot b/sphinx/templates/tutorials/3d/particles/trails.pot index 3bb59a7a65..4da35262d6 100644 --- a/sphinx/templates/tutorials/3d/particles/trails.pot +++ b/sphinx/templates/tutorials/3d/particles/trails.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/3d/particles/turbulence.pot b/sphinx/templates/tutorials/3d/particles/turbulence.pot index bc8a26df6c..be965025d5 100644 --- a/sphinx/templates/tutorials/3d/particles/turbulence.pot +++ b/sphinx/templates/tutorials/3d/particles/turbulence.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/3d/physical_light_and_camera_units.pot b/sphinx/templates/tutorials/3d/physical_light_and_camera_units.pot index c06c6c8d95..2e52680a16 100644 --- a/sphinx/templates/tutorials/3d/physical_light_and_camera_units.pot +++ b/sphinx/templates/tutorials/3d/physical_light_and_camera_units.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/3d/procedural_geometry/arraymesh.pot b/sphinx/templates/tutorials/3d/procedural_geometry/arraymesh.pot index f488857e0a..2da3f1421f 100644 --- a/sphinx/templates/tutorials/3d/procedural_geometry/arraymesh.pot +++ b/sphinx/templates/tutorials/3d/procedural_geometry/arraymesh.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/3d/procedural_geometry/immediatemesh.pot b/sphinx/templates/tutorials/3d/procedural_geometry/immediatemesh.pot index 16bd42f33f..2791705465 100644 --- a/sphinx/templates/tutorials/3d/procedural_geometry/immediatemesh.pot +++ b/sphinx/templates/tutorials/3d/procedural_geometry/immediatemesh.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/3d/procedural_geometry/index.pot b/sphinx/templates/tutorials/3d/procedural_geometry/index.pot index a854dd5c25..4bb1d0db57 100644 --- a/sphinx/templates/tutorials/3d/procedural_geometry/index.pot +++ b/sphinx/templates/tutorials/3d/procedural_geometry/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/3d/procedural_geometry/meshdatatool.pot b/sphinx/templates/tutorials/3d/procedural_geometry/meshdatatool.pot index 52ca8a1ee6..e18d9a1d76 100644 --- a/sphinx/templates/tutorials/3d/procedural_geometry/meshdatatool.pot +++ b/sphinx/templates/tutorials/3d/procedural_geometry/meshdatatool.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/3d/procedural_geometry/surfacetool.pot b/sphinx/templates/tutorials/3d/procedural_geometry/surfacetool.pot index 81879a214c..ba4efd94c1 100644 --- a/sphinx/templates/tutorials/3d/procedural_geometry/surfacetool.pot +++ b/sphinx/templates/tutorials/3d/procedural_geometry/surfacetool.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/3d/resolution_scaling.pot b/sphinx/templates/tutorials/3d/resolution_scaling.pot index 87f9eebac4..5f23bf9021 100644 --- a/sphinx/templates/tutorials/3d/resolution_scaling.pot +++ b/sphinx/templates/tutorials/3d/resolution_scaling.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/3d/standard_material_3d.pot b/sphinx/templates/tutorials/3d/standard_material_3d.pot index cd90cefc60..7d6ead32b4 100644 --- a/sphinx/templates/tutorials/3d/standard_material_3d.pot +++ b/sphinx/templates/tutorials/3d/standard_material_3d.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/3d/using_decals.pot b/sphinx/templates/tutorials/3d/using_decals.pot index bdf1baaf87..70f614b626 100644 --- a/sphinx/templates/tutorials/3d/using_decals.pot +++ b/sphinx/templates/tutorials/3d/using_decals.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/3d/using_gridmaps.pot b/sphinx/templates/tutorials/3d/using_gridmaps.pot index 4ac9e94cb3..21ae9ace01 100644 --- a/sphinx/templates/tutorials/3d/using_gridmaps.pot +++ b/sphinx/templates/tutorials/3d/using_gridmaps.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/3d/using_multi_mesh_instance.pot b/sphinx/templates/tutorials/3d/using_multi_mesh_instance.pot index 5a78956a5a..a2d45ec461 100644 --- a/sphinx/templates/tutorials/3d/using_multi_mesh_instance.pot +++ b/sphinx/templates/tutorials/3d/using_multi_mesh_instance.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/3d/using_transforms.pot b/sphinx/templates/tutorials/3d/using_transforms.pot index dae7f533c4..884c028182 100644 --- a/sphinx/templates/tutorials/3d/using_transforms.pot +++ b/sphinx/templates/tutorials/3d/using_transforms.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/3d/variable_rate_shading.pot b/sphinx/templates/tutorials/3d/variable_rate_shading.pot index de3bb1b1bb..dccb95133e 100644 --- a/sphinx/templates/tutorials/3d/variable_rate_shading.pot +++ b/sphinx/templates/tutorials/3d/variable_rate_shading.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/3d/visibility_ranges.pot b/sphinx/templates/tutorials/3d/visibility_ranges.pot index a74aafaed3..882195461e 100644 --- a/sphinx/templates/tutorials/3d/visibility_ranges.pot +++ b/sphinx/templates/tutorials/3d/visibility_ranges.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/3d/volumetric_fog.pot b/sphinx/templates/tutorials/3d/volumetric_fog.pot index d69cb2a7e9..3194c34a7d 100644 --- a/sphinx/templates/tutorials/3d/volumetric_fog.pot +++ b/sphinx/templates/tutorials/3d/volumetric_fog.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/animation/2d_skeletons.pot b/sphinx/templates/tutorials/animation/2d_skeletons.pot index c6a6e56a33..69d4dc4382 100644 --- a/sphinx/templates/tutorials/animation/2d_skeletons.pot +++ b/sphinx/templates/tutorials/animation/2d_skeletons.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/animation/animation_track_types.pot b/sphinx/templates/tutorials/animation/animation_track_types.pot index 6273f303de..cd3a8d9ed5 100644 --- a/sphinx/templates/tutorials/animation/animation_track_types.pot +++ b/sphinx/templates/tutorials/animation/animation_track_types.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/animation/animation_tree.pot b/sphinx/templates/tutorials/animation/animation_tree.pot index 6af61f70bd..d7f37ac599 100644 --- a/sphinx/templates/tutorials/animation/animation_tree.pot +++ b/sphinx/templates/tutorials/animation/animation_tree.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/animation/creating_movies.pot b/sphinx/templates/tutorials/animation/creating_movies.pot index 16f09e1aed..72450d8279 100644 --- a/sphinx/templates/tutorials/animation/creating_movies.pot +++ b/sphinx/templates/tutorials/animation/creating_movies.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/animation/cutout_animation.pot b/sphinx/templates/tutorials/animation/cutout_animation.pot index 93dbadc5bf..f43df13e7b 100644 --- a/sphinx/templates/tutorials/animation/cutout_animation.pot +++ b/sphinx/templates/tutorials/animation/cutout_animation.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/animation/index.pot b/sphinx/templates/tutorials/animation/index.pot index 6a3c09d00c..b6b8f3f7b0 100644 --- a/sphinx/templates/tutorials/animation/index.pot +++ b/sphinx/templates/tutorials/animation/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/animation/introduction.pot b/sphinx/templates/tutorials/animation/introduction.pot index 97a82c09b0..8c55b5f8e7 100644 --- a/sphinx/templates/tutorials/animation/introduction.pot +++ b/sphinx/templates/tutorials/animation/introduction.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/animation/playing_videos.pot b/sphinx/templates/tutorials/animation/playing_videos.pot index 1549f95afe..68c4c34c7c 100644 --- a/sphinx/templates/tutorials/animation/playing_videos.pot +++ b/sphinx/templates/tutorials/animation/playing_videos.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/assets_pipeline/escn_exporter/animation.pot b/sphinx/templates/tutorials/assets_pipeline/escn_exporter/animation.pot index 2ac13d6557..47aef385b8 100644 --- a/sphinx/templates/tutorials/assets_pipeline/escn_exporter/animation.pot +++ b/sphinx/templates/tutorials/assets_pipeline/escn_exporter/animation.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/assets_pipeline/escn_exporter/index.pot b/sphinx/templates/tutorials/assets_pipeline/escn_exporter/index.pot index 0d752450ac..d1c03f4a8f 100644 --- a/sphinx/templates/tutorials/assets_pipeline/escn_exporter/index.pot +++ b/sphinx/templates/tutorials/assets_pipeline/escn_exporter/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/assets_pipeline/escn_exporter/lights.pot b/sphinx/templates/tutorials/assets_pipeline/escn_exporter/lights.pot index 285f28b921..dbaec00468 100644 --- a/sphinx/templates/tutorials/assets_pipeline/escn_exporter/lights.pot +++ b/sphinx/templates/tutorials/assets_pipeline/escn_exporter/lights.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/assets_pipeline/escn_exporter/material.pot b/sphinx/templates/tutorials/assets_pipeline/escn_exporter/material.pot index 9f52d43a6c..9203ad5e94 100644 --- a/sphinx/templates/tutorials/assets_pipeline/escn_exporter/material.pot +++ b/sphinx/templates/tutorials/assets_pipeline/escn_exporter/material.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/assets_pipeline/escn_exporter/mesh.pot b/sphinx/templates/tutorials/assets_pipeline/escn_exporter/mesh.pot index 0aad17eb2d..827a833b69 100644 --- a/sphinx/templates/tutorials/assets_pipeline/escn_exporter/mesh.pot +++ b/sphinx/templates/tutorials/assets_pipeline/escn_exporter/mesh.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/assets_pipeline/escn_exporter/physics.pot b/sphinx/templates/tutorials/assets_pipeline/escn_exporter/physics.pot index 92d0aa292b..d9cfa9f823 100644 --- a/sphinx/templates/tutorials/assets_pipeline/escn_exporter/physics.pot +++ b/sphinx/templates/tutorials/assets_pipeline/escn_exporter/physics.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/assets_pipeline/escn_exporter/skeleton.pot b/sphinx/templates/tutorials/assets_pipeline/escn_exporter/skeleton.pot index 94ea9d39fd..0f1f30c74b 100644 --- a/sphinx/templates/tutorials/assets_pipeline/escn_exporter/skeleton.pot +++ b/sphinx/templates/tutorials/assets_pipeline/escn_exporter/skeleton.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/assets_pipeline/exporting_3d_scenes.pot b/sphinx/templates/tutorials/assets_pipeline/exporting_3d_scenes.pot index 548bbebe20..014b31d6f4 100644 --- a/sphinx/templates/tutorials/assets_pipeline/exporting_3d_scenes.pot +++ b/sphinx/templates/tutorials/assets_pipeline/exporting_3d_scenes.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/assets_pipeline/import_process.pot b/sphinx/templates/tutorials/assets_pipeline/import_process.pot index 5307029e34..006aa1d054 100644 --- a/sphinx/templates/tutorials/assets_pipeline/import_process.pot +++ b/sphinx/templates/tutorials/assets_pipeline/import_process.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/assets_pipeline/importing_3d_scenes/available_formats.pot b/sphinx/templates/tutorials/assets_pipeline/importing_3d_scenes/available_formats.pot index 77606f4280..80d1502b31 100644 --- a/sphinx/templates/tutorials/assets_pipeline/importing_3d_scenes/available_formats.pot +++ b/sphinx/templates/tutorials/assets_pipeline/importing_3d_scenes/available_formats.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -49,46 +49,46 @@ msgid "OBJ (Wavefront) format + their MTL material files. This is also supported msgstr "" #: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:21 -msgid "FBX, supported via `FBX2glTF `__ integration. This requires installing an external program that links against the proprietary FBX SDK, so we recommend using other formats listed above (if suitable for your workflow)." +msgid "FBX, supported via the `ufbx `__ library. The previous import workflow used `FBX2glTF `__ integration. This requires installing an external program that links against the proprietary FBX SDK, so we recommend using the default ubfx method or other formats listed above (if suitable for your workflow)." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:25 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:27 msgid "Copy the scene file together with the textures and mesh data (if separate) to the project repository, then Godot will do a full import when focusing the editor window." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:30 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:32 msgid "Exporting glTF 2.0 files from Blender (recommended)" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:32 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:34 msgid "There are 3 ways to export glTF files from Blender:" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:34 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:36 msgid "As a glTF binary file (``.glb``)." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:35 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:37 msgid "As a glTF text-based file with embedded binary data (``.gltf`` file)" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:36 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:38 msgid "As a glTF text-based file with separate binary data and textures (``.gltf`` file + ``.bin`` file + textures)." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:39 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:41 msgid "glTF binary files (``.glb``) are the smallest of the three options. They include the mesh and textures set up in Blender. When brought into Godot the textures are part of the object's material file." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:43 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:45 msgid "glTF embedded files (``.gltf``) function the same way as binary files. They don't provide extra functionality in Godot, and shouldn't be used since they have a larger file size." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:47 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:49 msgid "There are two reasons to use glTF with the textures separate. One is to have the scene description in a text based format and the binary data in a separate binary file. This can be useful for version control if you want to review changes in a text-based format. The second is you need the texture files separate from the material file. If you don't need either of those, glTF binary files are fine." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:54 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:56 msgid "The glTF import process first loads the glTF file's data into an in-memory GLTFState class. This data is then used to generate a Godot scene. When importing files at runtime, this scene can be directly added to the tree. The export process is the reverse of this, a Godot scene is converted to a GLTFState class, then the glTF file is generated from that." msgstr "" @@ -96,7 +96,7 @@ msgstr "" msgid "Diagram explaining the runtime import and export process for glTF files in Godot" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:64 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:66 msgid "When importing glTF files in the editor, there are two more steps. After generating the Godot scene, the ResourceImporterScene class is used to apply additional import settings, including settings you set through the Import dock and the Advanced Import Settings dialog. This is then saved as a Godot scene file, which is what gets used when you run/export your game." msgstr "" @@ -104,51 +104,51 @@ msgstr "" msgid "Diagram explaining the editor import process for glTF files in Godot" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:76 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:78 msgid "If your model contains blend shapes (also known as \"shape keys\" and \"morph targets\"), your glTF export setting **Export Deformation Bones Only** needs to be configured to **Enabled** under the Animation export configurations." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:80 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:82 msgid "Exporting non-deforming bones anyway will lead to incorrect shading." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:84 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:86 msgid "Blender versions older than 3.2 do not export emissive textures with the glTF file. If your model uses one and you're using an older version of Blender, it must be brought in separately." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:88 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:90 msgid "By default, Blender has backface culling disabled on materials and will export materials to match how they render in Blender. This means that materials in Godot will have their cull mode set to **Disabled**. This can decrease performance since backfaces will be rendered, even when they are being culled by other faces. To resolve this, enable **Backface Culling** in Blender's Materials tab, then export the scene to glTF again." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:96 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:98 msgid "Importing ``.blend`` files directly within Godot" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:100 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:102 msgid "This functionality requires Blender 3.0 or later. For best results, we recommend using Blender 3.5 or later, as it includes many fixes to the glTF exporter." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:104 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:106 msgid "It is **strongly** recommended to use an official Blender release downloaded from blender.org, as opposed to a Linux distribution package or Flatpak. This avoids any issues related to packaging, such as different library versions that can cause incompatibilities or sandboxing restrictions." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:109 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:111 msgid "From Godot 4.0 onwards, the editor can directly import ``.blend`` files by calling `Blender `__'s glTF export functionality in a transparent manner." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:113 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:115 msgid "This allows you to iterate on your 3D scenes faster, as you can save the scene in Blender, alt-tab back to Godot then see your changes immediately. When working with version control, this is also more efficient as you no longer need to commit a copy of the exported glTF file to version control." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:118 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:120 msgid "To use ``.blend`` import, you must install Blender before opening the Godot editor (if opening a project that already contains ``.blend`` files). If you keep Blender installed at its default location, Godot should be able to detect its path automatically. If this isn't the case, configure the path to the directory containing the Blender executable in the Editor Settings (**Filesystem > Import > Blender > Blender 3 Path**)." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:125 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:127 msgid "If you keep ``.blend`` files within your project folder but don't want them to be imported by Godot, disable **Filesystem > Import > Blender > Enabled** in the advanced Project Settings." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:129 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:131 msgid "The ``.blend`` import process converts to glTF first, so it still uses Godot's glTF import code. Therefore, the ``.blend`` import process is the same as the glTF import process, but with an extra step at the beginning." msgstr "" @@ -156,76 +156,80 @@ msgstr "" msgid "Diagram explaining the import process for Blender files in Godot" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:139 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:141 msgid "When working in a team, keep in mind using ``.blend`` files in your project will require *all* team members to have Blender installed. While Blender is a free download, this may add friction when working on the project. ``.blend`` import is also not available on the Android and web editors, as these platforms can't call external programs." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:145 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:147 msgid "If this is problematic, consider using glTF scenes exported from Blender instead." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:149 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:151 msgid "Exporting DAE files from Blender" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:151 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:153 msgid "Blender has built-in COLLADA support, but it does not work properly for the needs of game engines and shouldn't be used as-is. However, scenes exported with the built-in Collada support may still work for simple scenes without animation." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:155 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:157 msgid "For complex scenes or scenes that contain animations, Godot provides a `Blender plugin `_ that will correctly export COLLADA scenes for use in Godot." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:160 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:162 msgid "Importing OBJ files in Godot" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:162 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:164 msgid "OBJ is one of the simplest 3D formats out there, so Godot should be able to import most OBJ files successfully. However, OBJ is also a very limited format: it doesn't support skinning, animation, UV2 or PBR materials." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:166 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:168 msgid "There are 2 ways to use OBJ meshes in Godot:" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:168 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:170 msgid "Load them directly in a MeshInstance3D node, or any other property that expects as mesh (such as GPUParticles3D). This is the default mode." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:170 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:172 msgid "Change their import mode to **OBJ as Scene** in the Import dock then restart the editor. This allows you to use the same import options as glTF or Collada scenes, such as unwrapping UV2 on import (for :ref:`doc_using_lightmap_gi`)." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:176 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:178 msgid "Blender 3.4 and later can export RGB vertex colors in OBJ files (this is a nonstandard extension of the OBJ format). Godot is able to import those vertex colors since Godot 4.0, but they will not be displayed on the material unless you enable **Vertex Color > Use As Albedo** on the material." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:181 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:183 msgid "Vertex colors from OBJ meshes keep their original color space once imported (sRGB/linear), but their brightness is clamped to 1.0 (they can't be overbright)." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:186 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:188 msgid "Importing FBX files in Godot" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:188 -msgid "When opening a project containing FBX scenes, you will see a dialog asking you to configure FBX import. Click the link in the dialog to download an FBX2glTF binary, then extract the ZIP archive, place the binary anywhere you wish, then specify its path in the dialog." +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:190 +msgid "By default any FBX file added to a Godot project in Godot 4.3 or later will use the ufbx import method. Any file that was was added to a project in a previous version, such as 4.2, will continue to be imported via the FBX2glTF method unless you go into that files import settings, and change the importer to ``ufbx``." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:193 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:196 msgid "If you keep ``.fbx`` files within your project folder but don't want them to be imported by Godot, disable **Filesystem > Import > FBX > Enabled** in the advanced Project Settings." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:197 -msgid "The FBX import process converts to glTF first, so it still uses Godot's glTF import code. Therefore, the FBX import process is the same as the glTF import process, but with an extra step at the beginning." +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:200 +msgid "If you want to setup the FBX2glTF workflow, which is generally not recommend unless you have a specific reason to use it, you need to download the `FBX2glTF `__ executable, then specify the path to that executable in the editor settings under **Filesystem > Import > FBX > FBX2glTFPath**" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:205 +msgid "The FBX2glTF import process converts to glTF first, so it still uses Godot's glTF import code. Therefore, the FBX import process is the same as the glTF import process, but with an extra step at the beginning." msgstr "" #: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:None -msgid "Diagram explaining the import process for FBX files in Godot" +msgid "Diagram explaining the import process for FBX files in Godot via FBX2glTF" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:207 -msgid "The full installation process for using FBX in Godot is described on the `FBX import page of the Godot website `__." +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:215 +msgid "The full installation process for using FBX2glTF in Godot is described on the `FBX import page of the Godot website `__." msgstr "" #: ../../docs/:0 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 4554b7cecd..cf8adcda80 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 @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -169,345 +169,361 @@ msgstr "" msgid "**Embedded Texture Handling:** Controls how textures embedded within glTF 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:161 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:160 +msgid "**FBX**" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:162 +msgid "**Importer** Which import method is used. ubfx handles fbx files as fbx files. FBX2glTF converts FBX files to glTF on import and requires additonal setup. FBX2glTF is not recommended unless you have a specific rason to use it over ufbx or working with a different file format." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:166 +msgid "**Allow Geometry Helper Nodes** enables or disables geometry helper nodes" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:167 +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:176 msgid "Using the Advanced Import Settings dialog" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:163 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:178 msgid "The first tab you'll see is the **Scene** tab. The options available in the panel on the right are identical to the Import dock, but you have access to a 3D preview. The 3D preview can be rotated by holding down the left mouse button then dragging the mouse. Zoom can be adjusted using the mouse wheel." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:172 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:187 msgid "Advanced Import Settings dialog (Scene tab)" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:172 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:187 msgid "Advanced Import Settings dialog (Scene tab). Credit: `Modern Arm Chair 01 - Poly Haven `__" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:175 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:190 msgid "**Configuring node import options**" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:177 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:192 msgid "You can select individual nodes that compose the scene while in the **Scene** tab using the tree view at the left:" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:184 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:199 msgid "Selecting a node in the Advanced Import Settings dialog (Scene tab)" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:184 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:199 msgid "Selecting a node in the Advanced Import Settings dialog (Materials tab)" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:186 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:201 msgid "This exposes several per-node import options:" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:188 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:203 msgid "**Skip Import:** If checked, the node will not be present in the final imported scene. Enabling this disables all other options." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:190 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:205 msgid "**Generate > Physics:** If checked, generates a PhysicsBody3D *parent* node with collision shapes that are *siblings* to the MeshInstance3D node." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:192 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:207 msgid "**Generate > NavMesh:** If checked, generates a NavigationRegion3D *child* node for :ref:`navigation `. **Mesh + NavMesh** will keep the original mesh visible, while **NavMesh Only** will only import the navigation mesh (without a visual representation). **NavMesh Only** is meant to be used when you've manually authored a simplified mesh for navigation." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:197 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:212 msgid "**Generate > Occluder:** If checked, generates an OccluderInstance3D *sibling* node for :ref:`occlusion culling ` using the mesh's geometry as a basis for the occluder's shape. **Mesh + Occluder** will keep the original mesh visible, while **Occluder Only** will only import the occluder (without a visual representation). **Occluder Only** is meant to be used when you've manually authored a simplified mesh for occlusion culling." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:204 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:219 msgid "These options are only visible if some of the above options are enabled:" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:206 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:221 msgid "**Physics > Body Type:** Only visible if **Generate > Physics** is enabled. Controls the PhysicsBody3D that should be created. **Static** creates a StaticBody3D, **Dynamic** creates a RigidBody3D, **Area** creates an Area3D." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:209 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:224 msgid "**Physics > Shape Type:** Only visible if **Generate > Physics** is enabled. **Trimesh** allows for precise per-triangle collision, but it can only be used with a **Static** body type. Other types are less precise and may require manual configuration, but can be used with any body type. For static level geometry, use **Trimesh**. For dynamic geometry, use primitive shapes if possible for better performance, or use one of the convex decomposition modes if the shape is large and complex." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:216 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:231 msgid "**Decomposition > Advanced:** Only visible if **Physics > Shape Type** is **Decompose Convex**. If checked, allows adjusting advanced decomposition options. If disabled, only a preset **Precision** can be adjusted (which is usually sufficient)." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:220 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:235 msgid "**Decomposition > Precision:** Only visible if **Physics > Shape Type** is **Decompose Convex**. Controls the precision to use for convex decomposition. Higher values result in more detailed collision, at the cost of slower generation and increased CPU usage during physics simulation. To improve performance, it's recommended to keep this value as low as possible for your use cases." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:226 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:241 msgid "**Occluder > Simplification Distance:** Only visible if **Generate > Occluder** is set to **Mesh + Occluder** or **Occluder Only**. Higher values result in an occluder mesh with fewer vertices (resulting in decreased CPU utilization), at the cost of more occlusion culling issues (such as false positives or false negatives). If you run into objects disappearing when they shouldn't when the camera is near a certain mesh, try decreasing this value." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:233 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:248 msgid "**Configuring mesh and material import options**" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:235 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:250 msgid "In the Advanced Import Settings dialog, there are 2 ways to select individual meshes or materials:" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:238 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:253 msgid "Switch to the **Meshes** or **Materials** tab in the top-left corner of the dialog." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:239 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:254 msgid "Stay in the **Scene** tab, but unfold the options on the tree view on the left. After choosing a mesh or material, this presents the same information as the **Meshes** and **Materials** tabs, but in a tree view instead of a list." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:243 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:258 msgid "If you select a mesh, different options will appear in the panel on the right:" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:249 -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:249 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:264 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:264 msgid "Advanced Import Settings dialog (Meshes tab)" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:251 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:266 msgid "The options are as follows:" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:253 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:268 msgid "**Save to File:** Saves the :ref:`class_Mesh` *resource* to an external file (this isn't a scene file). You generally don't need to use this for placing the mesh in a 3D scene – instead, you should instance the 3D scene directly. However, having direct access to the Mesh resource is useful for specific nodes, such as :ref:`class_MeshInstance3D`, :ref:`class_MultiMeshInstance3D`, :ref:`class_GPUParticles3D` or :ref:`class_CPUParticles3D`. - You will also need to specify an output file path using the option that appears after enabling **Save to File**. It's recommended to use the ``.res`` output file extension for smaller file sizes and faster loading speeds, as ``.tres`` is inefficient for writing large amounts of data." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:263 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:278 msgid "**Generate > Shadow Meshes:** Per-mesh override for the **Meshes > Create Shadow Meshes** scene-wide import option described in :ref:`doc_importing_3d_scenes_using_the_import_dock`. **Default** will use the scene-wide import option, while **Enable** or **Disable** can forcibly enable or disable this behavior on a specific mesh." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:268 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:283 msgid "**Generate > Lightmap UV:** Per-mesh override for the **Meshes > Light Baking** scene-wide import option described in :ref:`doc_importing_3d_scenes_using_the_import_dock`. **Default** will use the scene-wide import option, while **Enable** or **Disable** can forcibly enable or disable this behavior on a specific mesh. - Setting this to **Enable** on a scene with the **Static** light baking mode is equivalent to configuring this mesh to use **Static Lightmaps**. Setting this to **Disable** on a scene with the **Static Lightmaps** light baking mode is equivalent to configuring this mesh to use **Static** instead." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:277 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:292 msgid "**Generate > LODs:** Per-mesh override for the **Meshes > Generate LODs** scene-wide import option described in :ref:`doc_importing_3d_scenes_using_the_import_dock`. **Default** will use the scene-wide import option, while **Enable** or **Disable** can forcibly enable or disable this behavior on a specific mesh." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:282 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:297 msgid "**LODs > Normal Split Angle:** The minimum angle difference between two vertices required to preserve a geometry edge in mesh LOD generation. If running into visual issues with LOD generation, decreasing this value may help (at the cost of less efficient LOD generation)." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:286 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:301 msgid "**LODs > Normal Merge Angle:** The minimum angle difference between two vertices required to preserve a geometry edge in mesh LOD generation. If running into visual issues with LOD generation, decreasing this value may help (at the cost of less efficient LOD generation)." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:291 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:306 msgid "If you select a material, only one option will appear in the panel on the right:" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:297 -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:297 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:312 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:312 msgid "Advanced Import Settings dialog (Materials tab)" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:299 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:314 msgid "When **Use External** is checked and an output path is specified, this lets you use an external material instead of the material that is included in the original 3D scene file; see the section below." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:304 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:319 msgid "Extracting materials to separate files" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:306 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:321 msgid "While Godot can import materials authored in 3D modeling software, the default configuration may not be suitable for your needs. For example:" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:309 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:324 msgid "You want to configure material features not supported by your 3D application." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:310 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:325 msgid "You want to use a different texture filtering mode, as this option is configured in the material since Godot 4.0 (and not in the image)." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:312 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:327 msgid "You want to replace one of the materials with an entirely different material, such as a custom shader." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:315 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:330 msgid "To be able to modify the 3D scene's materials in the Godot editor, you need to use *external* material resources." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:318 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:333 msgid "In the top-left corner of the Advanced Import Settings dialog, choose **Actions… > Extract Materials**:" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:325 -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:325 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:340 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:340 msgid "Extracting all built-in materials to external resources in the Advanced Import Settings dialog" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:327 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:342 msgid "After choosing this option, select a folder to extract material ``.tres`` files to, then confirm the extraction:" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:334 -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:334 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:349 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:349 msgid "Confirming material extraction in the Advanced Import Settings subdialog" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:338 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:353 msgid "After extracting materials, the 3D scene will automatically be configured to use external material references. As a result, you don't need to manually enable **Use External** on every material to make the external ``.tres`` material effective." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:343 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:358 msgid "When **Use External** is enabled, remember that the Advanced Import Settings dialog will keep displaying the mesh's original materials (the ones designed in the 3D modeling software). This means your customizations to the materials won't be visible within this dialog. To preview your modified materials, you need to place the imported 3D scene in another scene using the editor." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:349 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:364 msgid "Godot will not overwrite changes made to extracted materials when the source 3D scene is reimported. However, if the material name is changed in the source 3D file, the link between the original material and the extracted material will be lost. As a result, you'll need to use the Advanced Import Settings dialog to associate the renamed material to the existing extracted material." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:355 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:370 msgid "The above can be done in the dialog's **Materials** tab by selecting the material, enabling **Save to File**, then specifying the save path using the **Path** option that appears after enabling **Save to File**." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:362 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:377 msgid "Using import scripts for automation" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:364 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:379 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:368 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:383 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:394 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:409 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:398 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:413 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:401 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:416 msgid "Using animation libraries" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:403 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:418 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:409 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:424 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:416 -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:416 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:431 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:431 msgid "Changing the import type to Animation Library in the Import dock" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:418 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:433 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:423 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:438 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:428 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:443 msgid "Filter script" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:430 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:445 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:433 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:448 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:440 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:455 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:446 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:461 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:453 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:468 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:458 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:473 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:464 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:479 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:473 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:488 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:477 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:492 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:480 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:495 msgid "Storage" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:482 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:497 msgid "By default, animations are saved as built-in. It is possible to save them to a file instead. This allows adding custom tracks to the animations and keeping them after a reimport." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:487 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:502 msgid "Optimizer" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:489 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:504 msgid "When animations are imported, an optimizer is run, which reduces the size of the animation considerably. In general, this should always be turned on unless you suspect that an animation might be broken due to it being enabled." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:494 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:509 msgid "Clips" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:496 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:511 msgid "It is possible to specify multiple animations from a single timeline as clips. For this to work, the model must have only one animation that is named ``default``. To create clips, change the clip amount to something greater than zero. You can then name a clip, specify which frames it starts and stops on, and choose whether the animation loops or not." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:503 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:518 msgid "Scene inheritance" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:505 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:520 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:509 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:524 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:517 -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:517 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:532 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:532 msgid "Dialog when opening an imported 3D scene in the editor" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:519 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:534 msgid "In inherited scenes, the only limitations for modification are:" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:521 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:536 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:523 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:538 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:526 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:541 msgid "Other than that, everything is allowed." msgstr "" diff --git a/sphinx/templates/tutorials/assets_pipeline/importing_3d_scenes/index.pot b/sphinx/templates/tutorials/assets_pipeline/importing_3d_scenes/index.pot index 3d29d316d2..545275a5d8 100644 --- a/sphinx/templates/tutorials/assets_pipeline/importing_3d_scenes/index.pot +++ b/sphinx/templates/tutorials/assets_pipeline/importing_3d_scenes/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/assets_pipeline/importing_3d_scenes/model_export_considerations.pot b/sphinx/templates/tutorials/assets_pipeline/importing_3d_scenes/model_export_considerations.pot index 171839625b..8c87c51ab3 100644 --- a/sphinx/templates/tutorials/assets_pipeline/importing_3d_scenes/model_export_considerations.pot +++ b/sphinx/templates/tutorials/assets_pipeline/importing_3d_scenes/model_export_considerations.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -49,42 +49,42 @@ msgid "Exporting textures separately" msgstr "" #: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/model_export_considerations.rst:40 -msgid "While textures can be exported with a model in certain file formats, such as glTF 2.0, you can also export them separately. Godot uses PBR (physically based rendering) for its materials, so if a texturing program can export PBR textures they can work in Godot. This includes the `Substance suite `__, `ArmorPaint (open source) `__, and `Material Maker (open source) `__." +msgid "While textures can be exported with a model in certain file formats, such as glTF 2.0, you can also export them separately. Godot uses PBR (physically based rendering) for its materials, so if a texturing program can export PBR textures, they can work in Godot. This includes the `Substance suite `__, `ArmorPaint (open source) `__, and `Material Maker (open source) `__." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/model_export_considerations.rst:45 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/model_export_considerations.rst:47 msgid "For more information on Godot's materials, see :ref:`doc_standard_material_3d`." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/model_export_considerations.rst:48 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/model_export_considerations.rst:50 msgid "Exporting considerations" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/model_export_considerations.rst:50 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/model_export_considerations.rst:52 msgid "Since GPUs can only render triangles, meshes that contain quads or N-gons have to be *triangulated* before they can be rendered. Godot can triangulate meshes on import, but results may be unpredictable or incorrect, especially with N-gons. Regardless of the target application, triangulating *before* exporting the scene will lead to more consistent results and should be done whenever possible." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/model_export_considerations.rst:57 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/model_export_considerations.rst:59 msgid "To avoid issues with incorrect triangulation after importing in Godot, it is recommended to make the 3D modeling software triangulate objects on its own. In Blender, this can be done by adding a Triangulate modifier to your objects and making sure **Apply Modifiers** is checked in the export dialog. Alternatively, depending on the exporter, you may be able to find and enable a **Triangulate Faces** option in the export dialog." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/model_export_considerations.rst:64 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/model_export_considerations.rst:66 msgid "To avoid issues with 3D selection in the editor, it is recommended to apply the object transform in the 3D modeling software before exporting the scene." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/model_export_considerations.rst:69 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/model_export_considerations.rst:71 msgid "It is important that the mesh is not deformed by bones when exporting. Make sure that the skeleton is reset to its T-pose or default rest pose before exporting with your favorite 3D editor." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/model_export_considerations.rst:74 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/model_export_considerations.rst:76 msgid "Lighting considerations" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/model_export_considerations.rst:76 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/model_export_considerations.rst:78 msgid "While it's possible to import lights from a 3D scene using the glTF, ``.blend`` or Collada formats, it's generally advised to design the scene's lighting in the Godot editor after importing the scene." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/model_export_considerations.rst:80 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/model_export_considerations.rst:82 msgid "This allows you to get a more accurate feel for the final result, as different engines will render lights in a different manner. This also avoids any issues with lights appearing excessively strong or faint as a result of the import process." msgstr "" diff --git a/sphinx/templates/tutorials/assets_pipeline/importing_3d_scenes/node_type_customization.pot b/sphinx/templates/tutorials/assets_pipeline/importing_3d_scenes/node_type_customization.pot index b151909926..57025756af 100644 --- a/sphinx/templates/tutorials/assets_pipeline/importing_3d_scenes/node_type_customization.pot +++ b/sphinx/templates/tutorials/assets_pipeline/importing_3d_scenes/node_type_customization.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/assets_pipeline/importing_audio_samples.pot b/sphinx/templates/tutorials/assets_pipeline/importing_audio_samples.pot index 38a47bf689..546b50ddc0 100644 --- a/sphinx/templates/tutorials/assets_pipeline/importing_audio_samples.pot +++ b/sphinx/templates/tutorials/assets_pipeline/importing_audio_samples.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/assets_pipeline/importing_images.pot b/sphinx/templates/tutorials/assets_pipeline/importing_images.pot index c986114017..3fc63ba449 100644 --- a/sphinx/templates/tutorials/assets_pipeline/importing_images.pot +++ b/sphinx/templates/tutorials/assets_pipeline/importing_images.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/assets_pipeline/importing_translations.pot b/sphinx/templates/tutorials/assets_pipeline/importing_translations.pot index 68b05b409f..6b0509bf28 100644 --- a/sphinx/templates/tutorials/assets_pipeline/importing_translations.pot +++ b/sphinx/templates/tutorials/assets_pipeline/importing_translations.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/assets_pipeline/index.pot b/sphinx/templates/tutorials/assets_pipeline/index.pot index a73963d083..bc09e88628 100644 --- a/sphinx/templates/tutorials/assets_pipeline/index.pot +++ b/sphinx/templates/tutorials/assets_pipeline/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/assets_pipeline/retargeting_3d_skeletons.pot b/sphinx/templates/tutorials/assets_pipeline/retargeting_3d_skeletons.pot index a7aed8f716..f8bc2857b0 100644 --- a/sphinx/templates/tutorials/assets_pipeline/retargeting_3d_skeletons.pot +++ b/sphinx/templates/tutorials/assets_pipeline/retargeting_3d_skeletons.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/audio/audio_buses.pot b/sphinx/templates/tutorials/audio/audio_buses.pot index 9791684400..8c6e3a1861 100644 --- a/sphinx/templates/tutorials/audio/audio_buses.pot +++ b/sphinx/templates/tutorials/audio/audio_buses.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/audio/audio_effects.pot b/sphinx/templates/tutorials/audio/audio_effects.pot index 1e25605f3f..37c859d6d9 100644 --- a/sphinx/templates/tutorials/audio/audio_effects.pot +++ b/sphinx/templates/tutorials/audio/audio_effects.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/audio/audio_streams.pot b/sphinx/templates/tutorials/audio/audio_streams.pot index 178a670550..66e9dd0cb6 100644 --- a/sphinx/templates/tutorials/audio/audio_streams.pot +++ b/sphinx/templates/tutorials/audio/audio_streams.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -37,7 +37,7 @@ msgid "An audio stream is an abstract object that emits sound. The sound can com msgstr "" #: ../../docs/tutorials/audio/audio_streams.rst:23 -msgid "There are other types of AudioStreams, such as AudioStreamRandomPitch. This one makes a random adjustment to the sound's pitch every time it's played back. This can be helpful for adding variation to sounds that are played back often." +msgid "There are other types of AudioStreams, such as :ref:`AudioStreamRandomizer`. This one picks a different audio stream from a list of streams each time it's played back, and applies random pitch and volume shifting. This can be helpful for adding variation to sounds that are played back often." msgstr "" #: ../../docs/tutorials/audio/audio_streams.rst:29 @@ -48,59 +48,63 @@ msgstr "" msgid "This is the standard, non-positional stream player. It can play to any bus. In 5.1 sound setups, it can send audio to stereo mix or front speakers." msgstr "" -#: ../../docs/tutorials/audio/audio_streams.rst:37 +#: ../../docs/tutorials/audio/audio_streams.rst:36 +msgid "Playback Type is an experimental setting, and could change in future versions of Godot. It exists so Web exports use Web Audio-API based samples instead of streaming all sounds to the browser, unlike most platforms. This prevents the audio from being garbled in single-threaded Web exports. By default, only the Web platform will use samples. Changing this setting is not recommended, unless you have an explicit reason to. You can change the default playback type for the web and other platforms in the project settings under **Audio > General** (advanced settings must be turned on to see the setting)." +msgstr "" + +#: ../../docs/tutorials/audio/audio_streams.rst:46 msgid "AudioStreamPlayer2D" msgstr "" -#: ../../docs/tutorials/audio/audio_streams.rst:41 +#: ../../docs/tutorials/audio/audio_streams.rst:50 msgid "This is a variant of AudioStreamPlayer, but emits sound in a 2D positional environment. When close to the left of the screen, the panning will go left. When close to the right side, it will go right." msgstr "" -#: ../../docs/tutorials/audio/audio_streams.rst:47 +#: ../../docs/tutorials/audio/audio_streams.rst:56 msgid "Area2Ds can be used to divert sound from any AudioStreamPlayer2Ds they contain to specific buses. This makes it possible to create buses with different reverb or sound qualities to handle action happening in a particular parts of your game world." msgstr "" -#: ../../docs/tutorials/audio/audio_streams.rst:55 +#: ../../docs/tutorials/audio/audio_streams.rst:64 msgid "AudioStreamPlayer3D" msgstr "" -#: ../../docs/tutorials/audio/audio_streams.rst:59 +#: ../../docs/tutorials/audio/audio_streams.rst:68 msgid "This is a variant of AudioStreamPlayer, but emits sound in a 3D positional environment. Depending on the location of the player relative to the screen, it can position sound in stereo, 5.1 or 7.1 depending on the chosen audio setup." msgstr "" -#: ../../docs/tutorials/audio/audio_streams.rst:63 -msgid "Similar to AudioStreamPlayer2D, an Area can divert the sound to an audio bus." +#: ../../docs/tutorials/audio/audio_streams.rst:72 +msgid "Similar to AudioStreamPlayer2D, an Area3D can divert the sound to an audio bus." msgstr "" -#: ../../docs/tutorials/audio/audio_streams.rst:67 +#: ../../docs/tutorials/audio/audio_streams.rst:76 msgid "Unlike for 2D, the 3D version of AudioStreamPlayer has a few more advanced options:" msgstr "" -#: ../../docs/tutorials/audio/audio_streams.rst:72 +#: ../../docs/tutorials/audio/audio_streams.rst:81 msgid "Reverb buses" msgstr "" -#: ../../docs/tutorials/audio/audio_streams.rst:74 -msgid "Godot allows for 3D audio streams that enter a specific Area node to send dry and wet audio to separate buses. This is useful when you have several reverb configurations for different types of rooms. This is done by enabling this type of reverb in the **Reverb Bus** section of the Area's properties:" +#: ../../docs/tutorials/audio/audio_streams.rst:83 +msgid "Godot allows for 3D audio streams that enter a specific Area3D node to send dry and wet audio to separate buses. This is useful when you have several reverb configurations for different types of rooms. This is done by enabling this type of reverb in the **Reverb Bus** section of the Area3D's properties:" msgstr "" -#: ../../docs/tutorials/audio/audio_streams.rst:81 -msgid "At the same time, a special bus layout is created where each area receives the reverb info from each area. A Reverb effect needs to be created and configured in each reverb bus to complete the setup for the desired effect:" -msgstr "" - -#: ../../docs/tutorials/audio/audio_streams.rst:87 -msgid "The Area's **Reverb Bus** section also has a parameter named **Uniformity**. Some types of rooms bounce sounds more than others (like a warehouse), so reverberation can be heard almost uniformly across the room even though the source may be far away. Playing around with this parameter can simulate that effect." -msgstr "" - -#: ../../docs/tutorials/audio/audio_streams.rst:94 -msgid "Doppler" +#: ../../docs/tutorials/audio/audio_streams.rst:90 +msgid "At the same time, a special bus layout is created where each Area3D receives the reverb info from each Area3D. A Reverb effect needs to be created and configured in each reverb bus to complete the setup for the desired effect:" msgstr "" #: ../../docs/tutorials/audio/audio_streams.rst:96 -msgid "When the relative velocity between an emitter and listener changes, this is perceived as an increase or decrease in the pitch of the emitted sound. Godot can track velocity changes in the AudioStreamPlayer3D and Camera nodes. Both nodes have this property, which must be enabled manually:" +msgid "The Area3D's **Reverb Bus** section also has a parameter named **Uniformity**. Some types of rooms bounce sounds more than others (like a warehouse), so reverberation can be heard almost uniformly across the room even though the source may be far away. Playing around with this parameter can simulate that effect." msgstr "" #: ../../docs/tutorials/audio/audio_streams.rst:103 +msgid "Doppler" +msgstr "" + +#: ../../docs/tutorials/audio/audio_streams.rst:105 +msgid "When the relative velocity between an emitter and listener changes, this is perceived as an increase or decrease in the pitch of the emitted sound. Godot can track velocity changes in the AudioStreamPlayer3D and Camera nodes. Both nodes have this property, which must be enabled manually:" +msgstr "" + +#: ../../docs/tutorials/audio/audio_streams.rst:112 msgid "Enable it by setting it depending on how objects will be moved: use **Idle** for objects moved using ``_process``, or **Physics** for objects moved using ``_physics_process``. The tracking will happen automatically." msgstr "" diff --git a/sphinx/templates/tutorials/audio/index.pot b/sphinx/templates/tutorials/audio/index.pot index cbaff87f87..2932fbb275 100644 --- a/sphinx/templates/tutorials/audio/index.pot +++ b/sphinx/templates/tutorials/audio/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/audio/recording_with_microphone.pot b/sphinx/templates/tutorials/audio/recording_with_microphone.pot index f6aace7ab8..2bae67e412 100644 --- a/sphinx/templates/tutorials/audio/recording_with_microphone.pot +++ b/sphinx/templates/tutorials/audio/recording_with_microphone.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/audio/sync_with_audio.pot b/sphinx/templates/tutorials/audio/sync_with_audio.pot index 7669e7b6d9..559a9a81b9 100644 --- a/sphinx/templates/tutorials/audio/sync_with_audio.pot +++ b/sphinx/templates/tutorials/audio/sync_with_audio.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/audio/text_to_speech.pot b/sphinx/templates/tutorials/audio/text_to_speech.pot index 286828f5a9..fc727bf491 100644 --- a/sphinx/templates/tutorials/audio/text_to_speech.pot +++ b/sphinx/templates/tutorials/audio/text_to_speech.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/best_practices/autoloads_versus_internal_nodes.pot b/sphinx/templates/tutorials/best_practices/autoloads_versus_internal_nodes.pot index 8ec0714b4b..84c2172339 100644 --- a/sphinx/templates/tutorials/best_practices/autoloads_versus_internal_nodes.pot +++ b/sphinx/templates/tutorials/best_practices/autoloads_versus_internal_nodes.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/best_practices/data_preferences.pot b/sphinx/templates/tutorials/best_practices/data_preferences.pot index 0eb7c6149d..135d2207e6 100644 --- a/sphinx/templates/tutorials/best_practices/data_preferences.pot +++ b/sphinx/templates/tutorials/best_practices/data_preferences.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -285,7 +285,7 @@ msgid "Enumerations: int vs. string" msgstr "" #: ../../docs/tutorials/best_practices/data_preferences.rst:284 -msgid "Most languages offer an enumeration type option. GDScript is no different, but unlike most other languages, it allows one to use either integers or strings for the enum values (the latter only when using the ``export`` keyword in GDScript). The question then arises, \"which should one use?\"" +msgid "Most languages offer an enumeration type option. GDScript is no different, but unlike most other languages, it allows one to use either integers or strings for the enum values (the latter only when using the ``@export_enum`` annotation in GDScript). The question then arises, \"which should one use?\"" msgstr "" #: ../../docs/tutorials/best_practices/data_preferences.rst:289 diff --git a/sphinx/templates/tutorials/best_practices/godot_interfaces.pot b/sphinx/templates/tutorials/best_practices/godot_interfaces.pot index 36144cd86e..7b73694c0d 100644 --- a/sphinx/templates/tutorials/best_practices/godot_interfaces.pot +++ b/sphinx/templates/tutorials/best_practices/godot_interfaces.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/best_practices/godot_notifications.pot b/sphinx/templates/tutorials/best_practices/godot_notifications.pot index 3ddef95dca..82ac46b9df 100644 --- a/sphinx/templates/tutorials/best_practices/godot_notifications.pot +++ b/sphinx/templates/tutorials/best_practices/godot_notifications.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/best_practices/index.pot b/sphinx/templates/tutorials/best_practices/index.pot index 186fea7e39..e713fc9369 100644 --- a/sphinx/templates/tutorials/best_practices/index.pot +++ b/sphinx/templates/tutorials/best_practices/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/best_practices/introduction_best_practices.pot b/sphinx/templates/tutorials/best_practices/introduction_best_practices.pot index 918c6f8556..871489ebe0 100644 --- a/sphinx/templates/tutorials/best_practices/introduction_best_practices.pot +++ b/sphinx/templates/tutorials/best_practices/introduction_best_practices.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/best_practices/logic_preferences.pot b/sphinx/templates/tutorials/best_practices/logic_preferences.pot index 0721125f05..67011dabd1 100644 --- a/sphinx/templates/tutorials/best_practices/logic_preferences.pot +++ b/sphinx/templates/tutorials/best_practices/logic_preferences.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -73,7 +73,7 @@ msgid "If one wishes only to 'import' another class resource (script or scene), msgstr "" #: ../../docs/tutorials/best_practices/logic_preferences.rst:121 -msgid "If the 'imported' class is liable to change, then it should be a property instead, initialized either using an ``export`` or a ``load()`` (and perhaps not even initialized until later)." +msgid "If the 'imported' class is liable to change, then it should be a property instead, initialized either using an ``@export`` or a ``load()`` (and perhaps not even initialized until later)." msgstr "" #: ../../docs/tutorials/best_practices/logic_preferences.rst:125 diff --git a/sphinx/templates/tutorials/best_practices/node_alternatives.pot b/sphinx/templates/tutorials/best_practices/node_alternatives.pot index 85e12161af..3c45b36f3e 100644 --- a/sphinx/templates/tutorials/best_practices/node_alternatives.pot +++ b/sphinx/templates/tutorials/best_practices/node_alternatives.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/best_practices/project_organization.pot b/sphinx/templates/tutorials/best_practices/project_organization.pot index 53836c3e6b..ad6c0063b6 100644 --- a/sphinx/templates/tutorials/best_practices/project_organization.pot +++ b/sphinx/templates/tutorials/best_practices/project_organization.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/best_practices/scene_organization.pot b/sphinx/templates/tutorials/best_practices/scene_organization.pot index 0d85b6ca6b..533612a1db 100644 --- a/sphinx/templates/tutorials/best_practices/scene_organization.pot +++ b/sphinx/templates/tutorials/best_practices/scene_organization.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -105,7 +105,7 @@ msgid "A GUI like this can better inform project users of critical information a msgstr "" #: ../../docs/tutorials/best_practices/scene_organization.rst:234 -msgid "So, why does all this complex switcheroo work? Well, because scenes operate best when they operate alone. If unable to work alone, then working with others anonymously (with minimal hard dependencies, i.e. loose coupling) is the next best thing. Inevitably, changes may need to be made to a class and if these changes cause it to interact with other scenes in unforeseen ways, then things will start to break down. The whole point of all this indirection is to avoid ending up in a situation where changing one class results in adversely effecting other classes dependent on it." +msgid "So, why does all this complex switcheroo work? Well, because scenes operate best when they operate alone. If unable to work alone, then working with others anonymously (with minimal hard dependencies, i.e. loose coupling) is the next best thing. Inevitably, changes may need to be made to a class and if these changes cause it to interact with other scenes in unforeseen ways, then things will start to break down. The whole point of all this indirection is to avoid ending up in a situation where changing one class results in adversely affecting other classes dependent on it." msgstr "" #: ../../docs/tutorials/best_practices/scene_organization.rst:243 diff --git a/sphinx/templates/tutorials/best_practices/scenes_versus_scripts.pot b/sphinx/templates/tutorials/best_practices/scenes_versus_scripts.pot index 1b3d14f075..a643643601 100644 --- a/sphinx/templates/tutorials/best_practices/scenes_versus_scripts.pot +++ b/sphinx/templates/tutorials/best_practices/scenes_versus_scripts.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/best_practices/version_control_systems.pot b/sphinx/templates/tutorials/best_practices/version_control_systems.pot index 5158b7f3af..6f1cb8abc3 100644 --- a/sphinx/templates/tutorials/best_practices/version_control_systems.pot +++ b/sphinx/templates/tutorials/best_practices/version_control_systems.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/best_practices/what_are_godot_classes.pot b/sphinx/templates/tutorials/best_practices/what_are_godot_classes.pot index 21f2735281..17b5890e9d 100644 --- a/sphinx/templates/tutorials/best_practices/what_are_godot_classes.pot +++ b/sphinx/templates/tutorials/best_practices/what_are_godot_classes.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/editor/command_line_tutorial.pot b/sphinx/templates/tutorials/editor/command_line_tutorial.pot index 93ed3872f5..2e15a9dce8 100644 --- a/sphinx/templates/tutorials/editor/command_line_tutorial.pot +++ b/sphinx/templates/tutorials/editor/command_line_tutorial.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/editor/customizing_editor.pot b/sphinx/templates/tutorials/editor/customizing_editor.pot index cc7fa3e6cb..a3a3851086 100644 --- a/sphinx/templates/tutorials/editor/customizing_editor.pot +++ b/sphinx/templates/tutorials/editor/customizing_editor.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/editor/default_key_mapping.pot b/sphinx/templates/tutorials/editor/default_key_mapping.pot index f9bd4077ed..a7f4d3ee9e 100644 --- a/sphinx/templates/tutorials/editor/default_key_mapping.pot +++ b/sphinx/templates/tutorials/editor/default_key_mapping.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/editor/external_editor.pot b/sphinx/templates/tutorials/editor/external_editor.pot index de7e9078eb..5fb1c9eb99 100644 --- a/sphinx/templates/tutorials/editor/external_editor.pot +++ b/sphinx/templates/tutorials/editor/external_editor.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/editor/index.pot b/sphinx/templates/tutorials/editor/index.pot index d9b6816edd..ffe6c361fa 100644 --- a/sphinx/templates/tutorials/editor/index.pot +++ b/sphinx/templates/tutorials/editor/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/editor/inspector_dock.pot b/sphinx/templates/tutorials/editor/inspector_dock.pot index 4754280954..ddaa7d048e 100644 --- a/sphinx/templates/tutorials/editor/inspector_dock.pot +++ b/sphinx/templates/tutorials/editor/inspector_dock.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/editor/managing_editor_features.pot b/sphinx/templates/tutorials/editor/managing_editor_features.pot index 331cb8e198..80cba43bda 100644 --- a/sphinx/templates/tutorials/editor/managing_editor_features.pot +++ b/sphinx/templates/tutorials/editor/managing_editor_features.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/editor/project_manager.pot b/sphinx/templates/tutorials/editor/project_manager.pot index 897c4189b3..4a717db0a4 100644 --- a/sphinx/templates/tutorials/editor/project_manager.pot +++ b/sphinx/templates/tutorials/editor/project_manager.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -29,7 +29,7 @@ msgid "To change the editors language click on the \"Settings\" Button in the to msgstr "" #: ../../docs/tutorials/editor/project_manager.rst:16 -msgid "Then on the settings page seelct the language you want from the dropdown menu." +msgid "Then on the settings page select the language you want from the dropdown menu." msgstr "" #: ../../docs/tutorials/editor/project_manager.rst:23 @@ -121,7 +121,7 @@ msgid "This will open up the manage project tags window. To add a tag click the msgstr "" #: ../../docs/tutorials/editor/project_manager.rst:100 -msgid "type out the tag name, and click \"ok\". Your project will now have a tag added to it. These tags can be used for any other project in your project manager. In addition tags will stay with projects. So if you tag your project, send it to another machine and import it into the project manager you will see the tags you created." +msgid "Type out the tag name, and click \"ok\". Your project will now have a tag added to it. These tags can be used for any other project in your project manager. In addition tags will stay with projects. So if you tag your project, send it to another machine and import it into the project manager you will see the tags you created." msgstr "" #: ../../docs/tutorials/editor/project_manager.rst:105 diff --git a/sphinx/templates/tutorials/editor/project_settings.pot b/sphinx/templates/tutorials/editor/project_settings.pot index 00062d02c9..76f5d0d5ea 100644 --- a/sphinx/templates/tutorials/editor/project_settings.pot +++ b/sphinx/templates/tutorials/editor/project_settings.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/editor/using_the_android_editor.pot b/sphinx/templates/tutorials/editor/using_the_android_editor.pot index 8bc77e62ae..7f7ef39f80 100644 --- a/sphinx/templates/tutorials/editor/using_the_android_editor.pot +++ b/sphinx/templates/tutorials/editor/using_the_android_editor.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/editor/using_the_web_editor.pot b/sphinx/templates/tutorials/editor/using_the_web_editor.pot index b5b88ec145..edcbacb277 100644 --- a/sphinx/templates/tutorials/editor/using_the_web_editor.pot +++ b/sphinx/templates/tutorials/editor/using_the_web_editor.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/export/android_gradle_build.pot b/sphinx/templates/tutorials/export/android_gradle_build.pot index 1f33792fca..1557b84eff 100644 --- a/sphinx/templates/tutorials/export/android_gradle_build.pot +++ b/sphinx/templates/tutorials/export/android_gradle_build.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/export/changing_application_icon_for_windows.pot b/sphinx/templates/tutorials/export/changing_application_icon_for_windows.pot index 37fbe0a3fa..31818d8b72 100644 --- a/sphinx/templates/tutorials/export/changing_application_icon_for_windows.pot +++ b/sphinx/templates/tutorials/export/changing_application_icon_for_windows.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/export/exporting_for_android.pot b/sphinx/templates/tutorials/export/exporting_for_android.pot index f85a70b5d3..4a5138463d 100644 --- a/sphinx/templates/tutorials/export/exporting_for_android.pot +++ b/sphinx/templates/tutorials/export/exporting_for_android.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -57,7 +57,7 @@ msgid "Run it once to complete the SDK setup using these `instructions `__ are installed as well." +msgid "Ensure that the `required packages `__ are installed as well." msgstr "" #: ../../docs/tutorials/export/exporting_for_android.rst:36 diff --git a/sphinx/templates/tutorials/export/exporting_for_dedicated_servers.pot b/sphinx/templates/tutorials/export/exporting_for_dedicated_servers.pot index 91b25ebe26..c0ced335dc 100644 --- a/sphinx/templates/tutorials/export/exporting_for_dedicated_servers.pot +++ b/sphinx/templates/tutorials/export/exporting_for_dedicated_servers.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/export/exporting_for_ios.pot b/sphinx/templates/tutorials/export/exporting_for_ios.pot index 6f58088baa..1f5d3ce1ae 100644 --- a/sphinx/templates/tutorials/export/exporting_for_ios.pot +++ b/sphinx/templates/tutorials/export/exporting_for_ios.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/export/exporting_for_linux.pot b/sphinx/templates/tutorials/export/exporting_for_linux.pot index ccfe6b223e..420f0f4df3 100644 --- a/sphinx/templates/tutorials/export/exporting_for_linux.pot +++ b/sphinx/templates/tutorials/export/exporting_for_linux.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/export/exporting_for_macos.pot b/sphinx/templates/tutorials/export/exporting_for_macos.pot index b37d8b8355..dbdf524b5f 100644 --- a/sphinx/templates/tutorials/export/exporting_for_macos.pot +++ b/sphinx/templates/tutorials/export/exporting_for_macos.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/export/exporting_for_web.pot b/sphinx/templates/tutorials/export/exporting_for_web.pot index 8b88677a73..e6554e3d1b 100644 --- a/sphinx/templates/tutorials/export/exporting_for_web.pot +++ b/sphinx/templates/tutorials/export/exporting_for_web.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/export/exporting_for_windows.pot b/sphinx/templates/tutorials/export/exporting_for_windows.pot index 03af225e9c..2e92bf721d 100644 --- a/sphinx/templates/tutorials/export/exporting_for_windows.pot +++ b/sphinx/templates/tutorials/export/exporting_for_windows.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/export/exporting_pcks.pot b/sphinx/templates/tutorials/export/exporting_pcks.pot index a1540b9768..255417c0e8 100644 --- a/sphinx/templates/tutorials/export/exporting_pcks.pot +++ b/sphinx/templates/tutorials/export/exporting_pcks.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/export/exporting_projects.pot b/sphinx/templates/tutorials/export/exporting_projects.pot index 69630d2f35..3374ea94d7 100644 --- a/sphinx/templates/tutorials/export/exporting_projects.pot +++ b/sphinx/templates/tutorials/export/exporting_projects.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/export/feature_tags.pot b/sphinx/templates/tutorials/export/feature_tags.pot index 3d38a4c8b6..e82f2ce399 100644 --- a/sphinx/templates/tutorials/export/feature_tags.pot +++ b/sphinx/templates/tutorials/export/feature_tags.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -409,58 +409,58 @@ msgid ":ref:`Movie Maker mode ` is active" msgstr "" #: ../../docs/tutorials/export/feature_tags.rst:128 -msgid "With the exception of texture compression and ``movie`` feature tags, default feature tags are **immutable**. This means that they will *not* change depending on run-time conditions. For example, ``OS.has_feature(\"mobile\")`` will return ``false`` when running a project exported to HTML5 on a mobile device." +msgid "With the exception of texture compression, ``web_`` and ``movie`` feature tags, default feature tags are **immutable**. This means that they will *not* change depending on run-time conditions. For example, ``OS.has_feature(\"mobile\")`` will return ``false`` when running a project exported to Web on a mobile device." msgstr "" #: ../../docs/tutorials/export/feature_tags.rst:134 -msgid "To check whether a project exported to HTML5 is running on a mobile device, :ref:`call JavaScript code ` that reads the browser's user agent." +msgid "To check whether a project exported to Web is running on a mobile device, use ``OS.has_feature(\"web_android\") or OS.web_has_feature(\"web_ios\")``." msgstr "" -#: ../../docs/tutorials/export/feature_tags.rst:139 +#: ../../docs/tutorials/export/feature_tags.rst:138 msgid "Custom features" msgstr "" -#: ../../docs/tutorials/export/feature_tags.rst:141 +#: ../../docs/tutorials/export/feature_tags.rst:140 msgid "It is possible to add custom features to a build; use the relevant field in the *export preset* used to generate it:" msgstr "" -#: ../../docs/tutorials/export/feature_tags.rst:148 +#: ../../docs/tutorials/export/feature_tags.rst:147 msgid "Custom feature tags are only used when running the exported project (including with :ref:`doc_one-click_deploy`). They are **not used** when running the project from the editor, even if the export preset marked as **Runnable** for your current platform has custom feature tags defined." msgstr "" -#: ../../docs/tutorials/export/feature_tags.rst:154 +#: ../../docs/tutorials/export/feature_tags.rst:153 msgid "Overriding project settings" msgstr "" -#: ../../docs/tutorials/export/feature_tags.rst:156 +#: ../../docs/tutorials/export/feature_tags.rst:155 msgid "Features can be used to override specific configuration values in the *Project Settings*. This allows you to better customize any configuration when doing a build." msgstr "" -#: ../../docs/tutorials/export/feature_tags.rst:159 +#: ../../docs/tutorials/export/feature_tags.rst:158 msgid "In the following example, a different icon is added for the demo build of the game (which was customized in a special export preset, which, in turn, includes only demo levels)." msgstr "" -#: ../../docs/tutorials/export/feature_tags.rst:164 +#: ../../docs/tutorials/export/feature_tags.rst:163 msgid "After overriding, a new field is added for this specific configuration:" msgstr "" -#: ../../docs/tutorials/export/feature_tags.rst:170 +#: ../../docs/tutorials/export/feature_tags.rst:169 msgid "When using the :ref:`project settings \"override.cfg\" functionality ` (which is unrelated to feature tags), remember that feature tags still apply. Therefore, make sure to *also* override the setting with the desired feature tag(s) if you want them to override base project settings on all platforms and configurations." msgstr "" -#: ../../docs/tutorials/export/feature_tags.rst:178 +#: ../../docs/tutorials/export/feature_tags.rst:177 msgid "Default overrides" msgstr "" -#: ../../docs/tutorials/export/feature_tags.rst:180 +#: ../../docs/tutorials/export/feature_tags.rst:179 msgid "There are already a lot of settings that come with overrides by default; they can be found in many sections of the project settings." msgstr "" -#: ../../docs/tutorials/export/feature_tags.rst:186 +#: ../../docs/tutorials/export/feature_tags.rst:185 msgid "Customizing the build" msgstr "" -#: ../../docs/tutorials/export/feature_tags.rst:188 +#: ../../docs/tutorials/export/feature_tags.rst:187 msgid "Feature tags can be used to customize a build process too, by writing a custom **ExportPlugin**. They are also used to specify which shared library is loaded and exported in **GDExtension**." msgstr "" diff --git a/sphinx/templates/tutorials/export/index.pot b/sphinx/templates/tutorials/export/index.pot index 350fca0a7b..96081bf5c8 100644 --- a/sphinx/templates/tutorials/export/index.pot +++ b/sphinx/templates/tutorials/export/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/export/one-click_deploy.pot b/sphinx/templates/tutorials/export/one-click_deploy.pot index a63acbb8fe..fbece5230d 100644 --- a/sphinx/templates/tutorials/export/one-click_deploy.pot +++ b/sphinx/templates/tutorials/export/one-click_deploy.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/export/running_on_macos.pot b/sphinx/templates/tutorials/export/running_on_macos.pot index 4fabafb27c..c706a24f29 100644 --- a/sphinx/templates/tutorials/export/running_on_macos.pot +++ b/sphinx/templates/tutorials/export/running_on_macos.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/i18n/index.pot b/sphinx/templates/tutorials/i18n/index.pot index 94887545c4..9e6c1618b0 100644 --- a/sphinx/templates/tutorials/i18n/index.pot +++ b/sphinx/templates/tutorials/i18n/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/i18n/internationalizing_games.pot b/sphinx/templates/tutorials/i18n/internationalizing_games.pot index 989936e790..73f8d1e1f5 100644 --- a/sphinx/templates/tutorials/i18n/internationalizing_games.pot +++ b/sphinx/templates/tutorials/i18n/internationalizing_games.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -25,294 +25,294 @@ msgid "Introduction" msgstr "" #: ../../docs/tutorials/i18n/internationalizing_games.rst:9 -msgid "Sería excelente que el mundo hablara solo un idioma (It would be great if the world spoke only one language). Unfortunately for us developers, that is not the case. While indie or niche games usually do not need localization, games targeting a more massive market often require localization. Godot offers many tools to make this process more straightforward, so this tutorial is more like a collection of tips and tricks." +msgid "While indie or niche games usually do not need localization, games targeting a more massive market often require localization. Godot offers many tools to make this process more straightforward, so this tutorial is more like a collection of tips and tricks." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:17 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:15 msgid "Localization is usually done by specific studios hired for the job. Despite the huge amount of software and file formats available for this, the most common way to do localization to this day is still with spreadsheets. The process of creating the spreadsheets and importing them is already covered in the :ref:`doc_importing_translations` tutorial. If you haven't read the Importing translations page before, we recommend you give it a read before reading this page." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:25 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:23 msgid "We will be using the official demo as an example; you can `download it from the Asset Library `_." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:29 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:27 msgid "Configuring the imported translation" msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:31 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:29 msgid "Translations can get updated and re-imported when they change, but they still have to be added to the project. This is done in **Project → Project Settings → Localization**:" msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:37 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:35 msgid "The above dialog is used to add or remove translations project-wide." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:40 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:38 msgid "Localizing resources" msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:42 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:40 msgid "It is also possible to instruct Godot to use alternate versions of assets (resources) depending on the current language. This can be used for localized images such as in-game billboards or localized voices." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:46 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:44 msgid "The **Remaps** tab can be used for this:" msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:50 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:48 msgid "Select the resource to be remapped then add some alternatives for each locale." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:54 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:52 msgid "The resource remapping system isn't supported for DynamicFonts. To use different fonts depending on the language's script, use the DynamicFont fallback system instead, which lets you define as many fallback fonts as you want." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:59 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:57 msgid "The upside of the DynamicFont fallback system is that it works regardless of the current language, making it ideal for things like multiplayer chat where the text language may not match the client's language." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:64 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:62 msgid "Converting keys to text" msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:66 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:64 msgid "Some controls, such as :ref:`Button ` and :ref:`Label `, will automatically fetch a translation if their text matches a translation key. For example, if a label's text is \"MAIN_SCREEN_GREETING1\" and that key exists in the current translation, then the text will automatically be translated." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:71 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:69 msgid "This automatic translation behavior may be undesirable in certain cases. For instance, when using a Label to display a player's name, you most likely don't want the player's name to be translated if it matches a translation key. To disable automatic translation on a specific node, disable **Localization > Auto Translate** in the inspector." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:77 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:75 msgid "In code, the :ref:`Object.tr() ` function can be used. This will just look up the text in the translations and convert it if found:" msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:87 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:85 msgid "If no text is displayed after changing the language, try to use a different font. The default project font only supports a subset of the Latin-1 character set, which cannot be used to display languages like Russian or Chinese." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:91 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:89 msgid "A good resource for multilingual fonts is `Noto Fonts `__. Make sure to download the correct variation if you're using a less common language." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:95 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:93 msgid "Once you've downloaded the font, load the TTF file into a DynamicFont resource and use it as a custom font of your Control node. For better reusability, associate a new a Theme resource to your root Control node and define the DynamicFont as the Default Font in the theme." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:101 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:99 msgid "Placeholders" msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:103 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:101 msgid "To feature placeholders in your translated strings, use :ref:`doc_gdscript_printf` or the equivalent feature in C#. This lets translators move the location of the placeholder in the string freely, which allows translations to sound more natural. Named placeholders with the ``String.format()`` function should be used whenever possible, as they also allow translators to choose the *order* in which placeholders appear:" msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:121 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:119 msgid "Translation contexts" msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:123 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:121 msgid "If you're using plain English as source strings (rather than message codes ``LIKE_THIS``), you may run into ambiguities when you have to translate the same English string to different strings in certain target languages. You can optionally specify a *translation context* to resolve this ambiguity and allow target languages to use different strings, even though the source string is identical:" msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:139 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:137 msgid "Pluralization" msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:141 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:139 msgid "Most languages require different strings depending on whether an object is in singular or plural form. However, hardcoding the \"is plural\" condition depending on whether there is more than 1 object is not valid in all languages." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:145 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:143 msgid "Some languages have more than two plural forms, and the rules on the number of objects required for each plural form vary. Godot offers support for *pluralization* so that the target locales can handle this automatically." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:149 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:147 msgid "Pluralization is meant to be used with positive (or zero) integer numbers only. Negative and floating-point values usually represent physical entities for which singular and plural don't clearly apply." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:158 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:156 msgid "This can be combined with a context if needed:" msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:167 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:165 msgid "Providing pluralized translations is only supported with :ref:`doc_localization_using_gettext`, not CSV." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:171 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:169 msgid "Making controls resizable" msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:173 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:171 msgid "The same text in different languages can vary greatly in length. For this, make sure to read the tutorial on :ref:`doc_size_and_anchors`, as dynamically adjusting control sizes may help. :ref:`Container ` can be useful, as well as the text wrapping options available in :ref:`Label `." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:179 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:177 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." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:186 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:184 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:189 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:187 msgid "While looking strange at first, pseudolocalization has several benefits:" msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:191 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:189 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:193 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:191 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:196 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:194 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:202 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:200 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:206 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:204 msgid "TranslationServer" msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:208 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:206 msgid "Godot has a server handling low-level translation management called the :ref:`TranslationServer `. Translations can be added or removed during run-time; the current language can also be changed at run-time." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:216 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:214 msgid "Bidirectional text and UI Mirroring" msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:218 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:216 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:222 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:220 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:225 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:223 msgid "For RTL languages, Godot will automatically do the following changes to the UI:" msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:227 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:225 msgid "Mirrors left/right anchors and margins." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:228 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:226 msgid "Swaps left and right text alignment." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:229 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:227 msgid "Mirrors horizontal order of the child controls in the containers, and items in Tree/ItemList controls." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:230 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:228 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:231 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:229 msgid "Coordinate system is not mirrored, and non-UI nodes (sprites, e.t.c) are not affected." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:233 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:231 msgid "It is possible to override text and control layout direction by using the following control properties:" msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:235 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:233 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:236 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:234 msgid "``language``, overrides current project locale." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:237 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:235 msgid "``structured_text_bidi_override`` property and ``_structured_text_parser`` callback, enables special handling for structured text." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:238 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:236 msgid "``layout_direction``, overrides control mirroring." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:244 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:242 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:248 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:246 msgid "Adding break iterator data to exported project" msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:250 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:248 msgid "Some languages are written without spaces, and word and line breaking requires more than rules over character sequences. Godot includes ICU rule and dictionary based, break iterator data, but this data is not included into exported projects by default. To include it go to **Project → Project Settings → Localization → Text Server Data** and click **Install support data...**. Break iterator data is about 4 MB large." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:257 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:255 msgid "Structured text BiDi override" msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:259 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:257 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:265 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:263 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:270 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:268 msgid "Custom callbacks provide a way to override BiDi for the other types of structured text." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:273 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:271 msgid "Localizing numbers" msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:275 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:273 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:283 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:281 msgid "Localizing icons and images" msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:285 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:283 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:290 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:288 msgid "Testing translations" msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:292 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:290 msgid "You may want to test a project's translation before releasing it. Godot provides two ways to do this." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:295 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:293 msgid "First, in the Project Settings, under **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:302 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:300 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:306 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:304 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:315 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:313 msgid "Translating the project name" msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:317 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:315 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:328 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:326 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/i18n/locales.pot b/sphinx/templates/tutorials/i18n/locales.pot index 057b6dbe76..85c80c667b 100644 --- a/sphinx/templates/tutorials/i18n/locales.pot +++ b/sphinx/templates/tutorials/i18n/locales.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/i18n/localization_using_gettext.pot b/sphinx/templates/tutorials/i18n/localization_using_gettext.pot index 983a00b643..f59385f3b9 100644 --- a/sphinx/templates/tutorials/i18n/localization_using_gettext.pot +++ b/sphinx/templates/tutorials/i18n/localization_using_gettext.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/i18n/pseudolocalization.pot b/sphinx/templates/tutorials/i18n/pseudolocalization.pot index 5fbf91fdc2..52754a43e8 100644 --- a/sphinx/templates/tutorials/i18n/pseudolocalization.pot +++ b/sphinx/templates/tutorials/i18n/pseudolocalization.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/inputs/controllers_gamepads_joysticks.pot b/sphinx/templates/tutorials/inputs/controllers_gamepads_joysticks.pot index 28ffc7cc80..940c13e080 100644 --- a/sphinx/templates/tutorials/inputs/controllers_gamepads_joysticks.pot +++ b/sphinx/templates/tutorials/inputs/controllers_gamepads_joysticks.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/inputs/custom_mouse_cursor.pot b/sphinx/templates/tutorials/inputs/custom_mouse_cursor.pot index 126f71f1c7..598ebd022e 100644 --- a/sphinx/templates/tutorials/inputs/custom_mouse_cursor.pot +++ b/sphinx/templates/tutorials/inputs/custom_mouse_cursor.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/inputs/handling_quit_requests.pot b/sphinx/templates/tutorials/inputs/handling_quit_requests.pot index 7be2625a7b..88216e6c4d 100644 --- a/sphinx/templates/tutorials/inputs/handling_quit_requests.pot +++ b/sphinx/templates/tutorials/inputs/handling_quit_requests.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/inputs/index.pot b/sphinx/templates/tutorials/inputs/index.pot index 34dab44b89..0cc7cf686e 100644 --- a/sphinx/templates/tutorials/inputs/index.pot +++ b/sphinx/templates/tutorials/inputs/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/inputs/input_examples.pot b/sphinx/templates/tutorials/inputs/input_examples.pot index 7dc28aefa5..fb6c8957d0 100644 --- a/sphinx/templates/tutorials/inputs/input_examples.pot +++ b/sphinx/templates/tutorials/inputs/input_examples.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/inputs/inputevent.pot b/sphinx/templates/tutorials/inputs/inputevent.pot index f9d7900468..6839b701ed 100644 --- a/sphinx/templates/tutorials/inputs/inputevent.pot +++ b/sphinx/templates/tutorials/inputs/inputevent.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/inputs/mouse_and_input_coordinates.pot b/sphinx/templates/tutorials/inputs/mouse_and_input_coordinates.pot index 23b22105c8..5c3a5dee1c 100644 --- a/sphinx/templates/tutorials/inputs/mouse_and_input_coordinates.pot +++ b/sphinx/templates/tutorials/inputs/mouse_and_input_coordinates.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/io/background_loading.pot b/sphinx/templates/tutorials/io/background_loading.pot index 0eadb22db9..77e4a145f9 100644 --- a/sphinx/templates/tutorials/io/background_loading.pot +++ b/sphinx/templates/tutorials/io/background_loading.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/io/binary_serialization_api.pot b/sphinx/templates/tutorials/io/binary_serialization_api.pot index 14a742f2f3..ac1e852517 100644 --- a/sphinx/templates/tutorials/io/binary_serialization_api.pot +++ b/sphinx/templates/tutorials/io/binary_serialization_api.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/io/data_paths.pot b/sphinx/templates/tutorials/io/data_paths.pot index ca42acfdab..9791d1a312 100644 --- a/sphinx/templates/tutorials/io/data_paths.pot +++ b/sphinx/templates/tutorials/io/data_paths.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/io/index.pot b/sphinx/templates/tutorials/io/index.pot index cfa9d6765e..321d63321f 100644 --- a/sphinx/templates/tutorials/io/index.pot +++ b/sphinx/templates/tutorials/io/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/io/runtime_file_loading_and_saving.pot b/sphinx/templates/tutorials/io/runtime_file_loading_and_saving.pot index 9b84ebac3a..fea68b971b 100644 --- a/sphinx/templates/tutorials/io/runtime_file_loading_and_saving.pot +++ b/sphinx/templates/tutorials/io/runtime_file_loading_and_saving.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/io/saving_games.pot b/sphinx/templates/tutorials/io/saving_games.pot index 80b72715be..416748816b 100644 --- a/sphinx/templates/tutorials/io/saving_games.pot +++ b/sphinx/templates/tutorials/io/saving_games.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/math/beziers_and_curves.pot b/sphinx/templates/tutorials/math/beziers_and_curves.pot index 04e0b46b67..f46312e189 100644 --- a/sphinx/templates/tutorials/math/beziers_and_curves.pot +++ b/sphinx/templates/tutorials/math/beziers_and_curves.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/math/index.pot b/sphinx/templates/tutorials/math/index.pot index 3f59f3f7ac..d3c0ebaf4c 100644 --- a/sphinx/templates/tutorials/math/index.pot +++ b/sphinx/templates/tutorials/math/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/math/interpolation.pot b/sphinx/templates/tutorials/math/interpolation.pot index 6fdfb59fec..19ff8c6dfd 100644 --- a/sphinx/templates/tutorials/math/interpolation.pot +++ b/sphinx/templates/tutorials/math/interpolation.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/math/matrices_and_transforms.pot b/sphinx/templates/tutorials/math/matrices_and_transforms.pot index 69ca4b93f2..3f30c17937 100644 --- a/sphinx/templates/tutorials/math/matrices_and_transforms.pot +++ b/sphinx/templates/tutorials/math/matrices_and_transforms.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/math/random_number_generation.pot b/sphinx/templates/tutorials/math/random_number_generation.pot index efa4f765f8..41ade4fae8 100644 --- a/sphinx/templates/tutorials/math/random_number_generation.pot +++ b/sphinx/templates/tutorials/math/random_number_generation.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/math/vector_math.pot b/sphinx/templates/tutorials/math/vector_math.pot index d08a0e5963..74c5bf21a2 100644 --- a/sphinx/templates/tutorials/math/vector_math.pot +++ b/sphinx/templates/tutorials/math/vector_math.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/math/vectors_advanced.pot b/sphinx/templates/tutorials/math/vectors_advanced.pot index 0bc7902e27..689c67a2ef 100644 --- a/sphinx/templates/tutorials/math/vectors_advanced.pot +++ b/sphinx/templates/tutorials/math/vectors_advanced.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/migrating/index.pot b/sphinx/templates/tutorials/migrating/index.pot index 7dc68670a4..70a5fa1fa4 100644 --- a/sphinx/templates/tutorials/migrating/index.pot +++ b/sphinx/templates/tutorials/migrating/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/migrating/upgrading_to_godot_4.1.pot b/sphinx/templates/tutorials/migrating/upgrading_to_godot_4.1.pot index 79b0504cb0..0f87a61bd3 100644 --- a/sphinx/templates/tutorials/migrating/upgrading_to_godot_4.1.pot +++ b/sphinx/templates/tutorials/migrating/upgrading_to_godot_4.1.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/migrating/upgrading_to_godot_4.2.pot b/sphinx/templates/tutorials/migrating/upgrading_to_godot_4.2.pot index adf840e1d9..c660c53e49 100644 --- a/sphinx/templates/tutorials/migrating/upgrading_to_godot_4.2.pot +++ b/sphinx/templates/tutorials/migrating/upgrading_to_godot_4.2.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/migrating/upgrading_to_godot_4.pot b/sphinx/templates/tutorials/migrating/upgrading_to_godot_4.pot index 956e704e1d..2e137627a0 100644 --- a/sphinx/templates/tutorials/migrating/upgrading_to_godot_4.pot +++ b/sphinx/templates/tutorials/migrating/upgrading_to_godot_4.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -542,13 +542,13 @@ msgid "Spatial" msgstr "" #: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:285 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:643 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:652 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:654 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:658 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:660 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:662 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:664 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:644 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:653 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:655 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:659 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:661 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:663 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:665 msgid "Node3D" msgstr "" @@ -999,493 +999,497 @@ msgstr "" msgid "TileMap's ``map_to_world()`` is now ``map_to_local()``." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:441 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:440 +msgid "Transform2D's ``xform()`` is ``mat * vec`` and ``xform_inv()`` is ``vec * mat``." +msgstr "" + +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:442 msgid "**Properties**" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:445 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:446 msgid "If a property is listed here, its associated getter and setter methods must also be renamed manually if used in the project. For example, PathFollow2D and PathFollow3D's ``set_offset()`` and ``get_offset()`` must be renamed to ``set_progress()`` and ``get_progress()`` respectively." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:450 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:451 msgid "Control's ``margin`` is now ``offset``." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:451 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:452 msgid "Label's ``percent_visible`` is now ``visible_ratio``." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:452 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:453 msgid "MultiPlayerAPI's ``refuse_new_network_connections`` is now ``refuse_new_connections``." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:453 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:454 msgid "PathFollow2D and PathFollow3D's ``offset`` is now ``progress``." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:454 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:455 msgid "TextureProgressBar's ``percent_visible`` is now ``show_percentage``." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:455 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:456 msgid "The ``extents`` property on CSG nodes and VoxelGI will have to be replaced with ``size``, with the set value halved (as they're no longer half-extents). This also affects its setter/getter methods ``set_extents()`` and ``get_extents()``." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:459 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:460 msgid "The ``Engine.editor_hint`` property was removed in favor of the ``Engine.is_editor_hint()`` *method*. This is because it's read-only, and properties in Godot are not used for read-only values." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:463 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:464 msgid "**Enums**" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:465 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:466 msgid "CPUParticles2D's ``FLAG_MAX`` is now ``PARTICLE_FLAG_MAX``." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:467 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:468 msgid "**Signals**" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:469 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:470 msgid "FileSystemDock's ``instantiate`` is now ``instance``." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:470 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:471 msgid "CanvasItem's ``hide`` is now ``hidden``. This rename does **not** apply to the ``hide()`` method, only the signal." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:472 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:473 msgid "Tween's ``tween_all_completed`` is now ``loop_finished``." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:473 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:474 msgid "EditorSettings' ``changed`` is now ``settings_changed``." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:475 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:476 msgid "**Constants**" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:477 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:478 msgid "Color names are now uppercase and use underscores between words. For example, ``Color.palegreen`` is now ``Color.PALE_GREEN``." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:479 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:480 msgid "MainLoop's ``NOTIFICATION_`` constants were duplicated to ``Node`` which means you can remove the ``MainLoop.`` prefix when referencing them." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:481 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:482 msgid "MainLoop's ``NOTIFICATION_WM_QUIT_REQUEST`` is now ``NOTIFICATION_WM_CLOSE_REQUEST``." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:484 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:485 msgid "Checking project settings" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:486 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:487 msgid "Several project settings were renamed, and some of them had their enums changed in incompatible ways (such as shadow filter quality). This means you may need to set some project settings' values again. Make sure the **Advanced** toggle is enabled in the project settings dialog so you can see all project settings." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:492 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:493 msgid "Checking Environment settings" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:494 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:495 msgid "Graphics quality settings were moved from Environment properties to project settings. This was done to make run-time quality adjustments easier, without having to access the currently active Environment resource then modify its properties." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:499 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:500 msgid "As a result, you will have to configure Environment quality settings in the project settings as old Environment quality settings aren't converted automatically to project settings." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:503 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:504 msgid "If you have a graphics settings menu that changed environment properties in Godot 3.x, you will have to change its code to call :ref:`class_RenderingServer` methods that affect environment effects' quality. Only the \"base\" toggle of each environment effect and its visual knobs remain within the Environment resource." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:509 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:510 msgid "Updating shaders" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:511 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:512 msgid "There have been some changes to shaders that aren't covered by the upgrade tool." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:513 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:514 msgid "The ``.shader`` file extension is no longer supported, which means you must rename ``.shader`` files to ``.gdshader`` and update references accordingly in scene/resource files using an external text editor." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:517 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:518 msgid "Some notable renames you will need to perform in shaders are:" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:519 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:520 msgid "Texture filter and repeat modes are now set on individual uniforms, rather than the texture files themselves." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:521 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:522 msgid "``hint_albedo`` is now ``source_color``." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:522 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:523 msgid "``hint_color`` is now ``source_color``." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:523 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:524 msgid ":ref:`Built in matrix variables were renamed. `" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:524 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:525 msgid "Particles shaders no longer use the ``vertex()`` processor function. Instead they use ``start()`` and ``process()``." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:527 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:528 msgid "See :ref:`doc_shading_language` for more information." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:530 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:531 msgid "Updating scripts to take backwards-incompatible changes into account" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:532 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:533 msgid "Some changes performed between Godot 3.x and 4 are not renames, but they still break backwards compatibility due to different default behavior." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:535 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:536 msgid "The most notable examples of this are:" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:537 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:538 msgid "Lifecycle functions such as ``_ready()`` and ``_process()`` no longer implicitly call parent classes' functions that have the same name. Instead, you must use ``super()`` at the top of a lifecycle function in the child class so that the parent class function is called first." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:541 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:542 msgid "Both :ref:`class_String` and :ref:`class_StringName` are now exposed to GDScript. This allows for greater optimization, as StringName is specifically designed to be used for \"constant\" strings that are created once and reused many times. These types are not strictly equivalent to each other, which means ``is_same(\"example\", &\"example\")`` returns ``false``. Although in most cases they are interchangeable (``\"example\" == &\"example\"`` returns ``true``), sometimes you may have to replace ``\"example\"`` with ``&\"example\"``." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:548 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:549 msgid ":ref:`GDScript setter and getter syntax ` was changed, but it's only partially converted by the conversion tool. In most cases, manual changes are required to make setters and getters working again." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:551 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:552 msgid ":ref:`GDScript signal connection syntax ` was changed. The conversion tool will use the string-based syntax which is still present in Godot 4, but it's recommended to switch to the :ref:`class_Signal`-based syntax described on the linked page. This way, strings are no longer involved, which avoids issues with signal name errors that can only be discovered at run-time." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:556 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:557 msgid "Built-in scripts that are :ref:`tool scripts ` do not get the ``tool`` keyword converted to the ``@tool`` annotation." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:558 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:559 msgid "The Tween node was removed in favor of Tweeners, which are also available in Godot 3.5 and later. See the `original pull request `__ for details." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:562 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:563 msgid "``randomize()`` is now automatically called on project load, so deterministic randomness with the global RandomNumberGenerate instance requires manually setting a seed in a script's ``_ready()`` function." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:565 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:566 msgid "``call_group()``, ``set_group()`` and ``notify_group()`` are now immediate by default. If calling an expensive function, this may result in stuttering when used on a group containing a large number of nodes. To use deferred calls like before, replace ``call_group(...)`` with ``call_group_flags(SceneTree.GROUP_CALL_DEFERRED, ...)`` (and do the same with ``set_group()`` and ``notify_group()`` respectively)." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:571 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:572 msgid "Instead of ``rotation_degrees``, the ``rotation`` property is exposed to the editor, which is automatically displayed as degrees in the Inspector dock. This may break animations, as the conversion is not handled automatically by the conversion tool." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:575 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:576 msgid ":ref:`class_AABB`'s ``has_no_surface()`` was inverted and renamed to ``has_surface()``." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:576 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:577 msgid ":ref:`class_AABB` and :ref:`class_Rect2`'s ``has_no_area()`` was inverted and renamed to ``has_area()``." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:578 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:579 msgid ":ref:`class_AnimatedTexture`'s ``fps`` property was replaced by ``speed_scale``, which works the same as AnimationPlayer's ``playback_speed`` property." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:580 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:581 msgid ":ref:`class_AnimatedSprite2D` and :ref:`class_AnimatedSprite3D` now allow negative ``speed_scale`` values. This may break animations if you relied on ``speed_scale`` being internally clamped to ``0.0``." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:583 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:584 msgid ":ref:`class_AnimatedSprite2D` and :ref:`class_AnimatedSprite3D`'s ``playing`` property was removed. Use ``play()``/``stop()`` method instead OR configure ``autoplay`` animation via the SpriteFrames bottom panel (but not both at once)." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:586 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:587 msgid ":ref:`class_Array`'s ``slice()`` second parameter (``end``) is now *exclusive*, instead of being inclusive. For example, this means that ``[1, 2, 3].slice(0, 1)`` now returns ``[1]`` instead of ``[1, 2]``." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:589 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:590 msgid ":ref:`class_BaseButton`'s signals are now ``button_up`` and ``button_down``. The ``pressed`` property is now ``button_pressed``." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:591 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:592 msgid ":ref:`class_Camera2D`'s ``rotating`` property was replaced by ``ignore_rotation``, which has inverted behavior." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:593 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:594 msgid "Camera2D's ``zoom`` property was inverted: higher values are now more zoomed in, instead of less." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:595 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:596 msgid ":ref:`class_Node`'s ``remove_and_skip()`` method was removed. If you need to reimplement it in a script, you can use the `old C++ implementation `__ as a reference." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:599 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:600 msgid "``OS.get_system_time_secs()`` should be converted to ``Time.get_time_dict_from_system()[\"second\"]``." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:601 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:602 msgid ":ref:`class_ResourceSaver`'s ``save()`` method now has its arguments swapped around (``resource: Resource, path: String``). This also applies to :ref:`class_ResourceFormatSaver`'s ``_save()`` method." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:604 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:605 msgid "A :ref:`class_StreamPeerTCP` must have ``poll()`` called on it to update its state, instead of relying on ``get_status()`` automatically polling: `GH-59582 `__" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:607 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:608 msgid ":ref:`class_String`'s ``right()`` method `has changed behavior `__: it now returns a number of characters from the right of the string, rather than the right side of the string from a given position. If you need the old behavior, you can use ``substr()`` instead." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:611 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:612 msgid "``is_connected_to_host()`` was removed from StreamPeerTCP and PacketPeerUDP as per `GH-59582 `__. ``get_status()`` can be used in StreamPeerTCP instead. ``is_socket_connected()`` can be used in :ref:`class_PacketPeerUDP` instead." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:615 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:616 msgid "In ``_get_property_list()``, the ``or_lesser`` property hint string is now ``or_less``." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:616 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:617 msgid "In ``_get_property_list()``, the ``noslider`` property hint string is now ``no_slider``." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:617 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:618 msgid "VisualShaderNodeVec4Parameter now takes a :ref:`class_Vector4` as parameter instead of a :ref:`class_Quaternion`." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:620 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:621 msgid "**Removed or replaced nodes/resources**" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:622 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:623 msgid "This lists all nodes that were replaced by another node requiring different configuration. The setup must be done from scratch again, as the project converter doesn't support updating existing setups:" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:627 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:628 msgid "Removed node" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:627 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:628 msgid "Closest approximation" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:627 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:628 msgid "Comment" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:629 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:630 msgid "AnimationTreePlayer" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:629 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:630 msgid "AnimationTree" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:629 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:630 msgid "AnimationTreePlayer was deprecated since Godot 3.1." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:631 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:632 msgid "BakedLightmap" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:631 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:632 msgid "LightmapGI" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:631 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:632 msgid "See :ref:`doc_using_lightmap_gi`." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:633 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:634 msgid "BakedLightmapData" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:633 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:634 msgid "LightmapGIData" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:635 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:636 msgid "BitmapFont" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:635 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:637 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:639 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:636 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:638 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:640 msgid "FontFile" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:635 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:636 msgid "See :ref:`doc_gui_using_fonts`." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:637 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:638 msgid "DynamicFont" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:639 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:640 msgid "DynamicFontData" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:641 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:642 msgid "Navigation2D" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:641 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:642 msgid "Node2D" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:641 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:642 msgid "Replaced by :ref:`other 2D Navigation nodes `." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:643 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:644 msgid "Navigation3D" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:643 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:644 msgid "Replaced by :ref:`other 3D Navigation nodes `." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:645 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:646 msgid "OpenSimplexNoise" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:645 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:646 msgid "FastNoiseLite" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:645 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:646 msgid "Has different parameters and more noise types such as cellular. No support for 4D noise as it's absent from the FastNoiseLite library." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:648 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:649 msgid "ToolButton" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:648 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:649 msgid "Button" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:648 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:649 msgid "ToolButton was Button with the **Flat** property enabled by default." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:650 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:651 msgid "YSort" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:650 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:651 msgid "Node2D or Control" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:650 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:651 msgid "CanvasItem has a new **Y Sort Enabled** property in 4.0." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:652 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:653 msgid "ProximityGroup" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:652 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:653 msgid ":ref:`class_VisibleOnScreenNotifier3D` can act as a replacement." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:654 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:655 msgid "Portal" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:654 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:655 msgid "Portal and room occlusion culling was replaced by raster :ref:`occlusion culling ` (OccluderInstance3D node), which requires a different setup process." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:658 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:659 msgid "Room" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:660 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:661 msgid "RoomManager" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:662 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:663 msgid "RoomGroup" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:664 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:665 msgid "Occluder" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:664 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:665 msgid "Geometry occlusion culling was replaced by raster :ref:`occlusion culling ` (OccluderInstance3D node), which requires a different setup process." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:668 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:669 msgid "OccluderShapeSphere" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:668 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:669 msgid "Resource" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:671 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:672 msgid "If loading an old project, the node will be replaced with its *Closest approximation* automatically (even if not using the project upgrade tool)." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:674 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:675 msgid "**Threading changes**" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:676 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:677 msgid ":ref:`Threading ` APIs have changed in 4.0. For example, the following code snippet in Godot 3.x must be modified to work in 4.0:" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:689 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:690 msgid "``Thread.is_active()`` is no longer used and should be converted to ``Thread.is_alive()``." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:693 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:694 msgid "See the `changelog `__ for a full list of changes between Godot 3.x and 4." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:697 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:698 msgid "ArrayMesh resource compatibility breakage" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:699 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:700 msgid "If you've saved an ArrayMesh resource to a ``.res`` or ``.tres`` file, the format used in 4.0 is not compatible with the one used in 3.x. You will need to go through the process of importing the source mesh file and saving it as an ArrayMesh resource again." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:705 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:706 msgid "List of automatically renamed methods, properties, signals and constants" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:707 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:708 msgid "The `editor/renames_map_3_to_4.cpp `__ source file lists all automatic renames performed by the project upgrade tool. Lines that are commented out refer to API renames that :ref:`cannot be performed automatically `." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:712 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:713 msgid "Porting editor settings" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:714 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:715 msgid "Godot 3.x and 4.0 use different editor settings files. This means their settings can be changed independently from each other." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:717 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:718 msgid "If you wish to port over your Godot 3.x settings to Godot 4, open the :ref:`editor settings folder ` and copy ``editor_settings-3.tres`` to ``editor_settings-4.tres`` while the Godot 4 editor is closed." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:724 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:725 msgid "Many settings' names and categories have changed since Godot 3.x. Editor settings whose name or category has changed won't carry over to Godot 4.0; you will have to set their values again." msgstr "" diff --git a/sphinx/templates/tutorials/navigation/index.pot b/sphinx/templates/tutorials/navigation/index.pot index f39660ce1d..e6a7dbbcd6 100644 --- a/sphinx/templates/tutorials/navigation/index.pot +++ b/sphinx/templates/tutorials/navigation/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/navigation/navigation_connecting_navmesh.pot b/sphinx/templates/tutorials/navigation/navigation_connecting_navmesh.pot index e21b8f684d..85183f5af3 100644 --- a/sphinx/templates/tutorials/navigation/navigation_connecting_navmesh.pot +++ b/sphinx/templates/tutorials/navigation/navigation_connecting_navmesh.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/navigation/navigation_debug_tools.pot b/sphinx/templates/tutorials/navigation/navigation_debug_tools.pot index 880f29a4a6..fd67c98b9d 100644 --- a/sphinx/templates/tutorials/navigation/navigation_debug_tools.pot +++ b/sphinx/templates/tutorials/navigation/navigation_debug_tools.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/navigation/navigation_different_actor_area_access.pot b/sphinx/templates/tutorials/navigation/navigation_different_actor_area_access.pot index 39c71280bf..b1bcdeebc0 100644 --- a/sphinx/templates/tutorials/navigation/navigation_different_actor_area_access.pot +++ b/sphinx/templates/tutorials/navigation/navigation_different_actor_area_access.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/navigation/navigation_different_actor_locomotion.pot b/sphinx/templates/tutorials/navigation/navigation_different_actor_locomotion.pot index bed1e3f696..6286b01f7b 100644 --- a/sphinx/templates/tutorials/navigation/navigation_different_actor_locomotion.pot +++ b/sphinx/templates/tutorials/navigation/navigation_different_actor_locomotion.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/navigation/navigation_different_actor_types.pot b/sphinx/templates/tutorials/navigation/navigation_different_actor_types.pot index 284f77e531..4afd129711 100644 --- a/sphinx/templates/tutorials/navigation/navigation_different_actor_types.pot +++ b/sphinx/templates/tutorials/navigation/navigation_different_actor_types.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/navigation/navigation_introduction_2d.pot b/sphinx/templates/tutorials/navigation/navigation_introduction_2d.pot index 46072b03c2..1e137a8772 100644 --- a/sphinx/templates/tutorials/navigation/navigation_introduction_2d.pot +++ b/sphinx/templates/tutorials/navigation/navigation_introduction_2d.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/navigation/navigation_introduction_3d.pot b/sphinx/templates/tutorials/navigation/navigation_introduction_3d.pot index da0a5b5deb..d781826dfe 100644 --- a/sphinx/templates/tutorials/navigation/navigation_introduction_3d.pot +++ b/sphinx/templates/tutorials/navigation/navigation_introduction_3d.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/navigation/navigation_optimizing_performance.pot b/sphinx/templates/tutorials/navigation/navigation_optimizing_performance.pot index 1884c94504..0e5c265e89 100644 --- a/sphinx/templates/tutorials/navigation/navigation_optimizing_performance.pot +++ b/sphinx/templates/tutorials/navigation/navigation_optimizing_performance.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/navigation/navigation_using_navigationagents.pot b/sphinx/templates/tutorials/navigation/navigation_using_navigationagents.pot index fa47724582..8108013cf7 100644 --- a/sphinx/templates/tutorials/navigation/navigation_using_navigationagents.pot +++ b/sphinx/templates/tutorials/navigation/navigation_using_navigationagents.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/navigation/navigation_using_navigationlayers.pot b/sphinx/templates/tutorials/navigation/navigation_using_navigationlayers.pot index d3deb86f58..77be7d95d4 100644 --- a/sphinx/templates/tutorials/navigation/navigation_using_navigationlayers.pot +++ b/sphinx/templates/tutorials/navigation/navigation_using_navigationlayers.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -21,7 +21,7 @@ msgid "Using NavigationLayers" msgstr "" #: ../../docs/tutorials/navigation/navigation_using_navigationlayers.rst:6 -msgid "NavigationLayers are an optional feature to further control which navigation meshes are considered in a path query and which regions can be connected. They work similar to how physics layers control collision between collision objects or how visual layers control what is rendered to the Viewport." +msgid "NavigationLayers are an optional feature to further control which navigation meshes are considered in a path query. They work similar to how physics layers control collision between collision objects or how visual layers control what is rendered to the Viewport." msgstr "" #: ../../docs/tutorials/navigation/navigation_using_navigationlayers.rst:9 @@ -29,27 +29,23 @@ msgid "NavigationLayers can be named in the **ProjectSettings** the same as phys msgstr "" #: ../../docs/tutorials/navigation/navigation_using_navigationlayers.rst:13 -msgid "If two regions have not a single compatible layer they will not be merged by the NavigationServer. See :ref:`doc_navigation_connecting_navmesh` for more information on merging navigation meshes." -msgstr "" - -#: ../../docs/tutorials/navigation/navigation_using_navigationlayers.rst:15 msgid "If a region has not a single compatible navigation layer with the ``navigation_layers`` parameter of a path query this regions navigation mesh will be skipped in pathfinding. See :ref:`doc_navigation_using_navigationpaths` for more information on querying the NavigationServer for paths." msgstr "" -#: ../../docs/tutorials/navigation/navigation_using_navigationlayers.rst:18 +#: ../../docs/tutorials/navigation/navigation_using_navigationlayers.rst:16 msgid "NavigationLayers are a single ``int`` value that is used as a **bitmask**. Many navigation related nodes have ``set_navigation_layer_value()`` and ``get_navigation_layer_value()`` functions to set and get a layer number directly without the need for more complex bitwise operations." msgstr "" -#: ../../docs/tutorials/navigation/navigation_using_navigationlayers.rst:23 +#: ../../docs/tutorials/navigation/navigation_using_navigationlayers.rst:21 msgid "In scripts the following helper functions can be used to work with the ``navigation_layers`` bitmask." msgstr "" -#: ../../docs/tutorials/navigation/navigation_using_navigationlayers.rst:92 +#: ../../docs/tutorials/navigation/navigation_using_navigationlayers.rst:90 msgid "Changing navigation layers for path queries is a performance friendly alternative to enabling / disabling entire navigation regions. Compared to region changes a navigation path query with different navigation layers does not trigger large scale updates on the NavigationServer." msgstr "" -#: ../../docs/tutorials/navigation/navigation_using_navigationlayers.rst:97 -msgid "Changing the navigation layers of NavigationAgent nodes will have an immediate effect on the next path query. Changing the navigation layers of regions will have an immediate effect on the region but any new region connect or disconnect will only be in effect after the next physics frame." +#: ../../docs/tutorials/navigation/navigation_using_navigationlayers.rst:95 +msgid "Changing the navigation layers of NavigationAgent nodes will have an immediate effect on the next path query. Changing the navigation layers of regions will have an effect after the next NavigationServer sync." msgstr "" #: ../../docs/:0 diff --git a/sphinx/templates/tutorials/navigation/navigation_using_navigationlinks.pot b/sphinx/templates/tutorials/navigation/navigation_using_navigationlinks.pot index e9a98584e3..68c34fbf1c 100644 --- a/sphinx/templates/tutorials/navigation/navigation_using_navigationlinks.pot +++ b/sphinx/templates/tutorials/navigation/navigation_using_navigationlinks.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -33,7 +33,7 @@ msgid "2D and 3D versions of NavigationJumplinks nodes are available as :ref:`Na msgstr "" #: ../../docs/tutorials/navigation/navigation_using_navigationlinks.rst:18 -msgid "Different NavigationRegions can connect their navigation meshes without the need for a NavigationLink as long as they are within navigation map ``edge_connection_margin`` and have compatible ``navigation_layers``. As soon as the distance becomes too large, building valid connections becomes a problem - a problem that NavigationLinks can solve." +msgid "Different NavigationRegions can connect their navigation meshes without the need for a NavigationLink as long as they have overlapping edges or edges that are within navigation map ``edge_connection_margin``. As soon as the distance becomes too large, building valid connections becomes a problem - a problem that NavigationLinks can solve." msgstr "" #: ../../docs/tutorials/navigation/navigation_using_navigationlinks.rst:22 diff --git a/sphinx/templates/tutorials/navigation/navigation_using_navigationmaps.pot b/sphinx/templates/tutorials/navigation/navigation_using_navigationmaps.pot index f67cbe5cea..220a8c59b4 100644 --- a/sphinx/templates/tutorials/navigation/navigation_using_navigationmaps.pot +++ b/sphinx/templates/tutorials/navigation/navigation_using_navigationmaps.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/navigation/navigation_using_navigationmeshes.pot b/sphinx/templates/tutorials/navigation/navigation_using_navigationmeshes.pot index 791270f18a..c045368a37 100644 --- a/sphinx/templates/tutorials/navigation/navigation_using_navigationmeshes.pot +++ b/sphinx/templates/tutorials/navigation/navigation_using_navigationmeshes.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -385,7 +385,7 @@ msgstr "" msgid "To avoid any unexpected problems with polygon hole calculations, avoid nesting any outlines inside other outlines of the same type (traversable / obstruction). This includes the parsed shapes from nodes. E.g. placing a smaller StaticBody2D shape inside a larger StaticBody2D shape can result in the resulting polygon being flipped." msgstr "" -#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:285 +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:287 msgid "Navigation mesh appears inside geometry in 3D." msgstr "" @@ -393,15 +393,27 @@ msgstr "" msgid "The navigation mesh baking in 3D has no concept of \"inside\". The voxel cells used to rasterize the geometry are either occupied or not. Remove the geometry that is on the ground inside the other geometry. If that is not possible, add smaller \"dummy\" geometry inside with as few triangles as possible so the cells are occupied with something." msgstr "" -#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:288 +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:287 +msgid "A :ref:`NavigationObstacle3D` shape set to bake with navigation mesh can be used to discard geometry as well." +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:293 +msgid "NavigationObstacle3D unwanted geometry discard" +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:293 +msgid "A NavigationObstacle3D shape can be used to discard unwanted navigation mesh parts." +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:296 msgid "Navigation mesh script templates" msgstr "" -#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:290 +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:298 msgid "The following script uses the NavigationServer to parse source geometry from the scene tree, bakes a navigation mesh, and updates a navigation region with the updated navigation mesh." msgstr "" -#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:405 +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:413 msgid "The following script uses the NavigationServer to update a navigation region with procedurally generated navigation mesh data." msgstr "" diff --git a/sphinx/templates/tutorials/navigation/navigation_using_navigationobstacles.pot b/sphinx/templates/tutorials/navigation/navigation_using_navigationobstacles.pot index 015bb0d007..e20b8d0aa9 100644 --- a/sphinx/templates/tutorials/navigation/navigation_using_navigationobstacles.pot +++ b/sphinx/templates/tutorials/navigation/navigation_using_navigationobstacles.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/navigation/navigation_using_navigationpathqueryobjects.pot b/sphinx/templates/tutorials/navigation/navigation_using_navigationpathqueryobjects.pot index 58bdb9d63d..cf8ad36de7 100644 --- a/sphinx/templates/tutorials/navigation/navigation_using_navigationpathqueryobjects.pot +++ b/sphinx/templates/tutorials/navigation/navigation_using_navigationpathqueryobjects.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/navigation/navigation_using_navigationpaths.pot b/sphinx/templates/tutorials/navigation/navigation_using_navigationpaths.pot index ea2af01280..86f4a41e20 100644 --- a/sphinx/templates/tutorials/navigation/navigation_using_navigationpaths.pot +++ b/sphinx/templates/tutorials/navigation/navigation_using_navigationpaths.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/navigation/navigation_using_navigationregions.pot b/sphinx/templates/tutorials/navigation/navigation_using_navigationregions.pot index 8d75ed27f5..0ff64cdb7e 100644 --- a/sphinx/templates/tutorials/navigation/navigation_using_navigationregions.pot +++ b/sphinx/templates/tutorials/navigation/navigation_using_navigationregions.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/navigation/navigation_using_navigationservers.pot b/sphinx/templates/tutorials/navigation/navigation_using_navigationservers.pot index 62e6dc351e..9aa92a7d44 100644 --- a/sphinx/templates/tutorials/navigation/navigation_using_navigationservers.pot +++ b/sphinx/templates/tutorials/navigation/navigation_using_navigationservers.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/networking/high_level_multiplayer.pot b/sphinx/templates/tutorials/networking/high_level_multiplayer.pot index 68076b0387..f66798f579 100644 --- a/sphinx/templates/tutorials/networking/high_level_multiplayer.pot +++ b/sphinx/templates/tutorials/networking/high_level_multiplayer.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/networking/http_client_class.pot b/sphinx/templates/tutorials/networking/http_client_class.pot index 96a93a3ab1..71ceadaf01 100644 --- a/sphinx/templates/tutorials/networking/http_client_class.pot +++ b/sphinx/templates/tutorials/networking/http_client_class.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/networking/http_request_class.pot b/sphinx/templates/tutorials/networking/http_request_class.pot index a2653522ba..49fcd9f764 100644 --- a/sphinx/templates/tutorials/networking/http_request_class.pot +++ b/sphinx/templates/tutorials/networking/http_request_class.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/networking/index.pot b/sphinx/templates/tutorials/networking/index.pot index 12a0b97822..56f5d57ab8 100644 --- a/sphinx/templates/tutorials/networking/index.pot +++ b/sphinx/templates/tutorials/networking/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/networking/ssl_certificates.pot b/sphinx/templates/tutorials/networking/ssl_certificates.pot index c772c1c299..c665cfa871 100644 --- a/sphinx/templates/tutorials/networking/ssl_certificates.pot +++ b/sphinx/templates/tutorials/networking/ssl_certificates.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/networking/webrtc.pot b/sphinx/templates/tutorials/networking/webrtc.pot index a36998b497..58a82170e7 100644 --- a/sphinx/templates/tutorials/networking/webrtc.pot +++ b/sphinx/templates/tutorials/networking/webrtc.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/networking/websocket.pot b/sphinx/templates/tutorials/networking/websocket.pot index d1fe8204ce..7b021041a3 100644 --- a/sphinx/templates/tutorials/networking/websocket.pot +++ b/sphinx/templates/tutorials/networking/websocket.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/performance/cpu_optimization.pot b/sphinx/templates/tutorials/performance/cpu_optimization.pot index 3b409c437a..4bba1464ef 100644 --- a/sphinx/templates/tutorials/performance/cpu_optimization.pot +++ b/sphinx/templates/tutorials/performance/cpu_optimization.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/performance/general_optimization.pot b/sphinx/templates/tutorials/performance/general_optimization.pot index c0a269544a..854f6b61b7 100644 --- a/sphinx/templates/tutorials/performance/general_optimization.pot +++ b/sphinx/templates/tutorials/performance/general_optimization.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/performance/gpu_optimization.pot b/sphinx/templates/tutorials/performance/gpu_optimization.pot index 9720e73c03..5d8e4e2f7d 100644 --- a/sphinx/templates/tutorials/performance/gpu_optimization.pot +++ b/sphinx/templates/tutorials/performance/gpu_optimization.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/performance/index.pot b/sphinx/templates/tutorials/performance/index.pot index 6413bf6bfd..2c6927f31c 100644 --- a/sphinx/templates/tutorials/performance/index.pot +++ b/sphinx/templates/tutorials/performance/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/performance/optimizing_3d_performance.pot b/sphinx/templates/tutorials/performance/optimizing_3d_performance.pot index 379e9bd9c1..beef19dc1e 100644 --- a/sphinx/templates/tutorials/performance/optimizing_3d_performance.pot +++ b/sphinx/templates/tutorials/performance/optimizing_3d_performance.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/performance/thread_safe_apis.pot b/sphinx/templates/tutorials/performance/thread_safe_apis.pot index 919a09fead..d0e0ee7129 100644 --- a/sphinx/templates/tutorials/performance/thread_safe_apis.pot +++ b/sphinx/templates/tutorials/performance/thread_safe_apis.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/performance/using_multimesh.pot b/sphinx/templates/tutorials/performance/using_multimesh.pot index 86aa9b32bd..70d017086f 100644 --- a/sphinx/templates/tutorials/performance/using_multimesh.pot +++ b/sphinx/templates/tutorials/performance/using_multimesh.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/performance/using_multiple_threads.pot b/sphinx/templates/tutorials/performance/using_multiple_threads.pot index b1d7266f35..bcf8554f69 100644 --- a/sphinx/templates/tutorials/performance/using_multiple_threads.pot +++ b/sphinx/templates/tutorials/performance/using_multiple_threads.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/performance/using_servers.pot b/sphinx/templates/tutorials/performance/using_servers.pot index 2450530495..bc59ec3d87 100644 --- a/sphinx/templates/tutorials/performance/using_servers.pot +++ b/sphinx/templates/tutorials/performance/using_servers.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/performance/vertex_animation/animating_thousands_of_fish.pot b/sphinx/templates/tutorials/performance/vertex_animation/animating_thousands_of_fish.pot index 022ac47018..2bf3c8d30f 100644 --- a/sphinx/templates/tutorials/performance/vertex_animation/animating_thousands_of_fish.pot +++ b/sphinx/templates/tutorials/performance/vertex_animation/animating_thousands_of_fish.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/performance/vertex_animation/controlling_thousands_of_fish.pot b/sphinx/templates/tutorials/performance/vertex_animation/controlling_thousands_of_fish.pot index d4f6b0a2b9..65644ba16e 100644 --- a/sphinx/templates/tutorials/performance/vertex_animation/controlling_thousands_of_fish.pot +++ b/sphinx/templates/tutorials/performance/vertex_animation/controlling_thousands_of_fish.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/performance/vertex_animation/index.pot b/sphinx/templates/tutorials/performance/vertex_animation/index.pot index 61a3bde366..35c3010afd 100644 --- a/sphinx/templates/tutorials/performance/vertex_animation/index.pot +++ b/sphinx/templates/tutorials/performance/vertex_animation/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/physics/collision_shapes_2d.pot b/sphinx/templates/tutorials/physics/collision_shapes_2d.pot index 37cf54300f..45d0d9c7dd 100644 --- a/sphinx/templates/tutorials/physics/collision_shapes_2d.pot +++ b/sphinx/templates/tutorials/physics/collision_shapes_2d.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/physics/collision_shapes_3d.pot b/sphinx/templates/tutorials/physics/collision_shapes_3d.pot index b14d1c0b1d..68dc335c11 100644 --- a/sphinx/templates/tutorials/physics/collision_shapes_3d.pot +++ b/sphinx/templates/tutorials/physics/collision_shapes_3d.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/physics/index.pot b/sphinx/templates/tutorials/physics/index.pot index 15320e90ac..7f3e2b6dcf 100644 --- a/sphinx/templates/tutorials/physics/index.pot +++ b/sphinx/templates/tutorials/physics/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/physics/kinematic_character_2d.pot b/sphinx/templates/tutorials/physics/kinematic_character_2d.pot index 3e97079830..622760109a 100644 --- a/sphinx/templates/tutorials/physics/kinematic_character_2d.pot +++ b/sphinx/templates/tutorials/physics/kinematic_character_2d.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/physics/large_world_coordinates.pot b/sphinx/templates/tutorials/physics/large_world_coordinates.pot index 30d022a198..bbf14d78bb 100644 --- a/sphinx/templates/tutorials/physics/large_world_coordinates.pot +++ b/sphinx/templates/tutorials/physics/large_world_coordinates.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/physics/physics_introduction.pot b/sphinx/templates/tutorials/physics/physics_introduction.pot index 34f528a781..dc9b6b5779 100644 --- a/sphinx/templates/tutorials/physics/physics_introduction.pot +++ b/sphinx/templates/tutorials/physics/physics_introduction.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/physics/ragdoll_system.pot b/sphinx/templates/tutorials/physics/ragdoll_system.pot index f2d686b477..8f195a09a5 100644 --- a/sphinx/templates/tutorials/physics/ragdoll_system.pot +++ b/sphinx/templates/tutorials/physics/ragdoll_system.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/physics/ray-casting.pot b/sphinx/templates/tutorials/physics/ray-casting.pot index 90bc71fde4..d9e7a6dfbb 100644 --- a/sphinx/templates/tutorials/physics/ray-casting.pot +++ b/sphinx/templates/tutorials/physics/ray-casting.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/physics/rigid_body.pot b/sphinx/templates/tutorials/physics/rigid_body.pot index 73890735f0..8ef1dc32f7 100644 --- a/sphinx/templates/tutorials/physics/rigid_body.pot +++ b/sphinx/templates/tutorials/physics/rigid_body.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/physics/soft_body.pot b/sphinx/templates/tutorials/physics/soft_body.pot index f5efbb751f..b799c871f0 100644 --- a/sphinx/templates/tutorials/physics/soft_body.pot +++ b/sphinx/templates/tutorials/physics/soft_body.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/physics/troubleshooting_physics_issues.pot b/sphinx/templates/tutorials/physics/troubleshooting_physics_issues.pot index 7b25ef835f..ec83a76c80 100644 --- a/sphinx/templates/tutorials/physics/troubleshooting_physics_issues.pot +++ b/sphinx/templates/tutorials/physics/troubleshooting_physics_issues.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/physics/using_area_2d.pot b/sphinx/templates/tutorials/physics/using_area_2d.pot index 55e5e83fdf..fe14a13c29 100644 --- a/sphinx/templates/tutorials/physics/using_area_2d.pot +++ b/sphinx/templates/tutorials/physics/using_area_2d.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/physics/using_character_body_2d.pot b/sphinx/templates/tutorials/physics/using_character_body_2d.pot index ad1ed5bd0c..20313fe00d 100644 --- a/sphinx/templates/tutorials/physics/using_character_body_2d.pot +++ b/sphinx/templates/tutorials/physics/using_character_body_2d.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" 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 17fc230d80..722ca15cd7 100644 --- a/sphinx/templates/tutorials/platform/android/android_in_app_purchases.pot +++ b/sphinx/templates/tutorials/platform/android/android_in_app_purchases.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/platform/android/android_library.pot b/sphinx/templates/tutorials/platform/android/android_library.pot index 26592e2448..4b799e7d55 100644 --- a/sphinx/templates/tutorials/platform/android/android_library.pot +++ b/sphinx/templates/tutorials/platform/android/android_library.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/platform/android/android_plugin.pot b/sphinx/templates/tutorials/platform/android/android_plugin.pot index 6af486d5aa..71fc51c022 100644 --- a/sphinx/templates/tutorials/platform/android/android_plugin.pot +++ b/sphinx/templates/tutorials/platform/android/android_plugin.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -417,7 +417,7 @@ msgid "If planning to use the GDExtension functionality in the Godot Editor, it msgstr "" #: ../../docs/tutorials/platform/android/android_plugin.rst:365 -msgid "This may involve creating dummy plugins for the host OS just so the API is published to the editor. You can use the [godot-cpp-template](https://github.com/godotengine/godot-cpp-template) github template for reference on how to do so." +msgid "This may involve creating dummy plugins for the host OS just so the API is published to the editor. You can use the `godot-cpp-template `__ github template for reference on how to do so." msgstr "" #: ../../docs/tutorials/platform/android/android_plugin.rst:370 diff --git a/sphinx/templates/tutorials/platform/android/index.pot b/sphinx/templates/tutorials/platform/android/index.pot index a5a4b3ab52..4b25552b54 100644 --- a/sphinx/templates/tutorials/platform/android/index.pot +++ b/sphinx/templates/tutorials/platform/android/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/platform/consoles.pot b/sphinx/templates/tutorials/platform/consoles.pot index 6e899b6c85..a58cb9b1c9 100644 --- a/sphinx/templates/tutorials/platform/consoles.pot +++ b/sphinx/templates/tutorials/platform/consoles.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -128,6 +128,10 @@ msgstr "" msgid "`Seaven Studio `_ offers Switch, Xbox One, Xbox Series, PlayStation 4 & PlayStation 5 porting of Godot games." msgstr "" +#: ../../docs/tutorials/platform/consoles.rst:84 +msgid "`Sickhead Games `_ offers console porting to Nintendo Switch, PlayStation 4, PlayStation 5, Xbox One, and Xbox Series X/S for Godot games." +msgstr "" + #: ../../docs/tutorials/platform/consoles.rst:86 msgid "If your company offers porting, or porting *and* publishing services for Godot games, feel free to `contact the Godot Foundation `_ to add your company to the list above." msgstr "" diff --git a/sphinx/templates/tutorials/platform/index.pot b/sphinx/templates/tutorials/platform/index.pot index 1ab239d99f..fbd144843a 100644 --- a/sphinx/templates/tutorials/platform/index.pot +++ b/sphinx/templates/tutorials/platform/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/platform/ios/index.pot b/sphinx/templates/tutorials/platform/ios/index.pot index 09dc7d282d..ed8f5c14d7 100644 --- a/sphinx/templates/tutorials/platform/ios/index.pot +++ b/sphinx/templates/tutorials/platform/ios/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/platform/ios/ios_plugin.pot b/sphinx/templates/tutorials/platform/ios/ios_plugin.pot index a7c321abbc..2f4f050ef8 100644 --- a/sphinx/templates/tutorials/platform/ios/ios_plugin.pot +++ b/sphinx/templates/tutorials/platform/ios/ios_plugin.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/platform/ios/plugins_for_ios.pot b/sphinx/templates/tutorials/platform/ios/plugins_for_ios.pot index 9c6fa4a694..8b5802203b 100644 --- a/sphinx/templates/tutorials/platform/ios/plugins_for_ios.pot +++ b/sphinx/templates/tutorials/platform/ios/plugins_for_ios.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/platform/web/customizing_html5_shell.pot b/sphinx/templates/tutorials/platform/web/customizing_html5_shell.pot index f136253f68..daf67fa442 100644 --- a/sphinx/templates/tutorials/platform/web/customizing_html5_shell.pot +++ b/sphinx/templates/tutorials/platform/web/customizing_html5_shell.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/platform/web/html5_shell_classref.pot b/sphinx/templates/tutorials/platform/web/html5_shell_classref.pot index c0ccdb8c9f..e4f96a2db0 100644 --- a/sphinx/templates/tutorials/platform/web/html5_shell_classref.pot +++ b/sphinx/templates/tutorials/platform/web/html5_shell_classref.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/platform/web/index.pot b/sphinx/templates/tutorials/platform/web/index.pot index 6d16d1abee..9ecb5ee17b 100644 --- a/sphinx/templates/tutorials/platform/web/index.pot +++ b/sphinx/templates/tutorials/platform/web/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/platform/web/javascript_bridge.pot b/sphinx/templates/tutorials/platform/web/javascript_bridge.pot index 12150c84ca..54ea4b3245 100644 --- a/sphinx/templates/tutorials/platform/web/javascript_bridge.pot +++ b/sphinx/templates/tutorials/platform/web/javascript_bridge.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/plugins/editor/3d_gizmos.pot b/sphinx/templates/tutorials/plugins/editor/3d_gizmos.pot index 6e327e23e6..64eeeb7a27 100644 --- a/sphinx/templates/tutorials/plugins/editor/3d_gizmos.pot +++ b/sphinx/templates/tutorials/plugins/editor/3d_gizmos.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/plugins/editor/import_plugins.pot b/sphinx/templates/tutorials/plugins/editor/import_plugins.pot index f26ce63108..f2ec582ec4 100644 --- a/sphinx/templates/tutorials/plugins/editor/import_plugins.pot +++ b/sphinx/templates/tutorials/plugins/editor/import_plugins.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/plugins/editor/index.pot b/sphinx/templates/tutorials/plugins/editor/index.pot index bb9f1f999e..7c426657da 100644 --- a/sphinx/templates/tutorials/plugins/editor/index.pot +++ b/sphinx/templates/tutorials/plugins/editor/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/plugins/editor/inspector_plugins.pot b/sphinx/templates/tutorials/plugins/editor/inspector_plugins.pot index f51080deb0..a8d5ccd133 100644 --- a/sphinx/templates/tutorials/plugins/editor/inspector_plugins.pot +++ b/sphinx/templates/tutorials/plugins/editor/inspector_plugins.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/plugins/editor/installing_plugins.pot b/sphinx/templates/tutorials/plugins/editor/installing_plugins.pot index 47e0277d72..7825dc569b 100644 --- a/sphinx/templates/tutorials/plugins/editor/installing_plugins.pot +++ b/sphinx/templates/tutorials/plugins/editor/installing_plugins.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/plugins/editor/making_main_screen_plugins.pot b/sphinx/templates/tutorials/plugins/editor/making_main_screen_plugins.pot index ad48316bb6..a8cbfa1215 100644 --- a/sphinx/templates/tutorials/plugins/editor/making_main_screen_plugins.pot +++ b/sphinx/templates/tutorials/plugins/editor/making_main_screen_plugins.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/plugins/editor/making_plugins.pot b/sphinx/templates/tutorials/plugins/editor/making_plugins.pot index 914035bba0..00350c3c79 100644 --- a/sphinx/templates/tutorials/plugins/editor/making_plugins.pot +++ b/sphinx/templates/tutorials/plugins/editor/making_plugins.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/plugins/editor/visual_shader_plugins.pot b/sphinx/templates/tutorials/plugins/editor/visual_shader_plugins.pot index c02967e357..962f86991e 100644 --- a/sphinx/templates/tutorials/plugins/editor/visual_shader_plugins.pot +++ b/sphinx/templates/tutorials/plugins/editor/visual_shader_plugins.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/plugins/index.pot b/sphinx/templates/tutorials/plugins/index.pot index a94c27bc35..e8d41c242c 100644 --- a/sphinx/templates/tutorials/plugins/index.pot +++ b/sphinx/templates/tutorials/plugins/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" 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 1a4703c32a..68bb102c06 100644 --- a/sphinx/templates/tutorials/plugins/running_code_in_the_editor.pot +++ b/sphinx/templates/tutorials/plugins/running_code_in_the_editor.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/rendering/compositor.pot b/sphinx/templates/tutorials/rendering/compositor.pot index 84cfa1cac1..7e31ae9da7 100644 --- a/sphinx/templates/tutorials/rendering/compositor.pot +++ b/sphinx/templates/tutorials/rendering/compositor.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/rendering/index.pot b/sphinx/templates/tutorials/rendering/index.pot index 1bd9e9b712..5fc7880c20 100644 --- a/sphinx/templates/tutorials/rendering/index.pot +++ b/sphinx/templates/tutorials/rendering/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/rendering/jitter_stutter.pot b/sphinx/templates/tutorials/rendering/jitter_stutter.pot index f62a5562eb..e48bcb8941 100644 --- a/sphinx/templates/tutorials/rendering/jitter_stutter.pot +++ b/sphinx/templates/tutorials/rendering/jitter_stutter.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -64,159 +64,155 @@ msgstr "" msgid "Sometimes only some objects appear to jitter (character or background). This happens when they are processed in different time sources (one is processed in the physics step while another is processed in the idle step). Godot 3.1 does some improvements to this, from allowing kinematic bodies to be animated in the regular ``_process()`` loop, to further fixes in the frame timer." msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:58 -msgid "You can use physics interpolation to mitigate physics-related jittering. See `lawnjelly's smoothing-addon `__ for an add-on that can be dropped into any project to enable physics interpolation." -msgstr "" - -#: ../../docs/tutorials/rendering/jitter_stutter.rst:63 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:57 msgid "Stutter" msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:65 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:59 msgid "Stutter may happen due to two different reasons. The first, and most obvious one, is the game not being able to keep full framerate performance. Solving this is game specific and will require optimization." msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:69 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:63 msgid "The second is more complicated, because it is often not associated to the engine or game but the underlying operating system. Here is some information regarding stutter on different OSs." msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:73 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:67 msgid "On platforms that support disabling V-Sync, stuttering can be made less noticeable by disabling V-Sync in the project settings. This will however cause tearing to appear, especially on monitors with low refresh rates. If your monitor supports it, consider enabling variable refresh rate (G-Sync/FreeSync) while leaving V-Sync enabled. This avoids mitigating some forms of stuttering without introducing tearing." msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:80 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:74 msgid "Forcing your graphics card to use the maximum performance profile can also help reduce stuttering, at the cost of increased GPU power draw." msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:84 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:78 msgid "Windows" msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:86 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:80 msgid "Windows is known to cause stutter in windowed games. This mostly depends on the hardware installed, drivers version and processes running in parallel (e.g. having many browser tabs open may cause stutter in a running game). To avoid this, starting with 3.1, Godot raises the game priority to \"Above Normal\". This helps considerably but may not completely eliminate stutter." msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:92 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:86 msgid "Eliminating this completely requires giving your game full privileges to become \"time critical\", which is not advised. Some games may do it, but it is advised to learn to live with this problem, as it is common for Windows games and most users won't play games windowed (games that are played in a window, e.g. puzzle games, will usually not exhibit this problem anyway)." msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:98 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:92 msgid "For fullscreen, Windows gives special priority to the game so stutter is no longer visible and very rare. This is how most games are played." msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:103 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:97 msgid "Games should use the **Exclusive Fullscreen** window mode, as opposed to **Fullscreen** which is designed to prevent Windows from automatically treating the window as if it was exclusive fullscreen." msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:107 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:101 msgid "**Fullscreen** is meant to be used by GUI applications that want to use per-pixel transparency without a risk of having it disabled by the OS. It achieves this by leaving a 1-pixel line at the bottom of the screen. By contrast, **Exclusive Fullscreen** uses the actual screen size and allows Windows to reduce jitter and input lag for fullscreen games." msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:114 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:108 msgid "Linux" msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:116 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:110 msgid "Stutter may be visible on desktop Linux, but this is usually associated with different video drivers and compositors. Some compositors may also trigger this problem (e.g. KWin), so it is advised to try using a different one to rule it out as the cause. Some window managers such as KWin and Xfwm allow you to manually disable compositing, which can improve performance (at the cost of tearing)." msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:123 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:117 msgid "There is no workaround for driver or compositor stuttering, other than reporting it as an issue to the driver or compositor developers. Stutter may be more present when playing in windowed mode as opposed to fullscreen, even with compositing disabled." msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:128 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:122 msgid "`Feral GameMode `__ can be used to automatically apply optimizations (such as forcing the GPU performance profile) when running specific processes." msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:133 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:127 msgid "macOS" msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:135 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:129 msgid "Generally, macOS is stutter-free, although recently some bugs were reported when running on fullscreen (this is a macOS bug). If you have a machine exhibiting this behavior, please let us know." msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:140 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:134 msgid "Android" msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:142 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:136 msgid "Generally, Android is stutter and jitter-free because the running activity gets all the priority. That said, there may be problematic devices (older Kindle Fire is known to be one). If you see this problem on Android, please let us know." msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:147 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:141 msgid "iOS" msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:149 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:143 msgid "iOS devices are generally stutter-free, but older devices running newer versions of the operating system may exhibit problems. This is generally unavoidable." msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:153 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:147 msgid "Input lag" msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:156 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:150 msgid "Project configuration" msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:158 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:152 msgid "On platforms that support disabling V-Sync, input lag can be made less noticeable by disabling V-Sync in the project settings. This will however cause tearing to appear, especially on monitors with low refresh rates." msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:162 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:156 msgid "Increasing the number of physics iterations per second can also reduce physics-induced input latency. This is especially noticeable when using physics interpolation (which improves smoothness but increases latency). To do so, set **Physics > Common > Physics Ticks Per Second** to a value higher than the default ``60``, or set ``Engine.physics_ticks_per_second`` at run-time in a script. Values that are a multiple of the monitor refresh rate (typically ``60``) work best when physics interpolation is disabled, as they will avoid jitter. This means values such as ``120``, ``180`` and ``240`` are good starting points. As a bonus, higher physics FPSes make tunneling and physics instability issues less likely to occur." msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:173 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:167 msgid "The downside of increasing physics FPS is that CPU usage will increase, which can lead to performance bottlenecks in games that have heavy physics simulation code. This can be alleviated by increasing physics FPS only in situations where low latency is critical, or by letting players adjust physics FPS to match their hardware. However, different physics FPS will lead to different outcomes in physics simulation, even when ``delta`` is consistently used in your game logic. This can give certain players an advantage over others. Therefore, allowing the player to change the physics FPS themselves should be avoided for competitive multiplayer games." msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:183 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:177 msgid "Lastly, you can disable input buffering on a per-rendered frame basis by calling ``Input.set_use_accumulated_input(false)`` in a script. This will make it so the ``_input()`` and ``_unhandled_input()`` functions in your scripts are called on every input, rather than accumulating inputs and waiting for a frame to be rendered. Disabling input accumulation will increase CPU usage, so it should be done with caution." msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:191 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:185 msgid "Hardware/OS-specific" msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:193 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:187 msgid "If your monitor supports it, consider enabling variable refresh rate (G-Sync/FreeSync) while leaving V-Sync enabled, then cap the framerate in the project settings to a slightly lower value than your monitor's maximum refresh rate as per `this page `__. For example, on a 144 Hz monitor, you can set the project's framerate cap to ``141``. This may be counterintuitive at first, but capping the FPS below the maximum refresh rate range ensures that the OS never has to wait for vertical blanking to finish. This leads to *similar* input lag as V-Sync disabled with the same framerate cap (usually less than 1 ms greater), but without any tearing." msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:204 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:198 msgid "This can be done by changing the **Application > Run > Max FPS** project setting or assigning ``Engine.max_fps`` at run-time in a script." msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:207 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:201 msgid "On some platforms, you can also opt into a low-latency mode in the graphics driver options (such as the NVIDIA Control Panel on Windows). The **Ultra** setting will give you the lowest possible latency, at the cost of slightly lower average framerates. Forcing the GPU to use the maximum performance profile can also further reduce input lag, at the cost of higher power consumption (and resulting heat/fan noise)." msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:214 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:208 msgid "Finally, make sure your monitor is running at its highest possible refresh rate in the OS' display settings." msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:217 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:211 msgid "Also, ensure that your mouse is configured to use its highest polling rate (typically 1,000 Hz for gaming mice, sometimes more). High USB polling rates can however result in high CPU usage, so 500 Hz may be a safer bet on low-end CPUs. If your mouse offers multiple :abbr:`DPI (Dots Per Inch)` settings, consider also `using the highest possible setting and reducing in-game sensitivity to reduce mouse latency `__." msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:223 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:217 msgid "On Linux, disabling compositing in window managers that allow it (such as KWin or Xfwm) can reduce input lag significantly." msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:227 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:221 msgid "Reporting jitter, stutter or input lag problems" msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:229 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:223 msgid "If you are reporting a stutter or jitter problem (opening an issue) not caused by any of the above reasons, please specify very clearly all the information possible about device, operating system, driver versions, etc. This may help to better troubleshoot it." msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:234 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:228 msgid "If you are reporting input lag problems, please include a capture made with a high speed camera (such as your phone's slow motion video mode). The capture **must** have both the screen and the input device visible so that the number of frames between an input and the on-screen result can be counted. Also, make sure to mention your monitor's refresh rate and your input device's polling rate (especially for mice)." msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:241 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:235 msgid "Also, make sure to use the correct term (jitter, stutter, input lag) based on the exhibited behavior. This will help understand your issue much faster. Provide a project that can be used to reproduce the issue, and if possible, include a screen capture demonstrating the bug." msgstr "" diff --git a/sphinx/templates/tutorials/rendering/multiple_resolutions.pot b/sphinx/templates/tutorials/rendering/multiple_resolutions.pot index e7ab2e46ca..c46821fa69 100644 --- a/sphinx/templates/tutorials/rendering/multiple_resolutions.pot +++ b/sphinx/templates/tutorials/rendering/multiple_resolutions.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/rendering/viewports.pot b/sphinx/templates/tutorials/rendering/viewports.pot index a7a408a6d5..0ea3cac8e6 100644 --- a/sphinx/templates/tutorials/rendering/viewports.pot +++ b/sphinx/templates/tutorials/rendering/viewports.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/scripting/c_sharp/c_sharp_basics.pot b/sphinx/templates/tutorials/scripting/c_sharp/c_sharp_basics.pot index 095f6b2761..cba66ba61f 100644 --- a/sphinx/templates/tutorials/scripting/c_sharp/c_sharp_basics.pot +++ b/sphinx/templates/tutorials/scripting/c_sharp/c_sharp_basics.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/scripting/c_sharp/c_sharp_collections.pot b/sphinx/templates/tutorials/scripting/c_sharp/c_sharp_collections.pot index bb9600e129..92d34d8535 100644 --- a/sphinx/templates/tutorials/scripting/c_sharp/c_sharp_collections.pot +++ b/sphinx/templates/tutorials/scripting/c_sharp/c_sharp_collections.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/scripting/c_sharp/c_sharp_differences.pot b/sphinx/templates/tutorials/scripting/c_sharp/c_sharp_differences.pot index 11433b401b..c5f2e0614f 100644 --- a/sphinx/templates/tutorials/scripting/c_sharp/c_sharp_differences.pot +++ b/sphinx/templates/tutorials/scripting/c_sharp/c_sharp_differences.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" 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 369f271964..59043cf610 100644 --- a/sphinx/templates/tutorials/scripting/c_sharp/c_sharp_exports.pot +++ b/sphinx/templates/tutorials/scripting/c_sharp/c_sharp_exports.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/scripting/c_sharp/c_sharp_features.pot b/sphinx/templates/tutorials/scripting/c_sharp/c_sharp_features.pot index ac97e7e406..7132cc8b62 100644 --- a/sphinx/templates/tutorials/scripting/c_sharp/c_sharp_features.pot +++ b/sphinx/templates/tutorials/scripting/c_sharp/c_sharp_features.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/scripting/c_sharp/c_sharp_global_classes.pot b/sphinx/templates/tutorials/scripting/c_sharp/c_sharp_global_classes.pot index 430cd519b2..e3a8b5fc3a 100644 --- a/sphinx/templates/tutorials/scripting/c_sharp/c_sharp_global_classes.pot +++ b/sphinx/templates/tutorials/scripting/c_sharp/c_sharp_global_classes.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/scripting/c_sharp/c_sharp_signals.pot b/sphinx/templates/tutorials/scripting/c_sharp/c_sharp_signals.pot index 276f08cec7..7dcbe76c88 100644 --- a/sphinx/templates/tutorials/scripting/c_sharp/c_sharp_signals.pot +++ b/sphinx/templates/tutorials/scripting/c_sharp/c_sharp_signals.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/scripting/c_sharp/c_sharp_style_guide.pot b/sphinx/templates/tutorials/scripting/c_sharp/c_sharp_style_guide.pot index 2439b33528..5f07a5a44b 100644 --- a/sphinx/templates/tutorials/scripting/c_sharp/c_sharp_style_guide.pot +++ b/sphinx/templates/tutorials/scripting/c_sharp/c_sharp_style_guide.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/scripting/c_sharp/c_sharp_variant.pot b/sphinx/templates/tutorials/scripting/c_sharp/c_sharp_variant.pot index 3f8edf94fa..ad8a755e6f 100644 --- a/sphinx/templates/tutorials/scripting/c_sharp/c_sharp_variant.pot +++ b/sphinx/templates/tutorials/scripting/c_sharp/c_sharp_variant.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/scripting/c_sharp/diagnostics/GD0001.pot b/sphinx/templates/tutorials/scripting/c_sharp/diagnostics/GD0001.pot index 234476bafd..b8d479e7b5 100644 --- a/sphinx/templates/tutorials/scripting/c_sharp/diagnostics/GD0001.pot +++ b/sphinx/templates/tutorials/scripting/c_sharp/diagnostics/GD0001.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/scripting/c_sharp/diagnostics/GD0002.pot b/sphinx/templates/tutorials/scripting/c_sharp/diagnostics/GD0002.pot index 3762e631e5..b2abe878c9 100644 --- a/sphinx/templates/tutorials/scripting/c_sharp/diagnostics/GD0002.pot +++ b/sphinx/templates/tutorials/scripting/c_sharp/diagnostics/GD0002.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/scripting/c_sharp/diagnostics/GD0003.pot b/sphinx/templates/tutorials/scripting/c_sharp/diagnostics/GD0003.pot index c8fc573c89..a7a837e2c9 100644 --- a/sphinx/templates/tutorials/scripting/c_sharp/diagnostics/GD0003.pot +++ b/sphinx/templates/tutorials/scripting/c_sharp/diagnostics/GD0003.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/scripting/c_sharp/diagnostics/GD0101.pot b/sphinx/templates/tutorials/scripting/c_sharp/diagnostics/GD0101.pot index 0ced6effa4..6ef88f2082 100644 --- a/sphinx/templates/tutorials/scripting/c_sharp/diagnostics/GD0101.pot +++ b/sphinx/templates/tutorials/scripting/c_sharp/diagnostics/GD0101.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/scripting/c_sharp/diagnostics/GD0102.pot b/sphinx/templates/tutorials/scripting/c_sharp/diagnostics/GD0102.pot index 40e8c244a2..5965aedca8 100644 --- a/sphinx/templates/tutorials/scripting/c_sharp/diagnostics/GD0102.pot +++ b/sphinx/templates/tutorials/scripting/c_sharp/diagnostics/GD0102.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/scripting/c_sharp/diagnostics/GD0103.pot b/sphinx/templates/tutorials/scripting/c_sharp/diagnostics/GD0103.pot index 20c8b6c1d5..b1cfe332ce 100644 --- a/sphinx/templates/tutorials/scripting/c_sharp/diagnostics/GD0103.pot +++ b/sphinx/templates/tutorials/scripting/c_sharp/diagnostics/GD0103.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/scripting/c_sharp/diagnostics/GD0104.pot b/sphinx/templates/tutorials/scripting/c_sharp/diagnostics/GD0104.pot index 197f2a4850..080c77c838 100644 --- a/sphinx/templates/tutorials/scripting/c_sharp/diagnostics/GD0104.pot +++ b/sphinx/templates/tutorials/scripting/c_sharp/diagnostics/GD0104.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/scripting/c_sharp/diagnostics/GD0105.pot b/sphinx/templates/tutorials/scripting/c_sharp/diagnostics/GD0105.pot index 1d69cd949b..7bdc96d7b5 100644 --- a/sphinx/templates/tutorials/scripting/c_sharp/diagnostics/GD0105.pot +++ b/sphinx/templates/tutorials/scripting/c_sharp/diagnostics/GD0105.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/scripting/c_sharp/diagnostics/GD0106.pot b/sphinx/templates/tutorials/scripting/c_sharp/diagnostics/GD0106.pot index f8415f15fc..819e82304b 100644 --- a/sphinx/templates/tutorials/scripting/c_sharp/diagnostics/GD0106.pot +++ b/sphinx/templates/tutorials/scripting/c_sharp/diagnostics/GD0106.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/scripting/c_sharp/diagnostics/GD0107.pot b/sphinx/templates/tutorials/scripting/c_sharp/diagnostics/GD0107.pot index 2d93115d5f..f5f59aca51 100644 --- a/sphinx/templates/tutorials/scripting/c_sharp/diagnostics/GD0107.pot +++ b/sphinx/templates/tutorials/scripting/c_sharp/diagnostics/GD0107.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/scripting/c_sharp/diagnostics/GD0201.pot b/sphinx/templates/tutorials/scripting/c_sharp/diagnostics/GD0201.pot index 6b4564bc4a..4bdc767232 100644 --- a/sphinx/templates/tutorials/scripting/c_sharp/diagnostics/GD0201.pot +++ b/sphinx/templates/tutorials/scripting/c_sharp/diagnostics/GD0201.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/scripting/c_sharp/diagnostics/GD0202.pot b/sphinx/templates/tutorials/scripting/c_sharp/diagnostics/GD0202.pot index 3052604a06..40d7e343a9 100644 --- a/sphinx/templates/tutorials/scripting/c_sharp/diagnostics/GD0202.pot +++ b/sphinx/templates/tutorials/scripting/c_sharp/diagnostics/GD0202.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/scripting/c_sharp/diagnostics/GD0203.pot b/sphinx/templates/tutorials/scripting/c_sharp/diagnostics/GD0203.pot index ab5ac52bd3..ab0eaf10b3 100644 --- a/sphinx/templates/tutorials/scripting/c_sharp/diagnostics/GD0203.pot +++ b/sphinx/templates/tutorials/scripting/c_sharp/diagnostics/GD0203.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/scripting/c_sharp/diagnostics/GD0301.pot b/sphinx/templates/tutorials/scripting/c_sharp/diagnostics/GD0301.pot index 9a88faf686..dbed5bdfe9 100644 --- a/sphinx/templates/tutorials/scripting/c_sharp/diagnostics/GD0301.pot +++ b/sphinx/templates/tutorials/scripting/c_sharp/diagnostics/GD0301.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/scripting/c_sharp/diagnostics/GD0302.pot b/sphinx/templates/tutorials/scripting/c_sharp/diagnostics/GD0302.pot index 7ba6ebc268..23d63b67c4 100644 --- a/sphinx/templates/tutorials/scripting/c_sharp/diagnostics/GD0302.pot +++ b/sphinx/templates/tutorials/scripting/c_sharp/diagnostics/GD0302.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/scripting/c_sharp/diagnostics/GD0303.pot b/sphinx/templates/tutorials/scripting/c_sharp/diagnostics/GD0303.pot index 495ba5d887..147c26d4e8 100644 --- a/sphinx/templates/tutorials/scripting/c_sharp/diagnostics/GD0303.pot +++ b/sphinx/templates/tutorials/scripting/c_sharp/diagnostics/GD0303.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/scripting/c_sharp/diagnostics/GD0401.pot b/sphinx/templates/tutorials/scripting/c_sharp/diagnostics/GD0401.pot index a51bbda54b..ef5bb48ecd 100644 --- a/sphinx/templates/tutorials/scripting/c_sharp/diagnostics/GD0401.pot +++ b/sphinx/templates/tutorials/scripting/c_sharp/diagnostics/GD0401.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/scripting/c_sharp/diagnostics/GD0402.pot b/sphinx/templates/tutorials/scripting/c_sharp/diagnostics/GD0402.pot index 2418378c44..45043e5785 100644 --- a/sphinx/templates/tutorials/scripting/c_sharp/diagnostics/GD0402.pot +++ b/sphinx/templates/tutorials/scripting/c_sharp/diagnostics/GD0402.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/scripting/c_sharp/diagnostics/index.pot b/sphinx/templates/tutorials/scripting/c_sharp/diagnostics/index.pot index 1723810c9d..066aa315fd 100644 --- a/sphinx/templates/tutorials/scripting/c_sharp/diagnostics/index.pot +++ b/sphinx/templates/tutorials/scripting/c_sharp/diagnostics/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/scripting/c_sharp/index.pot b/sphinx/templates/tutorials/scripting/c_sharp/index.pot index 2c0181330b..b4c2f3682d 100644 --- a/sphinx/templates/tutorials/scripting/c_sharp/index.pot +++ b/sphinx/templates/tutorials/scripting/c_sharp/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/scripting/change_scenes_manually.pot b/sphinx/templates/tutorials/scripting/change_scenes_manually.pot index 99cb9239ce..eaee166749 100644 --- a/sphinx/templates/tutorials/scripting/change_scenes_manually.pot +++ b/sphinx/templates/tutorials/scripting/change_scenes_manually.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/scripting/creating_script_templates.pot b/sphinx/templates/tutorials/scripting/creating_script_templates.pot index e9a4c3579a..5f890927bc 100644 --- a/sphinx/templates/tutorials/scripting/creating_script_templates.pot +++ b/sphinx/templates/tutorials/scripting/creating_script_templates.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/scripting/cross_language_scripting.pot b/sphinx/templates/tutorials/scripting/cross_language_scripting.pot index 5f0a08e231..adf854de2e 100644 --- a/sphinx/templates/tutorials/scripting/cross_language_scripting.pot +++ b/sphinx/templates/tutorials/scripting/cross_language_scripting.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/scripting/debug/custom_performance_monitors.pot b/sphinx/templates/tutorials/scripting/debug/custom_performance_monitors.pot index 0d59631b4a..43b2a399f8 100644 --- a/sphinx/templates/tutorials/scripting/debug/custom_performance_monitors.pot +++ b/sphinx/templates/tutorials/scripting/debug/custom_performance_monitors.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/scripting/debug/debugger_panel.pot b/sphinx/templates/tutorials/scripting/debug/debugger_panel.pot index f618ec7a7b..4821a8f912 100644 --- a/sphinx/templates/tutorials/scripting/debug/debugger_panel.pot +++ b/sphinx/templates/tutorials/scripting/debug/debugger_panel.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/scripting/debug/index.pot b/sphinx/templates/tutorials/scripting/debug/index.pot index 8271339be1..52f67e36ac 100644 --- a/sphinx/templates/tutorials/scripting/debug/index.pot +++ b/sphinx/templates/tutorials/scripting/debug/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/scripting/debug/overview_of_debugging_tools.pot b/sphinx/templates/tutorials/scripting/debug/overview_of_debugging_tools.pot index 09f6f149ac..bfed620c89 100644 --- a/sphinx/templates/tutorials/scripting/debug/overview_of_debugging_tools.pot +++ b/sphinx/templates/tutorials/scripting/debug/overview_of_debugging_tools.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/scripting/debug/the_profiler.pot b/sphinx/templates/tutorials/scripting/debug/the_profiler.pot index c7bda22ef3..eeda8f4186 100644 --- a/sphinx/templates/tutorials/scripting/debug/the_profiler.pot +++ b/sphinx/templates/tutorials/scripting/debug/the_profiler.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/scripting/evaluating_expressions.pot b/sphinx/templates/tutorials/scripting/evaluating_expressions.pot index ac183654a7..9c3d6ea97a 100644 --- a/sphinx/templates/tutorials/scripting/evaluating_expressions.pot +++ b/sphinx/templates/tutorials/scripting/evaluating_expressions.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/scripting/filesystem.pot b/sphinx/templates/tutorials/scripting/filesystem.pot index 7631527e2b..16cab7cb2c 100644 --- a/sphinx/templates/tutorials/scripting/filesystem.pot +++ b/sphinx/templates/tutorials/scripting/filesystem.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/scripting/gdextension/gdextension_cpp_example.pot b/sphinx/templates/tutorials/scripting/gdextension/gdextension_cpp_example.pot index 09b529cbd9..5a5c5e3f7b 100644 --- a/sphinx/templates/tutorials/scripting/gdextension/gdextension_cpp_example.pot +++ b/sphinx/templates/tutorials/scripting/gdextension/gdextension_cpp_example.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -281,130 +281,114 @@ msgid "We're finally ready to run the project:" msgstr "" #: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:441 -msgid "Custom editor icon" -msgstr "" - -#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:442 -msgid "By default, Godot uses the node icon in the scene dock for GDExtension nodes. The custom icon can be added via the ``gdextension`` file. The node's icon is set by reference to its name and resource path of an SVG file." -msgstr "" - -#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:446 -msgid "For example:" -msgstr "" - -#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:454 -msgid "The path should point to a 16 by 16 pixel SVG image. Read the guide for :ref:`creating icons ` for more information." -msgstr "" - -#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:458 msgid "Adding properties" msgstr "" -#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:460 +#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:443 msgid "GDScript allows you to add properties to your script using the ``export`` keyword. In GDExtension you have to register the properties with a getter and setter function or directly implement the ``_get_property_list``, ``_get`` and ``_set`` methods of an object (but that goes far beyond the scope of this tutorial)." msgstr "" -#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:466 +#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:449 msgid "Lets add a property that allows us to control the amplitude of our wave." msgstr "" -#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:468 +#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:451 msgid "In our ``gdexample.h`` file we need to add a member variable and getter and setter functions:" msgstr "" -#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:483 +#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:466 msgid "In our ``gdexample.cpp`` file we need to make a number of changes, we will only show the methods we end up changing, don't remove the lines we're omitting:" msgstr "" -#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:519 +#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:502 msgid "Once you compile the module with these changes in place, you will see that a property has been added to our interface. You can now change this property and when you run your project, you will see that our Godot icon travels along a larger figure." msgstr "" -#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:524 +#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:507 msgid "Let's do the same but for the speed of our animation and use a setter and getter function. Our ``gdexample.h`` header file again only needs a few more lines of code:" msgstr "" -#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:539 +#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:522 msgid "This requires a few more changes to our ``gdexample.cpp`` file, again we're only showing the methods that have changed so don't remove anything we're omitting:" msgstr "" -#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:578 +#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:561 msgid "Now when the project is compiled, we'll see another property called speed. Changing its value will make the animation go faster or slower. Furthermore, we added a property range which describes in which range the value can be. The first two arguments are the minimum and maximum value and the third is the step size." msgstr "" -#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:585 +#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:568 msgid "For simplicity, we've only used the hint_range of the property method. There are a lot more options to choose from. These can be used to further configure how properties are displayed and set on the Godot side." msgstr "" -#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:590 +#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:573 msgid "Signals" msgstr "" -#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:592 +#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:575 msgid "Last but not least, signals fully work in GDExtension as well. Having your extension react to a signal given out by another object requires you to call ``connect`` on that object. We can't think of a good example for our wobbling Godot icon, we would need to showcase a far more complete example." msgstr "" -#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:597 +#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:580 msgid "This is the required syntax:" msgstr "" -#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:603 +#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:586 msgid "To connect our signal ``the_signal`` from some other node with our method ``my_method``, we need to provide the ``connect`` method with the name of the signal and a ``Callable``. The ``Callable`` holds information about an object on which a method can be called. In our case, it associates our current object instance ``this`` with the method ``my_method`` of the object. Then the ``connect`` method will add this to the observers of ``the_signal``. Whenever ``the_signal`` is now emitted, Godot knows which method of which object it needs to call." msgstr "" -#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:611 +#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:594 msgid "Note that you can only call ``my_method`` if you've previously registered it in your ``_bind_methods`` method. Otherwise Godot will not know about the existence of ``my_method``." msgstr "" -#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:615 +#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:598 msgid "To learn more about ``Callable``, check out the class reference here: :ref:`Callable `." msgstr "" -#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:617 +#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:600 msgid "Having your object sending out signals is more common. For our wobbling Godot icon, we'll do something silly just to show how it works. We're going to emit a signal every time a second has passed and pass the new location along." msgstr "" -#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:621 +#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:604 msgid "In our ``gdexample.h`` header file, we need to define a new member ``time_emit``:" msgstr "" -#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:631 +#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:614 msgid "This time, the changes in ``gdexample.cpp`` are more elaborate. First, you'll need to set ``time_emit = 0.0;`` in either our ``_init`` method or in our constructor. We'll look at the other 2 needed changes one by one." msgstr "" -#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:635 +#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:618 msgid "In our ``_bind_methods`` method, we need to declare our signal. This is done as follows:" msgstr "" -#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:647 +#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:630 msgid "Here, our ``ADD_SIGNAL`` macro can be a single call with a ``MethodInfo`` argument. ``MethodInfo``'s first parameter will be the signal's name, and its remaining parameters are ``PropertyInfo`` types which describe the essentials of each of the method's parameters. ``PropertyInfo`` parameters are defined with the data type of the parameter, and then the name that the parameter will have by default." msgstr "" -#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:653 +#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:636 msgid "So here, we add a signal, with a ``MethodInfo`` which names the signal \"position_changed\". The ``PropertyInfo`` parameters describe two essential arguments, one of type ``Object``, the other of type ``Vector2``, respectively named \"node\" and \"new_pos\"." msgstr "" -#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:657 +#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:640 msgid "Next, we'll need to change our ``_process`` method:" msgstr "" -#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:679 +#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:662 msgid "After a second has passed, we emit our signal and reset our counter. We can add our parameter values directly to ``emit_signal``." msgstr "" -#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:682 +#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:665 msgid "Once the GDExtension library is compiled, we can go into Godot and select our sprite node. In the **Node** dock, we can find our new signal and link it up by pressing the **Connect** button or double-clicking the signal. We've added a script on our main node and implemented our signal like this:" msgstr "" -#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:694 +#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:677 msgid "Every second, we output our position to the console." msgstr "" -#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:697 +#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:680 msgid "Next steps" msgstr "" -#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:699 +#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:682 msgid "We hope the above example showed you the basics. You can build upon this example to create full-fledged scripts to control nodes in Godot using C++." msgstr "" diff --git a/sphinx/templates/tutorials/scripting/gdextension/gdextension_file.pot b/sphinx/templates/tutorials/scripting/gdextension/gdextension_file.pot new file mode 100644 index 0000000000..e90ae6d81d --- /dev/null +++ b/sphinx/templates/tutorials/scripting/gdextension/gdextension_file.pot @@ -0,0 +1,309 @@ +# 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" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\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/scripting/gdextension/gdextension_file.rst:4 +msgid "The .gdextension file" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:7 +msgid "Introduction" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:9 +msgid "The ``.gdextension`` file in your project contains the instructions for how to load the GDExtension. The instructions are separated into specific sections. This page should give you a quick overview of the different options available to you. For an introduction how to get started with GDExtensions take a look at the :ref:`GDExtension C++ Example `." +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:15 +msgid "Configuration section" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:18 +msgid "Property" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:18 +msgid "Type" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:18 +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:75 +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:98 +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:111 +msgid "Description" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:20 +msgid "**entry_symbol**" +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 +msgid "String" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:20 +msgid "Name of the entry function for initializing the GDExtension. This function should be defined in the ``register_types.cpp`` file when using godot-cpp. Adding this is necessary for the extension to work." +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:24 +msgid "**compatibility_minimum**" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:24 +msgid "Minimum compatible version. This prevents older versions of Godot from loading extensions that depend on features from newer versions of Godot. **Only supported in Godot 4.1 or later**" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:27 +msgid "**compatibility_maximum**" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:27 +msgid "Maximum compatible version. This prevents newer versions of Godot from loading the extension. **Only supported in Godot 4.3 or later**" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:30 +msgid "**reloadable**" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:30 +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:34 +msgid "Boolean" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:30 +msgid "Reloads the extension upon recompilation. Reloading is supported for the godot-cpp binding in Godot 4.2 or later. Other language bindings may or may not support it as well. This flag should be mainly used for developing or debugging an extension." +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:34 +msgid "**android_aar_plugin**" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:34 +msgid "The GDExtension is part of a :ref:`v2 Android plugin `. During export this flag will indicate to the editor that the GDExtension native shared libraries are exported by the Android plugin AAR binaries." +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:40 +msgid "Libraries section" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:42 +msgid "In this section you can set the paths to the compiled binaries of your GDExtension libraries. By specifying feature flags you can filter which version should be loaded and exported with your game depending on which feature flags are active. Every feature flag must match to Godot's feature flags or your custom export flags to be loaded in an exported game. For instance ``macos.debug`` means that it will be loaded if Godot has both the ``macos`` and ``debug`` flag active. Each line of the section is evaluated from top to bottom." +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:49 +msgid "Here is an example of what that can look like:" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:69 +msgid "Here are lists of some of the available built-in options (for more look at the :ref:`feature tags `):" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:72 +msgid "Running system" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:75 +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:98 +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:111 +msgid "Flag" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:77 +msgid "**windows**" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:77 +msgid "Windows operating system" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:79 +msgid "**macos**" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:79 +msgid "Mac operating system" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:81 +msgid "**linux**" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:81 +msgid "Linux operating system" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:83 +msgid "**bsd**" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:83 +msgid "BSD operating system" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:85 +msgid "**linuxbsd**" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:85 +msgid "Linux or BSD operating system" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:87 +msgid "**android**" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:87 +msgid "Android operating system" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:89 +msgid "**ios**" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:89 +msgid "iOS operating system" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:91 +msgid "**web**" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:91 +msgid "Web browser" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:95 +msgid "Build" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:100 +msgid "**debug**" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:100 +msgid "Build with debug symbols" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:102 +msgid "**release**" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:102 +msgid "Optimized build without debug symbols" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:104 +msgid "**editor**" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:104 +msgid "Editor build" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:108 +msgid "Architecture" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:113 +msgid "**double**" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:113 +msgid "double-precision build" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:115 +msgid "**single**" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:115 +msgid "single-precision build" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:117 +msgid "**x86_64**" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:117 +msgid "64-bit x86 build" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:119 +msgid "**arm64**" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:119 +msgid "64-bit ARM build" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:121 +msgid "**rv64**" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:121 +msgid "64-bit RISC-V build" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:123 +msgid "**riscv**" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:123 +msgid "RISC-V build (any bitness)" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:125 +msgid "**wasm32**" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:125 +msgid "32-bit WebAssembly build" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:129 +msgid "Icons section" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:131 +msgid "By default, Godot uses the Node icon in the scene dock for GDExtension nodes. A custom icon can be set by reference to its name and resource path of an SVG file." +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:134 +msgid "For example:" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:142 +msgid "The path should point to a 16 by 16 pixel SVG image. Read the guide for :ref:`creating icons ` for more information." +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:146 +msgid "Dependencies section" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:148 +msgid "In this section you set the paths of the GDExtension dependencies. This is used internally to export the dependencies when exporting your game executable. You are able to set which dependency is loaded depending on the feature flags of the exported executable. In addition, you are able to set an optional subdirectory to move your dependencies into. If no path is supplied Godot will move the libraries into the same directory as your game executable." +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:154 +msgid "In MacOS it is necessary to have shared libraries inside a folder called ``Frameworks`` with a directory structure like this: ``Game.app/Contents/Frameworks``." +msgstr "" + +#: ../../docs/:0 +msgid "Translation status" +msgstr "" diff --git a/sphinx/templates/tutorials/scripting/gdextension/index.pot b/sphinx/templates/tutorials/scripting/gdextension/index.pot index 72911e8223..12963dd709 100644 --- a/sphinx/templates/tutorials/scripting/gdextension/index.pot +++ b/sphinx/templates/tutorials/scripting/gdextension/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/scripting/gdextension/what_is_gdextension.pot b/sphinx/templates/tutorials/scripting/gdextension/what_is_gdextension.pot index 7b708e9769..c4197e079b 100644 --- a/sphinx/templates/tutorials/scripting/gdextension/what_is_gdextension.pot +++ b/sphinx/templates/tutorials/scripting/gdextension/what_is_gdextension.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/scripting/gdscript/gdscript_advanced.pot b/sphinx/templates/tutorials/scripting/gdscript/gdscript_advanced.pot index a3eda7ecbf..1527ff2ce3 100644 --- a/sphinx/templates/tutorials/scripting/gdscript/gdscript_advanced.pot +++ b/sphinx/templates/tutorials/scripting/gdscript/gdscript_advanced.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/scripting/gdscript/gdscript_basics.pot b/sphinx/templates/tutorials/scripting/gdscript/gdscript_basics.pot index 66509cfe29..e745838bfe 100644 --- a/sphinx/templates/tutorials/scripting/gdscript/gdscript_basics.pot +++ b/sphinx/templates/tutorials/scripting/gdscript/gdscript_basics.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -107,7 +107,7 @@ msgid "else" msgstr "" #: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:162 -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1533 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1579 msgid "for" msgstr "" @@ -116,7 +116,7 @@ msgid "See for_." msgstr "" #: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:164 -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1521 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1567 msgid "while" msgstr "" @@ -125,7 +125,7 @@ msgid "See while_." msgstr "" #: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:166 -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1592 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1638 msgid "match" msgstr "" @@ -1510,850 +1510,870 @@ msgid "Depending on the variable's static type, the variable is either ``null`` msgstr "" #: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1035 -msgid "The specified values are assigned in the order of the variables in the script, from top to bottom. - *(Only for ``Node``-derived classes)* If the ``@onready`` annotation is applied to a variable, its initialization is deferred to step 5." +msgid "The specified values are assigned in the order of the variables in the script, from top to bottom." msgstr "" #: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1038 -msgid "If defined, the ``_init()`` method is called." -msgstr "" - -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1039 -msgid "When instantiating scenes and resources, the exported values are assigned." -msgstr "" - -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1040 -msgid "*(Only for ``Node``-derived classes)* ``@onready`` variables are initialized." +msgid "(Only for ``Node``-derived classes) If the ``@onready`` annotation is applied to a variable, its initialization is deferred to step 5." msgstr "" #: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1041 -msgid "*(Only for ``Node``-derived classes)* If defined, the ``_ready()`` method is called." +msgid "If defined, the ``_init()`` method is called." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1045 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1042 +msgid "When instantiating scenes and resources, the exported values are assigned." +msgstr "" + +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1043 +msgid "(Only for ``Node``-derived classes) ``@onready`` variables are initialized." +msgstr "" + +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1044 +msgid "(Only for ``Node``-derived classes) If defined, the ``_ready()`` method is called." +msgstr "" + +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1048 msgid "You can specify a complex expression as a variable initializer, including function calls. Make sure the variables are initialized in the correct order, otherwise your values may be overwritten. For example::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1061 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1064 msgid "Will print::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1067 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1070 msgid "To fix this, move the ``_data`` variable definition above the ``a`` definition or remove the empty dictionary assignment (``= {}``)." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1071 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1074 msgid "Static variables" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1073 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1076 msgid "A class member variable can be declared static::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1077 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1080 msgid "Static variables belong to the class, not instances. This means that static variables share values between multiple instances, unlike regular member variables." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1080 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1083 msgid "From inside a class, you can access static variables from any function, both static and non-static. From outside the class, you can access static variables using the class or an instance (the second is not recommended as it is less readable)." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1086 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1089 msgid "The ``@export`` and ``@onready`` annotations cannot be applied to a static variable. Local variables cannot be static." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1089 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1092 msgid "The following example defines a ``Person`` class with a static variable named ``max_id``. We increment the ``max_id`` in the ``_init()`` function. This makes it easy to keep track of the number of ``Person`` instances in our game." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1108 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1111 msgid "In this code, we create two instances of our ``Person`` class and check that the class and every instance have the same ``max_id`` value, because the variable is static and accessible to every instance." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1127 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1130 msgid "Static variables can have type hints, setters and getters::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1137 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1140 msgid "A base class static variable can also be accessed via a child class::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1153 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1156 msgid "``@static_unload`` annotation" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1155 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1158 msgid "Since GDScript classes are resources, having static variables in a script prevents it from being unloaded even if there are no more instances of that class and no other references left. This can be important if static variables store large amounts of data or hold references to other project resources, such as scenes. You should clean up this data manually, or use the :ref:`@static_unload ` annotation if static variables don't store important data and can be reset." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1163 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1166 msgid "Currently, due to a bug, scripts are never freed, even if ``@static_unload`` annotation is used." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1165 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1168 msgid "Note that ``@static_unload`` applies to the entire script (including inner classes) and must be placed at the top of the script, before ``class_name`` and ``extends``::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1172 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1175 msgid "See also `Static functions`_ and `Static constructor`_." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1175 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1178 msgid "Casting" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1177 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1180 msgid "Values assigned to typed variables must have a compatible type. If it's needed to coerce a value to be of a certain type, in particular for object types, you can use the casting operator ``as``." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1181 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1184 msgid "Casting between object types results in the same object if the value is of the same type or a subtype of the cast type." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1189 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1192 msgid "If the value is not a subtype, the casting operation will result in a ``null`` value." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1196 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1199 msgid "For built-in types, they will be forcibly converted if possible, otherwise the engine will raise an error." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1205 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1208 msgid "Casting is also useful to have better type-safe variables when interacting with the scene tree::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1215 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1218 msgid "Constants" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1217 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1220 msgid "Constants are values you cannot change when the game is running. Their value must be known at compile-time. Using the ``const`` keyword allows you to give a constant value a name. Trying to assign a value to a constant after it's declared will give you an error." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1222 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1225 msgid "We recommend using constants whenever a value is not meant to change." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1235 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1238 msgid "Although the type of constants is inferred from the assigned value, it's also possible to add explicit type specification::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1241 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1244 msgid "Assigning a value of an incompatible type will raise an error." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1243 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1246 msgid "You can also create constants inside a function, which is useful to name local magic values." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1247 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1250 msgid "Enums" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1249 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1252 msgid "Enums are basically a shorthand for constants, and are pretty useful if you want to assign consecutive integers to some constant." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1263 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1266 msgid "If you pass a name to the enum, it will put all the keys inside a constant :ref:`Dictionary ` of that name. This means all constant methods of a dictionary can also be used with a named enum." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1267 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1270 msgid "Keys in a named enum are not registered as global constants. They should be accessed prefixed by the enum's name (``Name.KEY``)." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1292 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1295 msgid "Functions" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1294 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1297 msgid "Functions always belong to a `class `_. The scope priority for variable look-up is: local → class member → global. The ``self`` variable is always available and is provided as an option for accessing class members, but is not always required (and should *not* be sent as the function's first argument, unlike Python)." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1307 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1310 msgid "A function can ``return`` at any point. The default return value is ``null``." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1309 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1312 msgid "If a function contains only one line of code, it can be written on one line::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1317 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1320 msgid "Functions can also have type specification for the arguments and for the return value. Types for arguments can be added in a similar way to variables::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1323 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1326 msgid "If a function argument has a default value, it's possible to infer the type::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1328 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1331 msgid "The return type of the function can be specified after the arguments list using the arrow token (``->``)::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1334 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1337 msgid "Functions that have a return type **must** return a proper value. Setting the type as ``void`` means the function doesn't return anything. Void functions can return early with the ``return`` keyword, but they can't return any value." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1343 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1346 msgid "Non-void functions must **always** return a value, so if your code has branching statements (such as an ``if``/``else`` construct), all the possible paths must have a return. E.g., if you have a ``return`` inside an ``if`` block but not after it, the editor will raise an error because if the block is not executed, the function won't have a valid value to return." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1351 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1354 msgid "Referencing functions" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1353 -msgid "Functions are first-class items in terms of the :ref:`Callable ` object. Referencing a function by name without calling it will automatically generate the proper callable. This can be used to pass functions as arguments." -msgstr "" - -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1373 -msgid "Callables **must** be called with the ``call`` method. You cannot use the ``()`` operator directly. This behavior is implemented to avoid performance issues on direct function calls." +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1356 +msgid "Functions are first-class values in terms of the :ref:`Callable ` object. Referencing a function by name without calling it will automatically generate the proper callable. This can be used to pass functions as arguments." msgstr "" #: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1378 +msgid "Callables **must** be called with the :ref:`call() ` method. You cannot use the ``()`` operator directly. This behavior is implemented to avoid performance issues on direct function calls." +msgstr "" + +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1383 msgid "Lambda functions" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1380 -msgid "Lambda functions allow you to declare functions that do not belong to a class. Instead a :ref:`Callable ` object is created and assigned to a variable directly. This can be useful to create Callables to pass around without polluting the class scope." +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1385 +msgid "Lambda functions allow you to declare functions that do not belong to a class. Instead, a :ref:`Callable ` object is created and assigned to a variable directly. This can be useful to create callables to pass around without polluting the class scope." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1388 -msgid "Lambda functions can be named for debugging purposes::" +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1394 +msgid "To call the created lambda you can use the :ref:`call() ` method::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1393 -msgid "Note that if you want to return a value from a lambda, an explicit ``return`` is required (you can't omit ``return``)::" +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1398 +msgid "Lambda functions can be named for debugging purposes (the name is displayed in the Debugger)::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1399 -msgid "Lambda functions capture the local environment. Local variables are passed by value, so they won't be updated in the lambda if changed in the local function::" +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1403 +msgid "You can specify type hints for lambda functions in the same way as for regular ones::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1407 -msgid "The values of the outer scope behave like constants. Therefore, if you declare an array or dictionary, it can still be modified afterwards." +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1408 +msgid "Note that if you want to return a value from a lambda function, an explicit ``return`` is required (you can't omit ``return``)::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1410 -msgid "Static functions" -msgstr "" - -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1412 -msgid "A function can be declared static. When a function is static, it has no access to the instance member variables or ``self``. A static function has access to static variables. Also static functions are useful to make libraries of helper functions::" -msgstr "" - -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1418 -msgid "Lambdas cannot be declared static." -msgstr "" - -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1420 -msgid "See also `Static variables`_ and `Static constructor`_." +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1414 +msgid "Lambda functions capture the local environment::" msgstr "" #: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1423 -msgid "Statements and control flow" -msgstr "" - -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1425 -msgid "Statements are standard and can be assignments, function calls, control flow structures, etc (see below). ``;`` as a statement separator is entirely optional." -msgstr "" - -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1430 -msgid "Expressions" +msgid "Local variables are captured by value once, when the lambda is created. So they won't be updated in the lambda if reassigned in the outer function::" msgstr "" #: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1432 -msgid "Expressions are sequences of operators and their operands in orderly fashion. An expression by itself can be a statement too, though only calls are reasonable to use as statements since other expressions don't have side effects." +msgid "Also, a lambda cannot reassign an outer local variable. After exiting the lambda, the variable will be unchanged, because the lambda capture implicitly shadows it::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1435 -msgid "Expressions return values that can be assigned to valid targets. Operands to some operator can be another expression. An assignment is not an expression and thus does not return any value." +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1443 +msgid "However, if you use pass-by-reference data types (arrays, dictionaries, and objects), then the content changes are shared until you reassign the variable::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1438 -msgid "Here are some examples of expressions::" -msgstr "" - -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1454 -msgid "Identifiers, attributes, and subscripts are valid assignment targets. Other expressions cannot be on the left side of an assignment." +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1456 +msgid "Static functions" msgstr "" #: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1458 -msgid "if/else/elif" +msgid "A function can be declared static. When a function is static, it has no access to the instance member variables or ``self``. A static function has access to static variables. Also static functions are useful to make libraries of helper functions::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1460 -msgid "Simple conditions are created by using the ``if``/``else``/``elif`` syntax. Parenthesis around conditions are allowed, but not required. Given the nature of the tab-based indentation, ``elif`` can be used instead of ``else``/``if`` to maintain a level of indentation." +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1464 +msgid "Lambda functions cannot be declared static." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1474 -msgid "Short statements can be written on the same line as the condition::" +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1466 +msgid "See also `Static variables`_ and `Static constructor`_." +msgstr "" + +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1469 +msgid "Statements and control flow" +msgstr "" + +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1471 +msgid "Statements are standard and can be assignments, function calls, control flow structures, etc (see below). ``;`` as a statement separator is entirely optional." +msgstr "" + +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1476 +msgid "Expressions" +msgstr "" + +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1478 +msgid "Expressions are sequences of operators and their operands in orderly fashion. An expression by itself can be a statement too, though only calls are reasonable to use as statements since other expressions don't have side effects." msgstr "" #: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1481 +msgid "Expressions return values that can be assigned to valid targets. Operands to some operator can be another expression. An assignment is not an expression and thus does not return any value." +msgstr "" + +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1484 +msgid "Here are some examples of expressions::" +msgstr "" + +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1500 +msgid "Identifiers, attributes, and subscripts are valid assignment targets. Other expressions cannot be on the left side of an assignment." +msgstr "" + +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1504 +msgid "if/else/elif" +msgstr "" + +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1506 +msgid "Simple conditions are created by using the ``if``/``else``/``elif`` syntax. Parenthesis around conditions are allowed, but not required. Given the nature of the tab-based indentation, ``elif`` can be used instead of ``else``/``if`` to maintain a level of indentation." +msgstr "" + +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1520 +msgid "Short statements can be written on the same line as the condition::" +msgstr "" + +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1527 msgid "Sometimes, you might want to assign a different initial value based on a boolean expression. In this case, ternary-if expressions come in handy::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1487 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1533 msgid "Ternary-if expressions can be nested to handle more than 2 cases. When nesting ternary-if expressions, it is recommended to wrap the complete expression over multiple lines to preserve readability::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1510 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1556 msgid "You may also wish to check if a value is contained within something. You can use an ``if`` statement combined with the ``in`` operator to accomplish this::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1523 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1569 msgid "Simple loops are created by using ``while`` syntax. Loops can be broken using ``break`` or continued using ``continue`` (which skips to the next iteration of the loop without executing any further code in the current iteration):" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1535 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1581 msgid "To iterate through a range, such as an array or table, a *for* loop is used. When iterating over an array, the current array element is stored in the loop variable. When iterating over a dictionary, the *key* is stored in the loop variable." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1570 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1616 msgid "If you want to assign values on an array as it is being iterated through, it is best to use ``for i in array.size()``." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1579 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1625 msgid "The loop variable is local to the for-loop and assigning to it will not change the value on the array. Objects passed by reference (such as nodes) can still be manipulated by calling methods on the loop variable." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1594 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1640 msgid "A ``match`` statement is used to branch execution of a program. It's the equivalent of the ``switch`` statement found in many other languages, but offers some additional features." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1599 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1645 msgid "``match`` is more type strict than the ``==`` operator. For example ``1`` will **not** match ``1.0``. The only exception is ``String`` vs ``StringName`` matching: for example, the String ``\"hello\"`` is considered equal to the StringName ``&\"hello\"``." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1603 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1649 msgid "Basic syntax" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1615 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1661 msgid "Crash-course for people who are familiar with switch statements" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1617 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1663 msgid "Replace ``switch`` with ``match``." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1618 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1664 msgid "Remove ``case``." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1619 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1665 msgid "Remove any ``break``\\ s." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1620 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1666 msgid "Change ``default`` to a single underscore." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1623 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1669 msgid "Control flow" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1625 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1671 msgid "The patterns are matched from top to bottom. If a pattern matches, the first corresponding block will be executed. After that, the execution continues below the ``match`` statement." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1630 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1676 msgid "The special ``continue`` behavior in ``match`` supported in 3.x was removed in Godot 4.0." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1632 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1678 msgid "The following pattern types are available:" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1643 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1689 msgid "Literal pattern" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1635 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1681 msgid "Matches a `literal `_::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1654 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1700 msgid "Expression pattern" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1646 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1692 msgid "Matches a constant expression, an identifier, or an attribute access (``A.B``)::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1667 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1713 msgid "Wildcard pattern" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1657 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1703 msgid "This pattern matches everything. It's written as a single underscore." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1659 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1705 msgid "It can be used as the equivalent of the ``default`` in a ``switch`` statement in other languages::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1679 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1725 msgid "Binding pattern" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1670 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1716 msgid "A binding pattern introduces a new variable. Like the wildcard pattern, it matches everything - and also gives that value a name. It's especially useful in array and dictionary patterns::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1700 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1746 msgid "Array pattern" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1682 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1728 msgid "Matches an array. Every single element of the array pattern is a pattern itself, so you can nest them." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1684 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1730 msgid "The length of the array is tested first, it has to be the same size as the pattern, otherwise the pattern doesn't match." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1686 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1732 msgid "**Open-ended array**: An array can be bigger than the pattern by making the last subpattern ``..``." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1688 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1734 msgid "Every subpattern has to be comma-separated." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1727 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1773 msgid "Dictionary pattern" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1703 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1749 msgid "Works in the same way as the array pattern. Every key has to be a constant pattern." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1705 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1751 msgid "The size of the dictionary is tested first, it has to be the same size as the pattern, otherwise the pattern doesn't match." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1707 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1753 msgid "**Open-ended dictionary**: A dictionary can be bigger than the pattern by making the last subpattern ``..``." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1709 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1755 msgid "Every subpattern has to be comma separated." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1711 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1757 msgid "If you don't specify a value, then only the existence of the key is checked." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1713 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1759 msgid "A value pattern is separated from the key pattern with a ``:``." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1738 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1784 msgid "Multiple patterns" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1730 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1776 msgid "You can also specify multiple patterns separated by a comma. These patterns aren't allowed to have any bindings in them." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1741 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1787 msgid "Pattern guards" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1743 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1789 msgid "Only one branch can be executed per ``match``. Once a branch is chosen, the rest are not checked. If you want to use the same pattern for multiple branches or to prevent choosing a branch with too general pattern, you can specify a guard expression after the list of patterns with the ``when`` keyword::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1761 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1807 msgid "If there is no matching pattern for the current branch, the guard expression is **not** evaluated and the patterns of the next branch are checked." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1763 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1809 msgid "If a matching pattern is found, the guard expression is evaluated." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1765 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1811 msgid "If it's true, then the body of the branch is executed and ``match`` ends." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1766 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1812 msgid "If it's false, then the patterns of the next branch are checked." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1769 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1815 msgid "Classes" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1771 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1817 msgid "By default, all script files are unnamed classes. In this case, you can only reference them using the file's path, using either a relative or an absolute path. For example, if you name a script file ``character.gd``::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1787 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1833 msgid "Registering named classes" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1789 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1835 msgid "You can give your class a name to register it as a new type in Godot's editor. For that, you use the ``class_name`` keyword. You can optionally use the ``@icon`` annotation with a path to an image, to use it as an icon. Your class will then appear with its new icon in the editor::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1804 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1850 msgid "SVG images that are used as custom node icons should have the **Editor > Scale With Editor Scale** and **Editor > Convert Icons With Editor Theme** :ref:`import options ` enabled. This allows icons to follow the editor's scale and theming settings if the icons are designed with the same color palette as Godot's own icons." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1810 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1856 msgid "Here's a class file example:" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1831 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1877 msgid "If you want to use ``extends`` too, you can keep both on the same line::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1837 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1883 msgid "Godot initializes non-static variables every time you create an instance, and this includes arrays and dictionaries. This is in the spirit of thread safety, since scripts can be initialized in separate threads without the user knowing." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1842 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1888 msgid "Inheritance" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1844 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1890 msgid "A class (stored as a file) can inherit from:" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1846 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1892 msgid "A global class." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1847 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1893 msgid "Another class file." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1848 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1894 msgid "An inner class inside another class file." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1850 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1896 msgid "Multiple inheritance is not allowed." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1852 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1898 msgid "Inheritance uses the ``extends`` keyword::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1865 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1911 msgid "If inheritance is not explicitly defined, the class will default to inheriting :ref:`class_RefCounted`." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1868 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1914 msgid "To check if a given instance inherits from a given class, the ``is`` keyword can be used::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1880 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1926 msgid "To call a function in a *super class* (i.e. one ``extend``-ed in your current class), use the ``super`` keyword::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1885 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1931 msgid "This is especially useful because functions in extending classes replace functions with the same name in their super classes. If you still want to call them, you can use ``super``::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1892 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1938 msgid "If you need to call a different function from the super class, you can specify the function name with the attribute operator::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1903 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1949 msgid "One of the common misconceptions is trying to override *non-virtual* engine methods such as ``get_class()``, ``queue_free()``, etc. This is not supported for technical reasons." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1906 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1952 msgid "In Godot 3, you can *shadow* engine methods in GDScript, and it will work if you call this method in GDScript. However, the engine will **not** execute your code if the method is called inside the engine on some event." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1909 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1955 msgid "In Godot 4, even shadowing may not always work, as GDScript optimizes native method calls. Therefore, we added the ``NATIVE_METHOD_OVERRIDE`` warning, which is treated as an error by default. We strongly advise against disabling or ignoring the warning." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1913 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1959 msgid "Note that this does not apply to virtual methods such as ``_ready()``, ``_process()`` and others (marked with the ``virtual`` qualifier in the documentation and the names start with an underscore). These methods are specifically for customizing engine behavior and can be overridden in GDScript. Signals and notifications can also be useful for these purposes." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1919 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1965 msgid "Class constructor" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1921 -msgid "The class constructor, called on class instantiation, is named ``_init``. If you want to call the base class constructor, you can also use the ``super`` syntax. Note that every class has an implicit constructor that it's always called (defining the default values of class variables). ``super`` is used to call the explicit constructor::" +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1967 +msgid "The class constructor, called on class instantiation, is named ``_init``. If you want to call the base class constructor, you can also use the ``super`` syntax. Note that every class has an implicit constructor that is always called (defining the default values of class variables). ``super`` is used to call the explicit constructor::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1930 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1976 msgid "This is better explained through examples. Consider this scenario::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1954 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2000 msgid "There are a few things to keep in mind here:" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1956 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2002 msgid "If the inherited class (``state.gd``) defines a ``_init`` constructor that takes arguments (``e`` in this case), then the inheriting class (``idle.gd``) *must* define ``_init`` as well and pass appropriate parameters to ``_init`` from ``state.gd``." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1959 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2005 msgid "``idle.gd`` can have a different number of arguments than the base class ``state.gd``." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1960 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2006 msgid "In the example above, ``e`` passed to the ``state.gd`` constructor is the same ``e`` passed in to ``idle.gd``." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1962 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2008 msgid "If ``idle.gd``'s ``_init`` constructor takes 0 arguments, it still needs to pass some value to the ``state.gd`` base class, even if it does nothing. This brings us to the fact that you can pass expressions to the base constructor as well, not just variables, e.g.::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1972 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2018 msgid "Static constructor" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1974 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2020 msgid "A static constructor is a static function ``_static_init`` that is called automatically when the class is loaded, after the static variables have been initialized::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1982 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2028 msgid "A static constructor cannot take arguments and must not return any value." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1987 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2033 msgid "Inner classes" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1989 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2035 msgid "A class file can contain inner classes. Inner classes are defined using the ``class`` keyword. They are instanced using the ``ClassName.new()`` function." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2014 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2060 msgid "Classes as resources" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2016 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2062 msgid "Classes stored as files are treated as :ref:`GDScripts `. They must be loaded from disk to access them in other classes. This is done using either the ``load`` or ``preload`` functions (see below). Instancing of a loaded class resource is done by calling the ``new`` function on the class object::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2033 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2079 msgid "Exports" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2037 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2083 msgid "Documentation about exports has been moved to :ref:`doc_gdscript_exports`." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2043 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2089 msgid "Properties (setters and getters)" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2045 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2091 msgid "Sometimes, you want a class' member variable to do more than just hold data and actually perform some validation or computation whenever its value changes. It may also be desired to encapsulate its access in some way." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2049 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2095 msgid "For this, GDScript provides a special syntax to define properties using the ``set`` and ``get`` keywords after a variable declaration. Then you can define a code block that will be executed when the variable is accessed or assigned." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2053 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2099 msgid "Example::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2064 -msgid "Unlike ``setget`` in previous Godot versions, the properties setter and getter are **always** called (except as noted below), even when accessed inside the same class (with or without prefixing with ``self.``). This makes the behavior consistent. If you need direct access to the value, use another variable for direct access and make the property code use that name." -msgstr "" - -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2070 -msgid "Alternative syntax" -msgstr "" - -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2072 -msgid "Also there is another notation to use existing class functions if you want to split the code from the variable declaration or you need to reuse the code across multiple properties (but you can't distinguish which property the setter/getter is being called for)::" -msgstr "" - -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2078 -msgid "This can also be done in the same line::" -msgstr "" - -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2082 -msgid "The setter and getter must use the same notation, mixing styles for the same variable is not allowed." -msgstr "" - -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2086 -msgid "You cannot specify type hints for *inline* setters and getters. This is done on purpose to reduce the boilerplate. If the variable is typed, then the setter's argument is automatically of the same type, and the getter's return value must match it. Separated setter/getter functions can have type hints, and the type must match the variable's type or be a wider type." -msgstr "" - -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2091 -msgid "When setter/getter is not called" -msgstr "" - -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2093 -msgid "When a variable is initialized, the value of the initializer will be written directly to the variable. Including if the ``@onready`` annotation is applied to the variable." -msgstr "" - -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2096 -msgid "Using the variable's name to set it inside its own setter or to get it inside its own getter will directly access the underlying member, so it won't generate infinite recursion and saves you from explicitly declaring another variable::" -msgstr "" - -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2107 -msgid "This also applies to the alternative syntax::" +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2110 +msgid "Unlike ``setget`` in previous Godot versions, ``set`` and ``get`` methods are **always** called (except as noted below), even when accessed inside the same class (with or without prefixing with ``self.``). This makes the behavior consistent. If you need direct access to the value, use another variable for direct access and make the property code use that name." msgstr "" #: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2116 +msgid "Alternative syntax" +msgstr "" + +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2118 +msgid "Also there is another notation to use existing class functions if you want to split the code from the variable declaration or you need to reuse the code across multiple properties (but you can't distinguish which property the setter/getter is being called for)::" +msgstr "" + +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2124 +msgid "This can also be done in the same line::" +msgstr "" + +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2128 +msgid "The setter and getter must use the same notation, mixing styles for the same variable is not allowed." +msgstr "" + +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2132 +msgid "You cannot specify type hints for *inline* setters and getters. This is done on purpose to reduce the boilerplate. If the variable is typed, then the setter's argument is automatically of the same type, and the getter's return value must match it. Separated setter/getter functions can have type hints, and the type must match the variable's type or be a wider type." +msgstr "" + +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2137 +msgid "When setter/getter is not called" +msgstr "" + +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2139 +msgid "When a variable is initialized, the value of the initializer will be written directly to the variable. Including if the ``@onready`` annotation is applied to the variable." +msgstr "" + +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2142 +msgid "Using the variable's name to set it inside its own setter or to get it inside its own getter will directly access the underlying member, so it won't generate infinite recursion and saves you from explicitly declaring another variable::" +msgstr "" + +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2153 +msgid "This also applies to the alternative syntax::" +msgstr "" + +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2162 msgid "The exception does **not** propagate to other functions called in the setter/getter. For example, the following code **will** cause an infinite recursion::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2129 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2175 msgid "Tool mode" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2131 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2177 msgid "By default, scripts don't run inside the editor and only the exported properties can be changed. In some cases, it is desired that they do run inside the editor (as long as they don't execute game code or manually avoid doing so). For this, the ``@tool`` annotation exists and must be placed at the top of the file::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2144 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2190 msgid "See :ref:`doc_running_code_in_the_editor` for more information." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2146 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2192 msgid "Be cautious when freeing nodes with ``queue_free()`` or ``free()`` in a tool script (especially the script's owner itself). As tool scripts run their code in the editor, misusing them may lead to crashing the editor." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2154 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2200 msgid "Memory management" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2156 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2202 msgid "Godot implements reference counting to free certain instances that are no longer used, instead of a garbage collector, or requiring purely manual management. Any instance of the :ref:`class_RefCounted` class (or any class that inherits it, such as :ref:`class_Resource`) will be freed automatically when no longer in use. For an instance of any class that is not a :ref:`class_RefCounted` (such as :ref:`class_Node` or the base :ref:`class_Object` type), it will remain in memory until it is deleted with ``free()`` (or ``queue_free()`` for Nodes)." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2167 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2213 msgid "If a :ref:`class_Node` is deleted via ``free()`` or ``queue_free()``, all of its children will also recursively be deleted." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2170 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2216 msgid "To avoid reference cycles that can't be freed, a :ref:`class_WeakRef` function is provided for creating weak references, which allow access to the object without preventing a :ref:`class_RefCounted` from freeing. Here is an example:" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2195 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2241 msgid "Alternatively, when not using references, the ``is_instance_valid(instance)`` can be used to check if an object has been freed." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2202 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2248 msgid "Signals" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2204 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2250 msgid "Signals are a tool to emit messages from an object that other objects can react to. To create custom signals for a class, use the ``signal`` keyword." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2217 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2263 msgid "Signals are a `Callback `_ mechanism. They also fill the role of Observers, a common programming pattern. For more information, read the `Observer tutorial `_ in the Game Programming Patterns ebook." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2224 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2270 msgid "You can connect these signals to methods the same way you connect built-in signals of nodes like :ref:`class_Button` or :ref:`class_RigidBody3D`." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2227 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2273 msgid "In the example below, we connect the ``health_depleted`` signal from a ``Character`` node to a ``Game`` node. When the ``Character`` node emits the signal, the game node's ``_on_character_health_depleted`` is called::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2241 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2287 msgid "You can emit as many arguments as you want along with a signal." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2243 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2289 msgid "Here is an example where this is useful. Let's say we want a life bar on screen to react to health changes with an animation, but we want to keep the user interface separate from the player in our scene tree." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2247 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2293 msgid "In our ``character.gd`` script, we define a ``health_changed`` signal and emit it with :ref:`Signal.emit() `, and from a ``Game`` node higher up our scene tree, we connect it to the ``Lifebar`` using the :ref:`Signal.connect() ` method::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2286 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2332 msgid "In the ``Game`` node, we get both the ``Character`` and ``Lifebar`` nodes, then connect the character, that emits the signal, to the receiver, the ``Lifebar`` node in this case." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2300 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2346 msgid "This allows the ``Lifebar`` to react to health changes without coupling it to the ``Character`` node." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2303 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2349 msgid "You can write optional argument names in parentheses after the signal's definition::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2309 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2355 msgid "These 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; it's up to you to emit the correct values." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2315 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2361 msgid "GDScript can bind an array of values to connections between a signal and a method. When the signal is emitted, the callback method receives the bound values. These bound arguments are unique to each connection, and the values will stay the same." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2320 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2366 msgid "You can use this array of values to add extra constant information to the connection if the emitted signal itself doesn't give you access to all the data that you need." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2324 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2370 msgid "Building on the example above, let's say we want to display a log of the damage taken by each character on the screen, like ``Player1 took 22 damage.``. The ``health_changed`` signal doesn't give us the name of the character that took damage. So when we connect the signal to the in-game console, we can add the character's name in the binds array argument::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2338 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2384 msgid "Our ``BattleLog`` node receives each element in the binds array as an extra argument::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2351 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2397 msgid "Awaiting signals or coroutines" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2353 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2399 msgid "The ``await`` keyword can be used to create `coroutines `_ which wait until a signal is emitted before continuing execution. Using the ``await`` keyword with a signal or a call to a function that is also a coroutine will immediately return the control to the caller. When the signal is emitted (or the called coroutine finishes), it will resume execution from the point on where it stopped." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2358 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2404 msgid "For example, to stop execution until the user presses a button, you can do something like this::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2366 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2412 msgid "In this case, the ``wait_confirmation`` becomes a coroutine, which means that the caller also needs to await it::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2376 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2422 msgid "Note that requesting a coroutine's return value without ``await`` will trigger an error::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2381 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2427 msgid "However, if you don't depend on the result, you can just call it asynchronously, which won't stop execution and won't make the current function a coroutine::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2388 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2434 msgid "If you use await with an expression that isn't a signal nor a coroutine, the value will be returned immediately and the function won't give the control back to the caller::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2398 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2444 msgid "This also means that returning a signal from a function that isn't a coroutine will make the caller await that signal::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2407 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2453 msgid "Unlike ``yield`` in previous Godot versions, you cannot obtain the function state object. This is done to ensure type safety. With this type safety in place, a function cannot say that it returns an ``int`` while it actually returns a function state object during runtime." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2413 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2459 msgid "Assert keyword" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2415 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2461 msgid "The ``assert`` keyword can be used to check conditions in debug builds. These assertions are ignored in non-debug builds. This means that the expression passed as argument won't be evaluated in a project exported in release mode. Due to this, assertions must **not** contain expressions that have side effects. Otherwise, the behavior of the script would vary depending on whether the project is run in a debug build." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2427 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2473 msgid "When running a project from the editor, the project will be paused if an assertion error occurs." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2430 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2476 msgid "You can optionally pass a custom error message to be shown if the assertion fails::" msgstr "" diff --git a/sphinx/templates/tutorials/scripting/gdscript/gdscript_documentation_comments.pot b/sphinx/templates/tutorials/scripting/gdscript/gdscript_documentation_comments.pot index ffc63b5ebf..6bc1adb2d8 100644 --- a/sphinx/templates/tutorials/scripting/gdscript/gdscript_documentation_comments.pot +++ b/sphinx/templates/tutorials/scripting/gdscript/gdscript_documentation_comments.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/scripting/gdscript/gdscript_exports.pot b/sphinx/templates/tutorials/scripting/gdscript/gdscript_exports.pot index ce2bb871ae..0bac2776e6 100644 --- a/sphinx/templates/tutorials/scripting/gdscript/gdscript_exports.pot +++ b/sphinx/templates/tutorials/scripting/gdscript/gdscript_exports.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/scripting/gdscript/gdscript_format_string.pot b/sphinx/templates/tutorials/scripting/gdscript/gdscript_format_string.pot index 7f5ad899ee..59af895941 100644 --- a/sphinx/templates/tutorials/scripting/gdscript/gdscript_format_string.pot +++ b/sphinx/templates/tutorials/scripting/gdscript/gdscript_format_string.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/scripting/gdscript/gdscript_styleguide.pot b/sphinx/templates/tutorials/scripting/gdscript/gdscript_styleguide.pot index 525d885f64..37c97606db 100644 --- a/sphinx/templates/tutorials/scripting/gdscript/gdscript_styleguide.pot +++ b/sphinx/templates/tutorials/scripting/gdscript/gdscript_styleguide.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -417,7 +417,7 @@ msgid "Then, write constants, exported variables, public, private, and onready v msgstr "" #: ../../docs/tutorials/scripting/gdscript/gdscript_styleguide.rst:846 -msgid "The GDScript compiler evaluates onready variables right before the ``_ready`` callback. You can use that to cache node dependencies, that is to say, to get child nodes in the scene that your class relies on. This is what the example above shows." +msgid "GDScript evaluates ``@onready`` variables right before the ``_ready`` callback. You can use that to cache node dependencies, that is to say, to get child nodes in the scene that your class relies on. This is what the example above shows." msgstr "" #: ../../docs/tutorials/scripting/gdscript/gdscript_styleguide.rst:852 diff --git a/sphinx/templates/tutorials/scripting/gdscript/index.pot b/sphinx/templates/tutorials/scripting/gdscript/index.pot index 01adfa8514..b4056c955f 100644 --- a/sphinx/templates/tutorials/scripting/gdscript/index.pot +++ b/sphinx/templates/tutorials/scripting/gdscript/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/scripting/gdscript/static_typing.pot b/sphinx/templates/tutorials/scripting/gdscript/static_typing.pot index 48d39405fc..3e478e285a 100644 --- a/sphinx/templates/tutorials/scripting/gdscript/static_typing.pot +++ b/sphinx/templates/tutorials/scripting/gdscript/static_typing.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/scripting/gdscript/warning_system.pot b/sphinx/templates/tutorials/scripting/gdscript/warning_system.pot index 764d748aed..97f5e1210c 100644 --- a/sphinx/templates/tutorials/scripting/gdscript/warning_system.pot +++ b/sphinx/templates/tutorials/scripting/gdscript/warning_system.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/scripting/groups.pot b/sphinx/templates/tutorials/scripting/groups.pot index 583d7ddcf8..b568284b26 100644 --- a/sphinx/templates/tutorials/scripting/groups.pot +++ b/sphinx/templates/tutorials/scripting/groups.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/scripting/how_to_read_the_godot_api.pot b/sphinx/templates/tutorials/scripting/how_to_read_the_godot_api.pot index 74cd07f976..76be3c506c 100644 --- a/sphinx/templates/tutorials/scripting/how_to_read_the_godot_api.pot +++ b/sphinx/templates/tutorials/scripting/how_to_read_the_godot_api.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/scripting/idle_and_physics_processing.pot b/sphinx/templates/tutorials/scripting/idle_and_physics_processing.pot index ea2907f3fe..ffb4d63d02 100644 --- a/sphinx/templates/tutorials/scripting/idle_and_physics_processing.pot +++ b/sphinx/templates/tutorials/scripting/idle_and_physics_processing.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/scripting/index.pot b/sphinx/templates/tutorials/scripting/index.pot index 07df989aee..57dc7bcd8d 100644 --- a/sphinx/templates/tutorials/scripting/index.pot +++ b/sphinx/templates/tutorials/scripting/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/scripting/instancing_with_signals.pot b/sphinx/templates/tutorials/scripting/instancing_with_signals.pot index 233b681d4a..bfea32f52e 100644 --- a/sphinx/templates/tutorials/scripting/instancing_with_signals.pot +++ b/sphinx/templates/tutorials/scripting/instancing_with_signals.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/scripting/nodes_and_scene_instances.pot b/sphinx/templates/tutorials/scripting/nodes_and_scene_instances.pot index aa324b13b3..d44292cfa1 100644 --- a/sphinx/templates/tutorials/scripting/nodes_and_scene_instances.pot +++ b/sphinx/templates/tutorials/scripting/nodes_and_scene_instances.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/scripting/overridable_functions.pot b/sphinx/templates/tutorials/scripting/overridable_functions.pot index 5a94fbe8ac..e1527fa83d 100644 --- a/sphinx/templates/tutorials/scripting/overridable_functions.pot +++ b/sphinx/templates/tutorials/scripting/overridable_functions.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/scripting/pausing_games.pot b/sphinx/templates/tutorials/scripting/pausing_games.pot index ca633b0a77..32855d1ae7 100644 --- a/sphinx/templates/tutorials/scripting/pausing_games.pot +++ b/sphinx/templates/tutorials/scripting/pausing_games.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/scripting/resources.pot b/sphinx/templates/tutorials/scripting/resources.pot index 98e62c0a79..d08e66bb17 100644 --- a/sphinx/templates/tutorials/scripting/resources.pot +++ b/sphinx/templates/tutorials/scripting/resources.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/scripting/scene_tree.pot b/sphinx/templates/tutorials/scripting/scene_tree.pot index 67fe72e260..a6fee931ad 100644 --- a/sphinx/templates/tutorials/scripting/scene_tree.pot +++ b/sphinx/templates/tutorials/scripting/scene_tree.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/scripting/scene_unique_nodes.pot b/sphinx/templates/tutorials/scripting/scene_unique_nodes.pot index b59c03f1b8..35ace2b7c6 100644 --- a/sphinx/templates/tutorials/scripting/scene_unique_nodes.pot +++ b/sphinx/templates/tutorials/scripting/scene_unique_nodes.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/scripting/singletons_autoload.pot b/sphinx/templates/tutorials/scripting/singletons_autoload.pot index 0545894c85..358850dfa4 100644 --- a/sphinx/templates/tutorials/scripting/singletons_autoload.pot +++ b/sphinx/templates/tutorials/scripting/singletons_autoload.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -89,7 +89,7 @@ msgid "When autoloading a script, a :ref:`class_Node` will be created and the sc msgstr "" #: ../../docs/tutorials/scripting/singletons_autoload.rst:63 -msgid "To autoload a scene or script, select **Project > Project Settings** from the menu and switch to the **Autoload** tab." +msgid "To autoload a scene or script, start from the menu and navigate to **Project > Project Settings > Globals > Autoload**." msgstr "" #: ../../docs/tutorials/scripting/singletons_autoload.rst:68 @@ -141,42 +141,42 @@ msgid "Open the **Script** window and create a new script called ``global.gd``. msgstr "" #: ../../docs/tutorials/scripting/singletons_autoload.rst:148 -msgid "The next step is to add this script to the autoLoad list. Open **Project > Project Settings** from the menu, switch to the **Autoload** tab and select the script by clicking the browse button or typing its path: ``res://global.gd``. Press **Add** to add it to the autoload list:" +msgid "The next step is to add this script to the autoLoad list. Starting from the menu, open **Project > Project Settings > Globals > Autoload** and select the script by clicking the browse button or typing its path: ``res://global.gd``. Press **Add** to add it to the autoload list:" msgstr "" -#: ../../docs/tutorials/scripting/singletons_autoload.rst:155 +#: ../../docs/tutorials/scripting/singletons_autoload.rst:156 msgid "Now whenever we run any scene in the project, this script will always be loaded." msgstr "" -#: ../../docs/tutorials/scripting/singletons_autoload.rst:157 +#: ../../docs/tutorials/scripting/singletons_autoload.rst:158 msgid "Returning to the script, it needs to fetch the current scene in the `_ready()` function. Both the current scene (the one with the button) and ``global.gd`` are children of root, but autoloaded nodes are always first. This means that the last child of root is always the loaded scene." msgstr "" -#: ../../docs/tutorials/scripting/singletons_autoload.rst:188 +#: ../../docs/tutorials/scripting/singletons_autoload.rst:189 msgid "Now we need a function for changing the scene. This function needs to free the current scene and replace it with the requested one." msgstr "" -#: ../../docs/tutorials/scripting/singletons_autoload.rst:257 +#: ../../docs/tutorials/scripting/singletons_autoload.rst:258 msgid "Using :ref:`Object.call_deferred() `, the second function will only run once all code from the current scene has completed. Thus, the current scene will not be removed while it is still being used (i.e. its code is still running)." msgstr "" -#: ../../docs/tutorials/scripting/singletons_autoload.rst:262 +#: ../../docs/tutorials/scripting/singletons_autoload.rst:263 msgid "Finally, we need to fill the empty callback functions in the two scenes:" msgstr "" -#: ../../docs/tutorials/scripting/singletons_autoload.rst:282 +#: ../../docs/tutorials/scripting/singletons_autoload.rst:283 msgid "and" msgstr "" -#: ../../docs/tutorials/scripting/singletons_autoload.rst:302 +#: ../../docs/tutorials/scripting/singletons_autoload.rst:303 msgid "Run the project and test that you can switch between scenes by pressing the button." msgstr "" -#: ../../docs/tutorials/scripting/singletons_autoload.rst:307 +#: ../../docs/tutorials/scripting/singletons_autoload.rst:308 msgid "When scenes are small, the transition is instantaneous. However, if your scenes are more complex, they may take a noticeable amount of time to appear. To learn how to handle this, see the next tutorial: :ref:`doc_background_loading`." msgstr "" -#: ../../docs/tutorials/scripting/singletons_autoload.rst:311 +#: ../../docs/tutorials/scripting/singletons_autoload.rst:312 msgid "Alternatively, if the loading time is relatively short (less than 3 seconds or so), you can display a \"loading plaque\" by showing some kind of 2D element just before changing the scene. You can then hide it just after the scene is changed. This can be used to indicate to the player that a scene is being loaded." msgstr "" diff --git a/sphinx/templates/tutorials/shaders/advanced_postprocessing.pot b/sphinx/templates/tutorials/shaders/advanced_postprocessing.pot index c135b5cb6a..2d577ea493 100644 --- a/sphinx/templates/tutorials/shaders/advanced_postprocessing.pot +++ b/sphinx/templates/tutorials/shaders/advanced_postprocessing.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/shaders/compute_shaders.pot b/sphinx/templates/tutorials/shaders/compute_shaders.pot index cecdb16802..c28dfa5cf0 100644 --- a/sphinx/templates/tutorials/shaders/compute_shaders.pot +++ b/sphinx/templates/tutorials/shaders/compute_shaders.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/shaders/converting_glsl_to_godot_shaders.pot b/sphinx/templates/tutorials/shaders/converting_glsl_to_godot_shaders.pot index 93bb1f2113..bf61cde6b5 100644 --- a/sphinx/templates/tutorials/shaders/converting_glsl_to_godot_shaders.pot +++ b/sphinx/templates/tutorials/shaders/converting_glsl_to_godot_shaders.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/shaders/custom_postprocessing.pot b/sphinx/templates/tutorials/shaders/custom_postprocessing.pot index c8c0cffba3..e75815d90c 100644 --- a/sphinx/templates/tutorials/shaders/custom_postprocessing.pot +++ b/sphinx/templates/tutorials/shaders/custom_postprocessing.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/shaders/index.pot b/sphinx/templates/tutorials/shaders/index.pot index 9feb7f8ab8..1f03ab33e8 100644 --- a/sphinx/templates/tutorials/shaders/index.pot +++ b/sphinx/templates/tutorials/shaders/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/shaders/introduction_to_shaders.pot b/sphinx/templates/tutorials/shaders/introduction_to_shaders.pot index ca4a5db883..0146f224a8 100644 --- a/sphinx/templates/tutorials/shaders/introduction_to_shaders.pot +++ b/sphinx/templates/tutorials/shaders/introduction_to_shaders.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/shaders/making_trees.pot b/sphinx/templates/tutorials/shaders/making_trees.pot index 5665dd6961..076312f35a 100644 --- a/sphinx/templates/tutorials/shaders/making_trees.pot +++ b/sphinx/templates/tutorials/shaders/making_trees.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/shaders/screen-reading_shaders.pot b/sphinx/templates/tutorials/shaders/screen-reading_shaders.pot index 0ebc49932d..f944e312c4 100644 --- a/sphinx/templates/tutorials/shaders/screen-reading_shaders.pot +++ b/sphinx/templates/tutorials/shaders/screen-reading_shaders.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/shaders/shader_materials.pot b/sphinx/templates/tutorials/shaders/shader_materials.pot index 069e7754b3..73a77d53b6 100644 --- a/sphinx/templates/tutorials/shaders/shader_materials.pot +++ b/sphinx/templates/tutorials/shaders/shader_materials.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" 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 ebd59000e0..79f71ef1bc 100644 --- a/sphinx/templates/tutorials/shaders/shader_reference/canvas_item_shader.pot +++ b/sphinx/templates/tutorials/shaders/shader_reference/canvas_item_shader.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -319,6 +319,11 @@ msgstr "" msgid "in vec4 **CUSTOM0**" msgstr "" +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:135 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:137 +msgid "Custom value from vertex primitive." +msgstr "" + #: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:137 msgid "in vec4 **CUSTOM1**" msgstr "" diff --git a/sphinx/templates/tutorials/shaders/shader_reference/fog_shader.pot b/sphinx/templates/tutorials/shaders/shader_reference/fog_shader.pot index dd06f5579b..0cec22720a 100644 --- a/sphinx/templates/tutorials/shaders/shader_reference/fog_shader.pot +++ b/sphinx/templates/tutorials/shaders/shader_reference/fog_shader.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/shaders/shader_reference/index.pot b/sphinx/templates/tutorials/shaders/shader_reference/index.pot index 4019173d01..c1371100e2 100644 --- a/sphinx/templates/tutorials/shaders/shader_reference/index.pot +++ b/sphinx/templates/tutorials/shaders/shader_reference/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/shaders/shader_reference/particle_shader.pot b/sphinx/templates/tutorials/shaders/shader_reference/particle_shader.pot index 5685f9ecbe..c4abd9d7b2 100644 --- a/sphinx/templates/tutorials/shaders/shader_reference/particle_shader.pot +++ b/sphinx/templates/tutorials/shaders/shader_reference/particle_shader.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/shaders/shader_reference/shader_preprocessor.pot b/sphinx/templates/tutorials/shaders/shader_reference/shader_preprocessor.pot index aa2691926b..0fd53c1851 100644 --- a/sphinx/templates/tutorials/shaders/shader_reference/shader_preprocessor.pot +++ b/sphinx/templates/tutorials/shaders/shader_reference/shader_preprocessor.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/shaders/shader_reference/shading_language.pot b/sphinx/templates/tutorials/shaders/shader_reference/shading_language.pot index 767f7bf54b..9f93c23f59 100644 --- a/sphinx/templates/tutorials/shaders/shader_reference/shading_language.pot +++ b/sphinx/templates/tutorials/shaders/shader_reference/shading_language.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/shaders/shader_reference/sky_shader.pot b/sphinx/templates/tutorials/shaders/shader_reference/sky_shader.pot index 852157145c..cd4aa74525 100644 --- a/sphinx/templates/tutorials/shaders/shader_reference/sky_shader.pot +++ b/sphinx/templates/tutorials/shaders/shader_reference/sky_shader.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/shaders/shader_reference/spatial_shader.pot b/sphinx/templates/tutorials/shaders/shader_reference/spatial_shader.pot index 14d0fd6807..893560dd07 100644 --- a/sphinx/templates/tutorials/shaders/shader_reference/spatial_shader.pot +++ b/sphinx/templates/tutorials/shaders/shader_reference/spatial_shader.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -35,8 +35,8 @@ msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:15 #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:100 #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:155 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:254 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:423 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:258 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:427 msgid "Description" msgstr "" @@ -319,8 +319,8 @@ msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:100 #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:155 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:254 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:423 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:258 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:427 msgid "Built-in" msgstr "" @@ -401,38 +401,38 @@ msgid "This allows you to easily adjust the shader to a particle system using de msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:157 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:256 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:425 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:260 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:429 msgid "in vec2 **VIEWPORT_SIZE**" msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:157 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:256 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:425 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:260 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:429 msgid "Size of viewport (in pixels)." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:159 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:281 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:436 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:285 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:440 msgid "in mat4 **VIEW_MATRIX**" msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:159 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:281 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:436 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:285 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:440 msgid "World space to view space transform." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:161 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:283 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:434 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:287 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:438 msgid "in mat4 **INV_VIEW_MATRIX**" msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:161 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:283 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:434 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:287 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:438 msgid "View space to world space transform." msgstr "" @@ -445,19 +445,19 @@ msgid "View space to world space transform of camera used to draw the current vi msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:166 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:287 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:440 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:291 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:444 msgid "in mat4 **INV_PROJECTION_MATRIX**" msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:166 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:287 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:440 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:291 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:444 msgid "Clip space to view space transform." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:168 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:289 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:293 msgid "in vec3 **NODE_POSITION_WORLD**" msgstr "" @@ -466,7 +466,7 @@ msgid "Node world space position." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:170 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:291 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:295 msgid "in vec3 **NODE_POSITION_VIEW**" msgstr "" @@ -475,7 +475,7 @@ msgid "Node view space position." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:172 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:293 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:297 msgid "in vec3 **CAMERA_POSITION_WORLD**" msgstr "" @@ -484,7 +484,7 @@ msgid "Camera world space position." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:174 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:295 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:299 msgid "in vec3 **CAMERA_DIRECTION_WORLD**" msgstr "" @@ -493,24 +493,24 @@ msgid "Camera world space direction." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:176 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:297 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:301 msgid "in uint **CAMERA_VISIBLE_LAYERS**" msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:176 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:297 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:301 msgid "Cull layers of the camera rendering the current pass." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:178 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:274 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:473 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:278 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:477 msgid "in bool **OUTPUT_IS_SRGB**" msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:178 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:274 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:473 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:278 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:477 msgid "``true`` when output is in sRGB color space (this is ``true`` in the Compatibility renderer, ``false`` in Forward+ and Forward Mobile)." msgstr "" @@ -531,42 +531,42 @@ msgid "Instance custom data (for particles, mostly)." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:186 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:304 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:308 msgid "in int **VIEW_INDEX**" msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:186 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:304 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:308 msgid "The view that we are rendering. ``VIEW_MONO_LEFT`` (``0``) for Mono (not multiview) or left eye, ``VIEW_RIGHT`` (``1``) for right eye." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:190 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:308 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:312 msgid "in int **VIEW_MONO_LEFT**" msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:190 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:308 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:312 msgid "Constant for Mono or left eye, always ``0``." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:192 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:310 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:314 msgid "in int **VIEW_RIGHT**" msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:192 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:310 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:314 msgid "Constant for right eye, always ``1``." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:194 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:312 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:316 msgid "in vec3 **EYE_OFFSET**" msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:194 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:312 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:316 msgid "Position offset for the eye being rendered. Only applicable for multiview rendering." msgstr "" @@ -587,7 +587,7 @@ msgid "The index of the current vertex in the vertex buffer." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:201 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:324 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:328 msgid "inout vec3 **NORMAL**" msgstr "" @@ -596,7 +596,7 @@ msgid "Normal in local coordinates." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:203 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:326 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:330 msgid "inout vec3 **TANGENT**" msgstr "" @@ -605,7 +605,7 @@ msgid "Tangent in local coordinates." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:205 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:328 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:332 msgid "inout vec3 **BINORMAL**" msgstr "" @@ -646,7 +646,7 @@ msgid "Color from vertices." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:215 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:350 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:354 msgid "out float **ROUGHNESS**" msgstr "" @@ -675,19 +675,19 @@ msgid "inout mat3 **MODELVIEW_NORMAL_MATRIX**" msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:223 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:277 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:432 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:281 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:436 msgid "in mat4 **MODEL_MATRIX**" msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:223 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:277 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:432 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:281 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:436 msgid "Model space to world space transform." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:225 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:279 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:283 msgid "in mat3 **MODEL_NORMAL_MATRIX**" msgstr "" @@ -696,8 +696,8 @@ msgid "inout mat4 **PROJECTION_MATRIX**" msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:227 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:285 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:438 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:289 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:442 msgid "View space to clip space transform." msgstr "" @@ -729,481 +729,485 @@ msgstr "" msgid "``MODELVIEW_MATRIX`` combines both the ``MODEL_MATRIX`` and ``VIEW_MATRIX`` and is better suited when floating point issues may arise. For example, if the object is very far away from the world origin, you may run into floating point issues when using the separated ``MODEL_MATRIX`` and ``VIEW_MATRIX``." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:247 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:248 +msgid "``INV_VIEW_MATRIX`` is the matrix used for rendering the object in that pass, not like ``MAIN_CAM_INV_VIEW_MATRIX``, which is the matrix of the camera in the scene. In the shadow pass, ``INV_VIEW_MATRIX``'s view is based on the camera that is located at the position of the light." +msgstr "" + +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:251 msgid "Fragment built-ins" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:249 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:253 msgid "The default use of a Godot fragment processor function is to set up the material properties of your object and to let the built-in renderer handle the final shading. However, you are not required to use all these properties, and if you don't write to them, Godot will optimize away the corresponding functionality." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:258 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:427 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:262 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:431 msgid "in vec4 **FRAGCOORD**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:258 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:427 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:262 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:431 msgid "Coordinate of pixel center in screen space. ``xy`` specifies position in window, ``z`` specifies fragment depth if ``DEPTH`` is not used. Origin is lower-left." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:261 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:265 msgid "in bool **FRONT_FACING**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:261 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:265 msgid "``true`` if current face is front facing." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:263 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:448 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:267 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:452 msgid "in vec3 **VIEW**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:263 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:267 msgid "Normalized vector from fragment position to camera (in view space). This is the same for both perspective and orthogonal cameras." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:266 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:444 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:270 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:448 msgid "in vec2 **UV**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:266 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:444 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:270 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:448 msgid "UV that comes from vertex function." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:268 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:446 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:272 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:450 msgid "in vec2 **UV2**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:268 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:446 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:272 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:450 msgid "UV2 that comes from vertex function." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:270 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:274 msgid "in vec4 **COLOR**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:270 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:274 msgid "COLOR that comes from vertex function." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:272 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:276 msgid "in vec2 **POINT_COORD**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:272 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:276 msgid "Point Coordinate for drawing points with POINT_SIZE." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:285 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:438 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:289 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:442 msgid "in mat4 **PROJECTION_MATRIX**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:289 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:293 msgid "Node position, in world space." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:291 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:295 msgid "Node position, in view space." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:293 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:297 msgid "Camera position, in world space." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:295 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:299 msgid "Camera direction, in world space." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:299 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:303 msgid "in vec3 **VERTEX**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:299 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:303 msgid "Vertex that comes from vertex function (default, in view space)." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:301 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:305 msgid "inout vec3 **LIGHT_VERTEX**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:301 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:305 msgid "A writable version of ``VERTEX`` that can be used to alter light and shadows. Writing to this will not change the position of the fragment." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:314 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:318 msgid "sampler2D **SCREEN_TEXTURE**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:314 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:318 msgid "Removed in Godot 4. Use a ``sampler2D`` with ``hint_screen_texture`` instead." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:316 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:320 msgid "in vec2 **SCREEN_UV**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:316 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:320 msgid "Screen UV coordinate for current pixel." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:318 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:322 msgid "sampler2D **DEPTH_TEXTURE**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:318 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:322 msgid "Removed in Godot 4. Use a ``sampler2D`` with ``hint_depth_texture`` instead." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:320 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:324 msgid "out float **DEPTH**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:320 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:324 msgid "Custom depth value (0..1). If ``DEPTH`` is being written to in any shader branch, then you are responsible for setting the ``DEPTH`` for **all** other branches. Otherwise, the graphics API will leave them uninitialized." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:324 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:328 msgid "Normal that comes from vertex function (default, in view space)." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:326 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:330 msgid "Tangent that comes from vertex function." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:328 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:332 msgid "Binormal that comes from vertex function." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:330 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:334 msgid "out vec3 **NORMAL_MAP**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:330 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:334 msgid "Set normal here if reading normal from a texture instead of NORMAL." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:332 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:336 msgid "out float **NORMAL_MAP_DEPTH**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:332 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:336 msgid "Depth from variable above. Defaults to 1.0." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:334 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:338 msgid "out vec3 **ALBEDO**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:334 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:338 msgid "Albedo (default white)." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:336 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:481 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:340 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:485 msgid "out float **ALPHA**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:336 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:340 msgid "Alpha (0..1); if read from or written to, the material will go to the transparent pipeline." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:338 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:342 msgid "out float **ALPHA_SCISSOR_THRESHOLD**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:338 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:342 msgid "If written to, values below a certain amount of alpha are discarded." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:340 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:344 msgid "out float **ALPHA_HASH_SCALE**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:342 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:346 msgid "out float **ALPHA_ANTIALIASING_EDGE**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:344 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:348 msgid "out vec2 **ALPHA_TEXTURE_COORDINATE**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:346 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:350 msgid "out float **METALLIC**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:346 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:350 msgid "Metallic (0..1)." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:348 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:352 msgid "out float **SPECULAR**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:348 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:352 msgid "Specular. Defaults to 0.5, best not to modify unless you want to change IOR." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:350 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:354 msgid "Roughness (0..1)." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:352 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:356 msgid "out float **RIM**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:352 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:356 msgid "Rim (0..1). If used, Godot calculates rim lighting." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:354 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:358 msgid "out float **RIM_TINT**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:354 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:358 msgid "Rim Tint, goes from 0 (white) to 1 (albedo). If used, Godot calculates rim lighting." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:356 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:360 msgid "out float **CLEARCOAT**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:356 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:360 msgid "Small added specular blob. If used, Godot calculates Clearcoat." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:358 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:362 msgid "out float **CLEARCOAT_GLOSS**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:358 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:362 msgid "Gloss of Clearcoat. If used, Godot calculates Clearcoat." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:360 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:364 msgid "out float **ANISOTROPY**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:360 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:364 msgid "For distorting the specular blob according to tangent space." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:362 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:366 msgid "out vec2 **ANISOTROPY_FLOW**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:362 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:366 msgid "Distortion direction, use with flowmaps." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:364 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:368 msgid "out float **SSS_STRENGTH**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:364 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:368 msgid "Strength of Subsurface Scattering. If used, Subsurface Scattering will be applied to object." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:366 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:370 msgid "out vec4 **SSS_TRANSMITTANCE_COLOR**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:368 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:372 msgid "out float **SSS_TRANSMITTANCE_DEPTH**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:370 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:374 msgid "out float **SSS_TRANSMITTANCE_BOOST**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:372 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:376 msgid "inout vec3 **BACKLIGHT**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:374 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:378 msgid "out float **AO**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:374 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:378 msgid "Strength of Ambient Occlusion. For use with pre-baked AO." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:376 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:380 msgid "out float **AO_LIGHT_AFFECT**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:376 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:380 msgid "How much AO affects lights (0..1; default 0)." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:378 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:382 msgid "out vec3 **EMISSION**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:378 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:382 msgid "Emission color (can go over 1,1,1 for HDR)." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:380 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:384 msgid "out vec4 **FOG**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:380 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:384 msgid "If written to, blends final pixel color with FOG.rgb based on FOG.a." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:382 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:386 msgid "out vec4 **RADIANCE**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:382 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:386 msgid "If written to, blends environment map radiance with RADIANCE.rgb based on RADIANCE.a." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:384 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:388 msgid "out vec4 **IRRADIANCE**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:384 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:388 msgid "If written to, blends environment map IRRADIANCE with IRRADIANCE.rgb based on IRRADIANCE.a." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:389 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:487 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:393 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:491 msgid "Shaders going through the transparent pipeline when ``ALPHA`` is written to may exhibit transparency sorting issues. Read the :ref:`transparency sorting section in the 3D rendering limitations page ` for more information and ways to avoid issues." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:395 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:399 msgid "Light built-ins" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:397 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:401 msgid "Writing light processor functions is completely optional. You can skip the light function by setting render_mode to ``unshaded``. If no light function is written, Godot will use the material properties written to in the fragment function to calculate the lighting for you (subject to the render_mode)." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:402 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:406 msgid "The light function is called for every light in every pixel. It is called within a loop for each light type." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:405 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:409 msgid "Below is an example of a custom light function using a Lambertian lighting model:" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:413 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:417 msgid "If you want the lights to add together, add the light contribution to ``DIFFUSE_LIGHT`` using ``+=``, rather than overwriting it." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:417 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:421 msgid "The ``light()`` function won't be run if the ``vertex_lighting`` render mode is enabled, or if **Rendering > Quality > Shading > Force Vertex Shading** is enabled in the Project Settings. (It's enabled by default on mobile platforms.)" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:442 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:446 msgid "in vec3 **NORMAL**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:442 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:446 msgid "Normal vector, in view space." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:448 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:452 msgid "View vector, in view space." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:450 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:454 msgid "in vec3 **LIGHT**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:450 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:454 msgid "Light Vector, in view space." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:452 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:456 msgid "in vec3 **LIGHT_COLOR**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:452 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:456 msgid "Color of light multiplied by ``energy * PI``. The ``PI`` multiplication is present because physically-based lighting models include a division by ``PI``." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:457 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:461 msgid "in float **SPECULAR_AMOUNT**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:457 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:461 msgid "2.0 * ``light_specular`` property for ``OmniLight3D`` and ``SpotLight3D``. 1.0 for ``DirectionalLight3D``." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:461 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:465 msgid "in bool **LIGHT_IS_DIRECTIONAL**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:461 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:465 msgid "``true`` if this pass is a ``DirectionalLight3D``." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:463 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:467 msgid "in float **ATTENUATION**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:463 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:467 msgid "Attenuation based on distance or shadow." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:465 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:469 msgid "in vec3 **ALBEDO**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:465 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:469 msgid "Base albedo." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:467 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:471 msgid "in vec3 **BACKLIGHT**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:469 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:473 msgid "in float **METALLIC**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:469 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:473 msgid "Metallic." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:471 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:475 msgid "in float **ROUGHNESS**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:471 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:475 msgid "Roughness." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:477 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:481 msgid "out vec3 **DIFFUSE_LIGHT**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:477 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:481 msgid "Diffuse light result." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:479 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:483 msgid "out vec3 **SPECULAR_LIGHT**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:479 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:483 msgid "Specular light result." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:481 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:485 msgid "Alpha (0..1); if written to, the material will go to the transparent pipeline." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:492 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:496 msgid "Transparent materials also cannot cast shadows or appear in ``hint_screen_texture`` and ``hint_depth_texture`` uniforms. This in turn prevents those materials from appearing in screen-space reflections or refraction. :ref:`SDFGI ` sharp reflections are not visible on transparent materials (only rough reflections are visible on transparent materials)." msgstr "" diff --git a/sphinx/templates/tutorials/shaders/shaders_style_guide.pot b/sphinx/templates/tutorials/shaders/shaders_style_guide.pot index 8db5b51c92..536656da53 100644 --- a/sphinx/templates/tutorials/shaders/shaders_style_guide.pot +++ b/sphinx/templates/tutorials/shaders/shaders_style_guide.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/shaders/using_viewport_as_texture.pot b/sphinx/templates/tutorials/shaders/using_viewport_as_texture.pot index a4b974578a..5810c19ebe 100644 --- a/sphinx/templates/tutorials/shaders/using_viewport_as_texture.pot +++ b/sphinx/templates/tutorials/shaders/using_viewport_as_texture.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/shaders/visual_shaders.pot b/sphinx/templates/tutorials/shaders/visual_shaders.pot index b48875aba9..9b57efff76 100644 --- a/sphinx/templates/tutorials/shaders/visual_shaders.pot +++ b/sphinx/templates/tutorials/shaders/visual_shaders.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/shaders/your_first_shader/index.pot b/sphinx/templates/tutorials/shaders/your_first_shader/index.pot index a2404c33fc..36e11be027 100644 --- a/sphinx/templates/tutorials/shaders/your_first_shader/index.pot +++ b/sphinx/templates/tutorials/shaders/your_first_shader/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/shaders/your_first_shader/your_first_2d_shader.pot b/sphinx/templates/tutorials/shaders/your_first_shader/your_first_2d_shader.pot index 5271a63259..f046546495 100644 --- a/sphinx/templates/tutorials/shaders/your_first_shader/your_first_2d_shader.pot +++ b/sphinx/templates/tutorials/shaders/your_first_shader/your_first_2d_shader.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/shaders/your_first_shader/your_first_3d_shader.pot b/sphinx/templates/tutorials/shaders/your_first_shader/your_first_3d_shader.pot index 8f3807417b..121a2e4053 100644 --- a/sphinx/templates/tutorials/shaders/your_first_shader/your_first_3d_shader.pot +++ b/sphinx/templates/tutorials/shaders/your_first_shader/your_first_3d_shader.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/shaders/your_first_shader/your_second_3d_shader.pot b/sphinx/templates/tutorials/shaders/your_first_shader/your_second_3d_shader.pot index 0c467c55e4..ae47778872 100644 --- a/sphinx/templates/tutorials/shaders/your_first_shader/your_second_3d_shader.pot +++ b/sphinx/templates/tutorials/shaders/your_first_shader/your_second_3d_shader.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/troubleshooting.pot b/sphinx/templates/tutorials/troubleshooting.pot index dc88f0ddaf..b2005abdc9 100644 --- a/sphinx/templates/tutorials/troubleshooting.pot +++ b/sphinx/templates/tutorials/troubleshooting.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -152,104 +152,108 @@ msgstr "" msgid "To disable this overlay, press :kbd:`Alt + Z` (default shortcut for the NVIDIA overlay) and disable **Settings > HUD Layout > Status Indicator** in the NVIDIA overlay." msgstr "" -#: ../../docs/tutorials/troubleshooting.rst:134 +#: ../../docs/tutorials/troubleshooting.rst:133 +msgid "Alternatively, you can install the `new NVIDIA app ` which replaces GeForce Experience and does not suffer from this issue. Unlike GeForce Experience, the NVIDIA app draws the replay indicator in the corner of the screen as opposed to the corner of each window." +msgstr "" + +#: ../../docs/tutorials/troubleshooting.rst:140 msgid "The editor or project appears overly sharp or blurry" msgstr "" -#: ../../docs/tutorials/troubleshooting.rst:140 -#: ../../docs/tutorials/troubleshooting.rst:140 +#: ../../docs/tutorials/troubleshooting.rst:146 +#: ../../docs/tutorials/troubleshooting.rst:146 msgid "Correct appearance (left), oversharpened appearance due to graphics driver sharpening (right)" msgstr "" -#: ../../docs/tutorials/troubleshooting.rst:142 +#: ../../docs/tutorials/troubleshooting.rst:148 msgid "If the editor or project appears overly sharp, this is likely due to image sharpening being forced on all Vulkan or OpenGL applications by your graphics driver. You can disable this behavior in the graphics driver's control panel:" msgstr "" -#: ../../docs/tutorials/troubleshooting.rst:146 +#: ../../docs/tutorials/troubleshooting.rst:152 msgid "**NVIDIA (Windows):** Open the start menu and choose **NVIDIA Control Panel**. Open the **Manage 3D settings** tab on the left. In the list in the middle, scroll to **Image Sharpening** and set it to **Sharpening Off**." msgstr "" -#: ../../docs/tutorials/troubleshooting.rst:149 +#: ../../docs/tutorials/troubleshooting.rst:155 msgid "**AMD (Windows):** Open the start menu and choose **AMD Software**. Click the settings \"cog\" icon in the top-right corner. Go to the **Graphics** tab then disable **Radeon Image Sharpening**." msgstr "" -#: ../../docs/tutorials/troubleshooting.rst:153 +#: ../../docs/tutorials/troubleshooting.rst:159 msgid "If the editor or project appears overly blurry, this is likely due to :abbr:`FXAA (Fast Approximate AntiAliasing)` being forced on all Vulkan or OpenGL applications by your graphics driver." msgstr "" -#: ../../docs/tutorials/troubleshooting.rst:157 +#: ../../docs/tutorials/troubleshooting.rst:163 msgid "**NVIDIA (Windows):** Open the start menu and choose **NVIDIA Control Panel**. Open the **Manage 3D settings** tab on the left. In the list in the middle, scroll to **Fast Approximate Antialiasing** and set it to **Application Controlled**." msgstr "" -#: ../../docs/tutorials/troubleshooting.rst:161 +#: ../../docs/tutorials/troubleshooting.rst:167 msgid "**NVIDIA (Linux):** Open the applications menu and choose **NVIDIA X Server Settings**. Select to **Antialiasing Settings** on the left, then uncheck **Enable FXAA**." msgstr "" -#: ../../docs/tutorials/troubleshooting.rst:164 +#: ../../docs/tutorials/troubleshooting.rst:170 msgid "**AMD (Windows):** Open the start menu and choose **AMD Software**. Click the settings \"cog\" icon in the top-right corner. Go to the **Graphics** tab, scroll to the bottom and click **Advanced** to unfold its settings. Disable **Morphological Anti-Aliasing**." msgstr "" -#: ../../docs/tutorials/troubleshooting.rst:169 +#: ../../docs/tutorials/troubleshooting.rst:175 msgid "Third-party vendor-independent utilities such as vkBasalt may also force sharpening or FXAA on all Vulkan applications. You may want to check their configuration as well." msgstr "" -#: ../../docs/tutorials/troubleshooting.rst:173 +#: ../../docs/tutorials/troubleshooting.rst:179 msgid "After changing options in the graphics driver or third-party utilities, restart Godot to make the changes effective." msgstr "" -#: ../../docs/tutorials/troubleshooting.rst:176 +#: ../../docs/tutorials/troubleshooting.rst:182 msgid "If you still wish to force sharpening or FXAA on other applications, it's recommended to do so on a per-application basis using the application profiles system provided by graphics drivers' control panels." msgstr "" -#: ../../docs/tutorials/troubleshooting.rst:181 +#: ../../docs/tutorials/troubleshooting.rst:187 msgid "The editor or project appears to have washed out colors" msgstr "" -#: ../../docs/tutorials/troubleshooting.rst:183 +#: ../../docs/tutorials/troubleshooting.rst:189 msgid "On Windows, this is usually caused by incorrect OS or monitor settings, as Godot currently does not support :abbr:`HDR (High Dynamic Range)` *output* (even though it may internally render in HDR)." msgstr "" -#: ../../docs/tutorials/troubleshooting.rst:187 +#: ../../docs/tutorials/troubleshooting.rst:193 msgid "As `most displays are not designed to display SDR content in HDR mode `__, it is recommended to disable HDR in the Windows settings when not running applications that use HDR output. On Windows 11, this can be done by pressing :kbd:`Windows + Alt + B` (this shortcut is part of the Xbox Game Bar app). To toggle HDR automatically based on applications currently running, you can use `AutoActions `__." msgstr "" -#: ../../docs/tutorials/troubleshooting.rst:194 +#: ../../docs/tutorials/troubleshooting.rst:200 msgid "If you insist on leaving HDR enabled, it is possible to somewhat improve the result by ensuring the display is configured to use :abbr:`HGIG (HDR Gaming Interest Group)` tonemapping (as opposed to :abbr:`DTM (Dynamic Tone Mapping)`), then `using the Windows HDR calibration app `__. It is also strongly recommended to use Windows 11 instead of Windows 10 when using HDR. The end result will still likely be inferior to disabling HDR on the display, though." msgstr "" -#: ../../docs/tutorials/troubleshooting.rst:201 +#: ../../docs/tutorials/troubleshooting.rst:207 msgid "Support for HDR *output* is planned in a future release." msgstr "" -#: ../../docs/tutorials/troubleshooting.rst:204 +#: ../../docs/tutorials/troubleshooting.rst:210 msgid "The editor/project freezes or displays glitched visuals after resuming the PC from suspend" msgstr "" -#: ../../docs/tutorials/troubleshooting.rst:206 +#: ../../docs/tutorials/troubleshooting.rst:212 msgid "This is a known issue on Linux with NVIDIA graphics when using the proprietary driver. There is no definitive fix yet, as suspend on Linux + NVIDIA is often buggy when OpenGL or Vulkan is involved. The Compatibility rendering method (which uses OpenGL) is generally less prone to suspend-related issues compared to the Forward+ and Forward Mobile rendering methods (which use Vulkan)." msgstr "" -#: ../../docs/tutorials/troubleshooting.rst:212 +#: ../../docs/tutorials/troubleshooting.rst:218 msgid "The NVIDIA driver offers an *experimental* `option to preserve video memory after suspend `__ which may resolve this issue. This option has been reported to work better with more recent NVIDIA driver versions." msgstr "" -#: ../../docs/tutorials/troubleshooting.rst:217 +#: ../../docs/tutorials/troubleshooting.rst:223 msgid "To avoid losing work, save scenes in the editor before putting the PC to sleep." msgstr "" -#: ../../docs/tutorials/troubleshooting.rst:220 +#: ../../docs/tutorials/troubleshooting.rst:226 msgid "The project works when run from the editor, but fails to load some files when running from an exported copy" msgstr "" -#: ../../docs/tutorials/troubleshooting.rst:222 +#: ../../docs/tutorials/troubleshooting.rst:228 msgid "This is usually caused by forgetting to specify a filter for non-resource files in the Export dialog. By default, Godot will only include actual *resources* into the PCK file. Some files commonly used, such as JSON files, are not considered resources. For example, if you load ``test.json`` in the exported project, you need to specify ``*.json`` in the non-resource export filter. See :ref:`doc_exporting_projects_export_mode` for more information." msgstr "" -#: ../../docs/tutorials/troubleshooting.rst:229 +#: ../../docs/tutorials/troubleshooting.rst:235 msgid "Also, note that files and folders whose names begin with a period will never be included in the exported project. This is done to prevent version control folders like ``.git`` from being included in the exported PCK file." msgstr "" -#: ../../docs/tutorials/troubleshooting.rst:233 +#: ../../docs/tutorials/troubleshooting.rst:239 msgid "On Windows, this can also be due to :ref:`case sensitivity ` issues. If you reference a resource in your script with a different case than on the filesystem, loading will fail once you export the project. This is because the virtual PCK filesystem is case-sensitive, while Windows's filesystem is case-insensitive by default." msgstr "" diff --git a/sphinx/templates/tutorials/ui/bbcode_in_richtextlabel.pot b/sphinx/templates/tutorials/ui/bbcode_in_richtextlabel.pot index 977e1cba7a..e8f6e9641b 100644 --- a/sphinx/templates/tutorials/ui/bbcode_in_richtextlabel.pot +++ b/sphinx/templates/tutorials/ui/bbcode_in_richtextlabel.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -157,11 +157,15 @@ msgstr "" msgid "Reference" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:231 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:228 +msgid "*Some* of these BBCode tags can be used in tooltips for ``@export`` script variables as well as in the XML source of the class reference. For more information, see :ref:`Class reference BBCode `." +msgstr "" + +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:237 msgid "Tag" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:232 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:238 msgid "Example" msgstr "" @@ -173,7 +177,7 @@ msgstr "" msgid "Makes ``{text}`` use the bold (or bold italics) font of ``RichTextLabel``." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:237 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:243 msgid "``[b]{text}[/b]``" msgstr "" @@ -185,7 +189,7 @@ msgstr "" msgid "Makes ``{text}`` use the italics (or bold italics) font of ``RichTextLabel``." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:242 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:248 msgid "``[i]{text}[/i]``" msgstr "" @@ -197,7 +201,7 @@ msgstr "" msgid "Makes ``{text}`` underlined." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:247 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:253 msgid "``[u]{text}[/u]``" msgstr "" @@ -209,7 +213,7 @@ msgstr "" msgid "Makes ``{text}`` strikethrough." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:252 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:258 msgid "``[s]{text}[/s]``" msgstr "" @@ -221,7 +225,7 @@ msgstr "" msgid "Makes ``{text}`` use the mono font of ``RichTextLabel``." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:257 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:263 msgid "``[code]{text}[/code]``" msgstr "" @@ -233,7 +237,7 @@ msgstr "" msgid "Adds Unicode character with hexadecimal UTF-32 ``{codepoint}``." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:262 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:268 msgid "``[char={codepoint}]``" msgstr "" @@ -265,7 +269,7 @@ msgstr "" msgid "Same as ``[p align=center]``." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:275 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:281 msgid "``[center]{text}[/center]``" msgstr "" @@ -281,7 +285,7 @@ msgstr "" msgid "Same as ``[p align=left]``." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:281 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:287 msgid "``[left]{text}[/left]``" msgstr "" @@ -297,7 +301,7 @@ msgstr "" msgid "Same as ``[p align=right]``." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:287 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:293 msgid "``[right]{text}[/right]``" msgstr "" @@ -313,7 +317,7 @@ msgstr "" msgid "Same as ``[p align=fill]``." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:293 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:299 msgid "``[fill]{text}[/fill]``" msgstr "" @@ -325,7 +329,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:299 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:305 msgid "``[indent]{text}[/indent]``" msgstr "" @@ -437,7 +441,7 @@ msgstr "" msgid "Use custom font size for ``{text}``." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:341 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:347 msgid "``[font_size={size}]{text}[/font_size]``" msgstr "" @@ -453,7 +457,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. 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:352 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:358 msgid "``[dropcap font={font} font_size={size} color={color} outline_size={size} outline_color={color} margins={left},{top},{right},{bottom}]{text}[/dropcap]``" msgstr "" @@ -487,12 +491,12 @@ 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:369 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:375 msgid "``[lang={code}]{text}[/lang]``" msgstr "" #: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:0 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:580 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:586 msgid "**color**" msgstr "" @@ -500,7 +504,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:376 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:382 msgid "``[color={code/name}]{text}[/color]``" msgstr "" @@ -512,7 +516,7 @@ msgstr "" msgid "Draws the color behind ``{text}``. This can be used to highlight text. Accepts same values as the ``color`` tag." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:382 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:388 msgid "``[bgcolor={code/name}]{text}[/bgcolor]``" msgstr "" @@ -524,7 +528,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." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:388 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:394 msgid "``[fgcolor={code/name}]{text}[/fgcolor]``" msgstr "" @@ -644,7 +648,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:438 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:444 msgid "``[ol type={type}]{items}[/ol]``" msgstr "" @@ -700,720 +704,720 @@ msgstr "" msgid "``[shy]`` (soft hyphen)" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:460 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:466 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:466 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:472 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:469 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:475 msgid "There are no BBCode tags to control vertical centering of text yet." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:471 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:477 msgid "Options can be skipped for all tags." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:476 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:482 msgid "Paragraph options" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:478 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:484 msgid "**align**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:481 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:491 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:502 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:514 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:524 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:534 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:583 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:593 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:603 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:613 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:623 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:633 -#: ../../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:725 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:735 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:745 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:755 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:765 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:775 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:791 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:836 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:847 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:857 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:868 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:487 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:497 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:508 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:520 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:530 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:540 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:589 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:599 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:609 +#: ../../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:691 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:701 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:711 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:721 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:731 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:741 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:751 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:761 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:771 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:781 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:797 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:842 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:853 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:863 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:874 msgid "`Values`" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:481 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:487 msgid "``left`` (or ``l``), ``center`` (or ``c``), ``right`` (or ``r``), ``fill`` (or ``f``)" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:483 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:494 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:506 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:516 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:526 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:536 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:585 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:595 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:605 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:615 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:625 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:635 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:687 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:697 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:707 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:717 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:727 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:737 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:747 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:757 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:767 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:777 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:793 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:838 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:849 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:859 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:870 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:489 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:500 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:512 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:522 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:532 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:542 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:591 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:601 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:611 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:621 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:631 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:641 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:693 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:703 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:713 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:723 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:733 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:743 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:753 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:763 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:773 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:783 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:799 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:844 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:855 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:865 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:876 msgid "`Default`" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:483 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:489 msgid "``left``" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:486 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:492 msgid "Text horizontal alignment." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:488 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:494 msgid "**bidi_override**, **st**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:491 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:497 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:494 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:500 msgid "``default``" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:497 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:503 msgid "Structured text override." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:499 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:505 msgid "**justification_flags**, **jst**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:502 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:508 msgid "Comma-separated list of the following values: ``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:506 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:512 msgid "``word,kashida,skip_last,do_not_skip_single``" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:509 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:515 msgid "Justification (fill alignment) option. See :ref:`class_TextServer` for more details." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:511 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:517 msgid "**direction**, **dir**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:514 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:520 msgid "``ltr`` (or ``l``), ``rtl`` (or ``r``), ``auto`` (or ``a``)" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:516 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:526 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:585 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:595 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:605 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:615 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:687 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:697 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:707 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:717 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:727 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:737 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:849 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:859 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:522 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:532 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:591 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:601 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:611 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:621 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:693 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:703 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:713 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:723 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:733 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:743 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:855 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:865 msgid "Inherit" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:519 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:525 msgid "Base BiDi direction." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:521 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:527 msgid "**language**, **lang**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:524 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:530 msgid "ISO language codes. See :ref:`doc_locales`" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:529 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:535 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:531 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:537 msgid "**tab_stops**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:534 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:540 msgid "List of floating-point numbers, e.g. ``10.0,30.0``" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:536 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:542 msgid "Width of the space character in the font" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:539 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:545 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:548 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:554 msgid "Handling ``[url]`` tag clicks" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:550 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:556 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:553 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:559 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:556 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:562 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:566 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:572 msgid "For more advanced use cases, it's also possible to store JSON in an ``[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:578 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:584 msgid "Image options" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:583 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:847 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:857 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:589 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:853 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:863 msgid "Color name or color in HEX format" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:588 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:594 msgid "Color tint of the image (modulation)." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:590 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:596 msgid "**height**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:593 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:603 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:836 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:599 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:609 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:842 msgid "Integer number" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:598 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:604 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:600 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:606 msgid "**width**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:608 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:614 msgid "Target width of the image, 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:610 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:616 msgid "**region**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:613 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:619 msgid "x,y,width,height in pixels" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:618 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:624 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:620 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:626 msgid "**pad**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:623 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:629 msgid "``false``, ``true``" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:625 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:631 msgid "``false``" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:628 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:634 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:630 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:636 msgid "**tootip**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:633 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:639 msgid "String" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:638 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:644 msgid "Image tooltip." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:643 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:649 msgid "Image and table vertical alignment" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:645 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:651 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:652 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:658 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:669 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:675 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:673 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:679 msgid "Short names for the values are ``t`` (``top``), ``c`` (``center``), ``l`` (``baseline``), and ``b`` (``bottom``)." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:680 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:686 msgid "Font options" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:682 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:688 msgid "**name**, **n**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:685 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:691 msgid "A valid Font resource path." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:690 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:696 msgid "Font resource path." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:692 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:698 msgid "**size**, **s**" msgstr "" -#: ../../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:725 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:735 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:701 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:711 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:721 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:731 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:741 msgid "Number in pixels." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:700 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:706 msgid "Custom font size." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:702 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:708 msgid "**glyph_spacing**, **gl**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:710 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:716 msgid "Extra spacing for each glyph." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:712 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:718 msgid "**glyph_spacing**, **sp**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:720 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:726 msgid "Extra spacing for the space character." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:722 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:728 msgid "**top_spacing**, **top**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:730 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:736 msgid "Extra spacing at the top of the line." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:732 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:738 msgid "**bottom_spacing**, **bt**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:740 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:746 msgid "Extra spacing at the bottom of the line." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:742 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:748 msgid "**embolden**, **emb**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:745 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:765 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:751 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:771 msgid "Floating-point number." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:747 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:767 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:753 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:773 msgid "``0.0``" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:750 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:756 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:752 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:758 msgid "**face_index**, **fi**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:755 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:761 msgid "Integer number." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:757 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:763 msgid "``0``" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:760 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:766 msgid "An active face index in the TrueType / OpenType collection." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:762 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:768 msgid "**slant**, **sln**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:770 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:776 msgid "Font slant strength, positive values slant glyphs to the right. Negative values to the left." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:772 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:778 msgid "**opentype_variation**, **otv**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:775 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:781 msgid "Comma-separated list of the OpenType variation tags." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:780 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:786 msgid "Font OpenType variation coordinates. See `OpenType variation tags `__." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:782 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:798 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:788 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:804 msgid "Note: The value should be enclosed in ``\"`` to allow using ``=`` inside it:" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:788 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:794 msgid "**opentype_features**, **otf**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:791 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:797 msgid "Comma-separated list of the OpenType feature tags." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:796 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:802 msgid "Font OpenType features. See `OpenType features tags `__." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:807 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:813 msgid "Named colors" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:809 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:815 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:817 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:823 msgid "Hexadecimal color codes" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:819 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:825 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:823 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:829 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:831 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:837 msgid "Cell options" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:833 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:839 msgid "**expand**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:838 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:844 msgid "1" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:841 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:847 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:844 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:850 msgid "**border**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:852 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:858 msgid "Cell border color." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:854 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:860 msgid "**bg**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:862 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:868 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:865 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:871 msgid "**padding**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:868 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:874 msgid "4 comma-separated floating-point numbers" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:870 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:876 msgid "0, 0, 0, 0" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:873 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:879 msgid "Left, top, right, and bottom cell padding." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:878 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:884 msgid "Unordered list bullet" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:880 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:886 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." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:887 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:893 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:893 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:899 msgid "Ordered list types" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:895 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:901 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:899 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:905 msgid "``1`` - Numbers, using language specific numbering system if possible." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:900 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:906 msgid "``a``, ``A`` - Lower and upper case Latin letters." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:901 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:907 msgid "``i``, ``I`` - Lower and upper case Roman numerals." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:904 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:910 msgid "Text effects" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:906 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:912 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:912 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:918 msgid "All examples below mention the default values for options in the listed tag format." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:916 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:922 msgid "Text effects that move characters' position may result in characters being clipped by the RichTextLabel node bounds." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:919 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:925 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:925 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:931 msgid "Pulse" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:929 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:935 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:933 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:939 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:940 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:946 msgid "Wave" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:944 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:950 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:947 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:953 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:956 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:962 msgid "Tornado" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:960 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:966 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:963 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:969 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:972 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:978 msgid "Shake" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:976 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:982 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:979 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:985 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:986 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:992 msgid "Fade" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:990 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:996 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:993 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:999 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:998 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1004 msgid "Rainbow" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1002 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1008 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]{text}[/rainbow]``." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1005 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1011 msgid "``freq`` is the number of full rainbow cycles per second, ``sat`` is the saturation of the rainbow, ``val`` is the value of the rainbow. A ``freq`` value of ``0`` will pause the animation, while negative ``freq`` will play the animation backwards." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1010 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1016 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:1016 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1022 msgid "Custom BBCode tags and text effects" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1018 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1024 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:1031 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1031 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1037 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1037 msgid "Selecting a custom RichTextEffect after saving a script that extends RichTextEffect with a ``class_name``" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1035 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1041 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:1039 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1045 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 simply 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:1045 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1051 msgid "``_process_custom_fx``" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1047 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1053 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:1051 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1057 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:1053 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1059 msgid "``outline`` is ``true`` if effect is called for drawing text outline." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1054 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1060 msgid "``range`` tells you how far into a given custom effect block you are in as an index." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1056 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1062 msgid "``elapsed_time`` is the total amount of time the text effect has been running." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1057 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1063 msgid "``visible`` will tell you whether the glyph is visible or not and will also allow you to hide a given portion of text." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1059 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1065 msgid "``offset`` is an offset position relative to where the given glyph should render under normal circumstances." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1061 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1067 msgid "``color`` is the color of a given glyph." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1062 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1068 msgid "``glyph_index`` and ``font`` is glyph being drawn and font data resource used to draw it." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1063 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1069 msgid "Finally, ``env`` is a :ref:`class_Dictionary` of parameters assigned to a given custom effect. You can use :ref:`get() ` with an optional default value to retrieve each parameter, if specified by the user. For example ``[custom_fx spread=0.5 color=#FFFF00]test[/custom_fx]`` would have a float ``spread`` and Color ``color`` parameters in its ``env`` Dictionary. See below for more usage examples." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1069 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1075 msgid "The last thing to note about this function is that it is necessary to return a boolean ``true`` value to verify that the effect processed correctly. This way, if there's a problem with rendering a given glyph, it will back out of rendering custom effects entirely until the user fixes whatever error cropped up in their custom effect logic." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1074 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1080 msgid "Here are some examples of custom effects:" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1077 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1083 msgid "Ghost" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1100 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1106 msgid "Matrix" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1138 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1144 msgid "This will add a few new BBCode commands, which can be used like so:" msgstr "" diff --git a/sphinx/templates/tutorials/ui/control_node_gallery.pot b/sphinx/templates/tutorials/ui/control_node_gallery.pot index 1971a92de7..7482abf6c4 100644 --- a/sphinx/templates/tutorials/ui/control_node_gallery.pot +++ b/sphinx/templates/tutorials/ui/control_node_gallery.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/ui/custom_gui_controls.pot b/sphinx/templates/tutorials/ui/custom_gui_controls.pot index 0e579717c5..5df510258e 100644 --- a/sphinx/templates/tutorials/ui/custom_gui_controls.pot +++ b/sphinx/templates/tutorials/ui/custom_gui_controls.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/ui/gui_containers.pot b/sphinx/templates/tutorials/ui/gui_containers.pot index 1a6f4645f0..236a296153 100644 --- a/sphinx/templates/tutorials/ui/gui_containers.pot +++ b/sphinx/templates/tutorials/ui/gui_containers.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/ui/gui_navigation.pot b/sphinx/templates/tutorials/ui/gui_navigation.pot index 314659ebd3..fef9de9116 100644 --- a/sphinx/templates/tutorials/ui/gui_navigation.pot +++ b/sphinx/templates/tutorials/ui/gui_navigation.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/ui/gui_skinning.pot b/sphinx/templates/tutorials/ui/gui_skinning.pot index 76aaf7e028..4d23a8e9ba 100644 --- a/sphinx/templates/tutorials/ui/gui_skinning.pot +++ b/sphinx/templates/tutorials/ui/gui_skinning.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/ui/gui_theme_type_variations.pot b/sphinx/templates/tutorials/ui/gui_theme_type_variations.pot index 0500de5a3b..15ebd7bdb3 100644 --- a/sphinx/templates/tutorials/ui/gui_theme_type_variations.pot +++ b/sphinx/templates/tutorials/ui/gui_theme_type_variations.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/ui/gui_using_fonts.pot b/sphinx/templates/tutorials/ui/gui_using_fonts.pot index 9cf16e5703..307cc793aa 100644 --- a/sphinx/templates/tutorials/ui/gui_using_fonts.pot +++ b/sphinx/templates/tutorials/ui/gui_using_fonts.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/ui/gui_using_theme_editor.pot b/sphinx/templates/tutorials/ui/gui_using_theme_editor.pot index 2e34835780..c684732fb4 100644 --- a/sphinx/templates/tutorials/ui/gui_using_theme_editor.pot +++ b/sphinx/templates/tutorials/ui/gui_using_theme_editor.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/ui/index.pot b/sphinx/templates/tutorials/ui/index.pot index dcbe13713b..4eed83eadb 100644 --- a/sphinx/templates/tutorials/ui/index.pot +++ b/sphinx/templates/tutorials/ui/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/ui/size_and_anchors.pot b/sphinx/templates/tutorials/ui/size_and_anchors.pot index 6b70080653..fbcd0867ae 100644 --- a/sphinx/templates/tutorials/ui/size_and_anchors.pot +++ b/sphinx/templates/tutorials/ui/size_and_anchors.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/xr/a_better_xr_start_script.pot b/sphinx/templates/tutorials/xr/a_better_xr_start_script.pot index ba9107e774..7e869e4aca 100644 --- a/sphinx/templates/tutorials/xr/a_better_xr_start_script.pot +++ b/sphinx/templates/tutorials/xr/a_better_xr_start_script.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/xr/ar_passthrough.pot b/sphinx/templates/tutorials/xr/ar_passthrough.pot index 1fa075354a..5d1b245414 100644 --- a/sphinx/templates/tutorials/xr/ar_passthrough.pot +++ b/sphinx/templates/tutorials/xr/ar_passthrough.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/xr/basic_xr_locomotion.pot b/sphinx/templates/tutorials/xr/basic_xr_locomotion.pot index 4094f81d0e..614da38816 100644 --- a/sphinx/templates/tutorials/xr/basic_xr_locomotion.pot +++ b/sphinx/templates/tutorials/xr/basic_xr_locomotion.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/xr/deploying_to_android.pot b/sphinx/templates/tutorials/xr/deploying_to_android.pot index 59427abdd9..a64ab99c57 100644 --- a/sphinx/templates/tutorials/xr/deploying_to_android.pot +++ b/sphinx/templates/tutorials/xr/deploying_to_android.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -129,7 +129,7 @@ msgid "Open **Project** and select **Export..**. Click on **Add..** and select * msgstr "" #: ../../docs/tutorials/xr/deploying_to_android.rst:81 -msgid "If the loader plugins were installed correctly you should find entries for the different headsets, select the entry for meta:" +msgid "If the vendors plugins were installed correctly you should find entries for the different headsets, select the entry for meta:" msgstr "" #: ../../docs/tutorials/xr/deploying_to_android.rst:85 diff --git a/sphinx/templates/tutorials/xr/index.pot b/sphinx/templates/tutorials/xr/index.pot index 963af5df24..22dd862e63 100644 --- a/sphinx/templates/tutorials/xr/index.pot +++ b/sphinx/templates/tutorials/xr/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -32,7 +32,7 @@ msgstr "" msgid "Advanced topics" msgstr "" -#: ../../docs/tutorials/xr/index.rst:36 +#: ../../docs/tutorials/xr/index.rst:37 msgid "Godot XR Tools" msgstr "" diff --git a/sphinx/templates/tutorials/xr/introducing_xr_tools.pot b/sphinx/templates/tutorials/xr/introducing_xr_tools.pot index 6b2ba83778..066d4bb21a 100644 --- a/sphinx/templates/tutorials/xr/introducing_xr_tools.pot +++ b/sphinx/templates/tutorials/xr/introducing_xr_tools.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/xr/openxr_body_tracking.pot b/sphinx/templates/tutorials/xr/openxr_body_tracking.pot new file mode 100644 index 0000000000..b9cebfef03 --- /dev/null +++ b/sphinx/templates/tutorials/xr/openxr_body_tracking.pot @@ -0,0 +1,101 @@ +# 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" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\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/xr/openxr_body_tracking.rst:4 +msgid "OpenXR body tracking" +msgstr "" + +#: ../../docs/tutorials/xr/openxr_body_tracking.rst:6 +msgid "Support for full body tracking in OpenXR is only just becoming available for a select few platforms. As support solidifies information will be added to this page." +msgstr "" + +#: ../../docs/tutorials/xr/openxr_body_tracking.rst:10 +msgid "HTC Tracker support" +msgstr "" + +#: ../../docs/tutorials/xr/openxr_body_tracking.rst:12 +msgid "An option that has been available for some time is doing full body tracking using HTC trackers. These are currently supported through SteamVR and on HTC Elite XR headsets. They are exposed through the action map system." +msgstr "" + +#: ../../docs/tutorials/xr/openxr_body_tracking.rst:16 +msgid "These trackers are identified by their roles which are assigned to them when configured. Simply add :ref:`XRController3D ` nodes as children to the :ref:`XROrigin3D ` node and assign one of the following trackers:" +msgstr "" + +#: ../../docs/tutorials/xr/openxr_body_tracking.rst:20 +msgid "HTC trackers" +msgstr "" + +#: ../../docs/tutorials/xr/openxr_body_tracking.rst:24 +msgid "/user/vive_tracker_htcx/role/handheld_object" +msgstr "" + +#: ../../docs/tutorials/xr/openxr_body_tracking.rst:25 +msgid "/user/vive_tracker_htcx/role/left_foot" +msgstr "" + +#: ../../docs/tutorials/xr/openxr_body_tracking.rst:26 +msgid "/user/vive_tracker_htcx/role/right_foot" +msgstr "" + +#: ../../docs/tutorials/xr/openxr_body_tracking.rst:27 +msgid "/user/vive_tracker_htcx/role/left_shoulder" +msgstr "" + +#: ../../docs/tutorials/xr/openxr_body_tracking.rst:28 +msgid "/user/vive_tracker_htcx/role/right_shoulder" +msgstr "" + +#: ../../docs/tutorials/xr/openxr_body_tracking.rst:29 +msgid "/user/vive_tracker_htcx/role/left_elbow" +msgstr "" + +#: ../../docs/tutorials/xr/openxr_body_tracking.rst:30 +msgid "/user/vive_tracker_htcx/role/right_elbow" +msgstr "" + +#: ../../docs/tutorials/xr/openxr_body_tracking.rst:31 +msgid "/user/vive_tracker_htcx/role/left_knee" +msgstr "" + +#: ../../docs/tutorials/xr/openxr_body_tracking.rst:32 +msgid "/user/vive_tracker_htcx/role/right_knee" +msgstr "" + +#: ../../docs/tutorials/xr/openxr_body_tracking.rst:33 +msgid "/user/vive_tracker_htcx/role/waist" +msgstr "" + +#: ../../docs/tutorials/xr/openxr_body_tracking.rst:34 +msgid "/user/vive_tracker_htcx/role/chest" +msgstr "" + +#: ../../docs/tutorials/xr/openxr_body_tracking.rst:35 +msgid "/user/vive_tracker_htcx/role/camera" +msgstr "" + +#: ../../docs/tutorials/xr/openxr_body_tracking.rst:36 +msgid "/user/vive_tracker_htcx/role/keyboard" +msgstr "" + +#: ../../docs/tutorials/xr/openxr_body_tracking.rst:38 +msgid "You can now use these as targets for IK modifiers on a full body avatar." +msgstr "" + +#: ../../docs/:0 +msgid "Translation status" +msgstr "" diff --git a/sphinx/templates/tutorials/xr/openxr_composition_layers.pot b/sphinx/templates/tutorials/xr/openxr_composition_layers.pot index b576b30b0b..9160f917de 100644 --- a/sphinx/templates/tutorials/xr/openxr_composition_layers.pot +++ b/sphinx/templates/tutorials/xr/openxr_composition_layers.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/xr/openxr_hand_tracking.pot b/sphinx/templates/tutorials/xr/openxr_hand_tracking.pot index bb9c344383..636fee752d 100644 --- a/sphinx/templates/tutorials/xr/openxr_hand_tracking.pot +++ b/sphinx/templates/tutorials/xr/openxr_hand_tracking.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,419 +17,405 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" #: ../../docs/tutorials/xr/openxr_hand_tracking.rst:4 -msgid "The OpenXR hand tracking" +msgid "OpenXR hand tracking" msgstr "" -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:6 -msgid "Hand tracking is the process by which the position and orientation of the players hands are tracked, including the orientation of the players fingers. We can identify 3 categories of this:" +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:7 +msgid "Introduction" msgstr "" -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:10 -msgid "One, hand tracking through external sensors such as cameras. This is what Hololens, Quest, UltraLeap and similar devices do. This often results in very accurate tracking of all fingers of the players hands." +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:11 +msgid "This page focuses specifically on the feature set exposed through OpenXR. Parts of the functionality presented here also applies to WebXR and can by provided by other XR interfaces." msgstr "" -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:14 -msgid "Two, hand tracking through VR gloves. This method is still mostly experimental but is likely to gain popularity soon. Gloves often have good finger tracking capabilities but their real selling point is the ability to restrict movement. This allows the sensation of touch. Gloves are often also recognised as controllers and often will have additional controls such as buttons embedded." +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:15 +msgid "When discussing hand tracking it is important to know that there are differences of opinion as to where lines are drawn. The practical result of this is that there are differences in implementation between the different OpenXR runtimes. You may find yourself in a place where chosen hardware doesn't support a piece of the puzzle or does things differently enough from the other platforms that you need to do extra work." msgstr "" #: ../../docs/tutorials/xr/openxr_hand_tracking.rst:20 -msgid "Three, inferred hand tracking. This has been the de facto approach since the early days of VR. As we know the player is holding a controller and we know the position of this controller, we can infer where to render the players hand. Fingers can be positioned based on the controls the player is interacting with. Many modern VR controllers have additional sensors to help determine finger positions on the controller." +msgid "That said, recent improvements to the OpenXR specification are closing these gaps and as platforms implement these improvements we are getting closer to a future where we have either full portability between platforms or at least a clear way to detect the capabilities of a platform." msgstr "" -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:29 -msgid "Traditionally inferred hand tracking has been the responsibility of the game. However the principles behind the action map have somewhat limited the viable options here. Valve is currently the only XR Runtime that has implemented inferred hand tracking as part of the hand tracking extension. There is an expectation that other XR Runtimes will follow this example in the near future." +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:24 +msgid "When we look at the early days of VR the focus of the major platforms was on tracked controller based input. Here we are tracking a physical device that also has buttons for further input. From the tracking data we can infer the location of the player's hands but no further information is known, traditionally it was left up to the game to implement a mechanism to display the player's hand and animate the fingers based on further input from the controller, be it due to buttons being pressed or through proximity sensors. Often fingers are also placed based on context, what the user is holding, and what action a user is performing." msgstr "" -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:34 -msgid "Until then we recommend that if your game depends on inferred hand tracking, to use the hand assets that are part of Godot XR Tools." +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:32 +msgid "More recently optical hand tracking has become a popular solution, where cameras track the user's hands and full tracking data for the hand and finger positions becomes available. Many vendors saw this as completely separate from controller tracking and introduced independent APIs to access hand and finger positions and orientation data. When handling input, it was up to the game developer to implement a gesture detection mechanism." msgstr "" #: ../../docs/tutorials/xr/openxr_hand_tracking.rst:38 -msgid "Tracking through interaction profiles" +msgid "This split also exists in OpenXR, where controller tracking is handled primarily by the action map system, while optical hand tracking is primarily handled by the hand tracking API extension." msgstr "" -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:40 -msgid "Tracking the location and state of controllers are performed through interaction profiles. Bindings can be set within the :ref:`action map `." +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:41 +msgid "However, the world is not that black and white and we're seeing a number of scenarios where we cross the line:" msgstr "" -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:43 -msgid "However it is important to realise that in OpenXR controllers are bound to paths indicating the usage of these controllers. I.e. the controller held in the players left hand is bound to ``/user/hand/left`` while the controller in the players right hand is bound to ``/user/hand/right``. And while not yet supported outside of the HTC tracker extension, it is likely OpenXR will be extended with paths such as ``/user/foot/left`` and ``/user/foot/right`` at some point." +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:44 +msgid "Devices that fit in both categories, such as tracked gloves and controllers such as the Index controller that also perform finger tracking." +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:46 +msgid "XR Runtimes that implement inferred hand tracking from controller data as a means to solve proper finger placement for multiple controllers." +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:48 +msgid "XR applications that wish to seamlessly switch between controller and hand tracking offering the same user experience regardless of approach used." msgstr "" #: ../../docs/tutorials/xr/openxr_hand_tracking.rst:51 -msgid "This paradigm therefore begs the question what happens to a controller that is not being held by a user. There is no answer to this question yet, this is still being debated and the specification may change in the near future. The behavior is thus undefined and can be different for different platforms." -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:55 -msgid "The most common is that the controller will remain bound regardless of whether the player is actually holding the controller." -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:57 -msgid "However there are runtimes, such as the Quest, that can unbind a controller when it is not being held by the user." +msgid "OpenXR is answering this call by introducing further extensions that lets us query the capabilities of the XR runtime/hardware or that add further functionality across this divide. The problem that currently does remain is that there are gaps in adopting these extensions, with some platforms thus not reporting capabilities to their full extent. As such you may need to test for the features available on specific hardware and adjust your approach accordingly." msgstr "" #: ../../docs/tutorials/xr/openxr_hand_tracking.rst:59 -msgid "This may become the norm in the future and the expectation is that the action map system will be enhanced accordingly." +msgid "Demo project" msgstr "" -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:62 -msgid "The hand tracking extension" +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:61 +msgid "The information presented on this page was used to create a demo project that can be found `here `_." msgstr "" -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:64 -msgid "OpenXR has an extension that exposes hand tracking functionality. This extension allows a game to request the hand skeleton with all bone positions for each hand." +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:66 +msgid "The Hand Tracking API" msgstr "" -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:70 -msgid "Copyright (c) 2017-2022, The Khronos Group Inc. SPDX-License-Identifier: CC-BY-4.0" +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:68 +msgid "As mentioned in our introduction, the hand tracking API is primarily used with optical hand tracking and on many platforms only works when the user is not holding a controller. Some platforms support controller inferred hand tracking meaning that you will get hand tracking data even if the user is holding a controller. This includes SteamVR, Meta Quest (currently native only but Meta link support is likely coming), and hopefully soon others as well." msgstr "" -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:72 -msgid "The above image shows the joints that have to be provided by each XR runtime that implements this extension." -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:74 -msgid "Currently Godot exposes this functionality through the :ref:`OpenXRHand ` node. This is a helper node that will retrieve the hand tracking data from OpenXR and apply it to a skeleton in Godot. You select either the left or right hand through the ``hand`` property on this node." +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:75 +msgid "The hand tracking implementation in Godot has been standardized around the Godot Humanoid Skeleton and works both in OpenXR and WebXR. The instructions below will thus work in both environments." msgstr "" #: ../../docs/tutorials/xr/openxr_hand_tracking.rst:78 -msgid "The hand asset itself has to be provided by the developer and is thus separate from the OpenXRHand node. You set the ``hand_skeleton`` on the OpenXRHand node to the skeleton it needs to apply the tracking data to." -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:81 -msgid "If supported by the XR runtime you can also set the ``motion_range`` property to limit how far the hand can close." +msgid "In order to use the hand tracking API with OpenXR you first need to enable it. This can be done in the project settings:" msgstr "" #: ../../docs/tutorials/xr/openxr_hand_tracking.rst:83 -msgid "The skeleton for this asset has to have the following bones:" +msgid "For some standalone XR devices you also need to configure the hand tracking extension in export settings, for instance for Meta Quest:" msgstr "" -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:85 -msgid "OpenXR hand skeleton" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:89 -msgid "Left hand" +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:88 +msgid "Now you need to add 3 components into your scene for each hand:" msgstr "" #: ../../docs/tutorials/xr/openxr_hand_tracking.rst:90 -msgid "Right hand" +msgid "A tracked node to position the hand." msgstr "" #: ../../docs/tutorials/xr/openxr_hand_tracking.rst:91 -msgid "Palm_L" +msgid "A properly skinned hand mesh with skeleton." msgstr "" #: ../../docs/tutorials/xr/openxr_hand_tracking.rst:92 -msgid "Palm_R" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:93 -msgid "Wrist_L" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:94 -msgid "Wrist_R" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:95 -msgid "Thumb_Metacarpal_L" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:96 -msgid "Thumb_Metacarpal_R" +msgid "A skeleton modifier that applies finger tracking data to the skeleton." msgstr "" #: ../../docs/tutorials/xr/openxr_hand_tracking.rst:97 -msgid "Thumb_Proximal_L" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:98 -msgid "Thumb_Proximal_R" +msgid "Hand tracking node" msgstr "" #: ../../docs/tutorials/xr/openxr_hand_tracking.rst:99 -msgid "Thumb_Distal_L" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:100 -msgid "Thumb_Distal_R" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:101 -msgid "Thumb_Tip_L" +msgid "The hand tracking system uses separate hand trackers to track the position of the player's hands within our tracking space." msgstr "" #: ../../docs/tutorials/xr/openxr_hand_tracking.rst:102 -msgid "Thumb_Tip_R" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:103 -msgid "Index_Metacarpal_L" +msgid "This information has been separated out for the following use cases:" msgstr "" #: ../../docs/tutorials/xr/openxr_hand_tracking.rst:104 -msgid "Index_Metacarpal_R" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:105 -msgid "Index_Proximal_L" +msgid "Tracking happens in the local space of the :ref:`XROrigin3D ` node. This node must be a child of the `XROrigin3D` node in order to be correctly placed." msgstr "" #: ../../docs/tutorials/xr/openxr_hand_tracking.rst:106 -msgid "Index_Proximal_R" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:107 -msgid "Index_Intermediate_L" +msgid "This node can be used as an IK target when an upper body mesh with arms is used instead of separate hand meshes." msgstr "" #: ../../docs/tutorials/xr/openxr_hand_tracking.rst:108 -msgid "Index_Intermediate_R" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:109 -msgid "Index_Distal_L" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:110 -msgid "Index_Distal_R" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:111 -msgid "Index_Tip_L" +msgid "Actual placement of the hands may be loosely bound to the tracking in scenarios such as avatar creation UIs, fake mirrors, or similar situations resulting in the hand mesh and finger tracking being localized elsewhere." msgstr "" #: ../../docs/tutorials/xr/openxr_hand_tracking.rst:112 -msgid "Index_Tip_R" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:113 -msgid "Middle_Metacarpal_L" +msgid "We'll concentrate on the first use case only." msgstr "" #: ../../docs/tutorials/xr/openxr_hand_tracking.rst:114 -msgid "Middle_Metacarpal_R" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:115 -msgid "Middle_Proximal_L" +msgid "For this you need to add an :ref:`XRNode3D ` node to your ``XROrigin3D`` node." msgstr "" #: ../../docs/tutorials/xr/openxr_hand_tracking.rst:116 -msgid "Middle_Proximal_R" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:117 -msgid "Middle_Intermediate_L" +msgid "On this node the ``tracker`` should be set to ``/user/hand_tracker/left`` or ``/user/hand_tracker/right`` for the left or right hand respectively." msgstr "" #: ../../docs/tutorials/xr/openxr_hand_tracking.rst:118 -msgid "Middle_Intermediate_R" +msgid "The ``pose`` should remain set to ``default``, no other option will work here." msgstr "" #: ../../docs/tutorials/xr/openxr_hand_tracking.rst:119 -msgid "Middle_Distal_L" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:120 -msgid "Middle_Distal_R" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:121 -msgid "Middle_Tip_L" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:122 -msgid "Middle_Tip_R" +msgid "The checkbox ``Show When Tracked`` will automatically hide this node if no tracking data is available, or make this node visible if tracking data is available." msgstr "" #: ../../docs/tutorials/xr/openxr_hand_tracking.rst:123 -msgid "Ring_Metacarpal_L" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:124 -msgid "Ring_Metacarpal_R" +msgid "Rigged hand mesh" msgstr "" #: ../../docs/tutorials/xr/openxr_hand_tracking.rst:125 -msgid "Ring_Proximal_L" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:126 -msgid "Ring_Proximal_R" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:127 -msgid "Ring_Intermediate_L" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:128 -msgid "Ring_Intermediate_R" +msgid "In order to display our hand we need a hand mesh that is properly rigged and skinned. For this Godot uses the hand bone structure as defined for the :ref:`Godot Humanoid ` but optionally supporting an extra tip bone for each finger." msgstr "" #: ../../docs/tutorials/xr/openxr_hand_tracking.rst:129 -msgid "Ring_Distal_L" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:130 -msgid "Ring_Distal_R" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:131 -msgid "Ring_Tip_L" +msgid "The `OpenXR hand tracking demo `_ contains example GLTF files of properly rigged hands." msgstr "" #: ../../docs/tutorials/xr/openxr_hand_tracking.rst:132 -msgid "Ring_Tip_R" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:133 -msgid "Little_Metacarpal_L" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:134 -msgid "Little_Metacarpal_R" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:135 -msgid "Little_Proximal_L" +msgid "We will be using those here and add them as a child to our ``XRNode3D`` node. We also need to enable editable children to gain access to our :ref:`Skeleton3D ` node." msgstr "" #: ../../docs/tutorials/xr/openxr_hand_tracking.rst:136 -msgid "Little_Proximal_R" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:137 -msgid "Little_Intermediate_L" +msgid "The hand skeleton modifier" msgstr "" #: ../../docs/tutorials/xr/openxr_hand_tracking.rst:138 -msgid "Little_Intermediate_R" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:139 -msgid "Little_Distal_L" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:140 -msgid "Little_Distal_R" +msgid "Finally we need to add a :ref:`XRHandModifier3D ` node as a child to our ``Skeleton3D`` node. This node will obtain the finger tracking data from OpenXR and apply it the hand model." msgstr "" #: ../../docs/tutorials/xr/openxr_hand_tracking.rst:141 -msgid "Little_Tip_L" +msgid "You need to set the ``Hand Tracker`` property to either ``/user/hand_tracker/left`` or ``/user/hand_tracker/right`` depending on whether we are apply the tracking data of respectively the left or right hand." msgstr "" -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:142 -msgid "Little_Tip_R" +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:144 +msgid "You can also set the ``Bone Update`` mode on this node." msgstr "" #: ../../docs/tutorials/xr/openxr_hand_tracking.rst:146 -msgid "The skeleton data returned from different XR runtimes are often not compatible which poses a problem for cross platform development." +msgid "``Full`` applies the hand tracking data fully. This does mean that the skeleton positioning will potentially reflect the size of the actual hand of the user. This can lead to scrunching effect if meshes aren't weighted properly to account for this. Make sure you test your game with players of all sizes when optical hand tracking is used!" msgstr "" -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:148 -msgid "For instance both Microsoft and Meta runtimes base the skeleton on the actual hands of the player. These skeletons will thus conform to the size of the players hand." -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:151 -msgid "Contrast that to Valve where a fixed skeleton is used if inferred hand tracking is applied." +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:150 +msgid "``Rotation Only`` will only apply rotation to the bones of the hands and keep the bone length as is. In this mode the size of the hand mesh doesn't change." msgstr "" #: ../../docs/tutorials/xr/openxr_hand_tracking.rst:153 -msgid "We are still gathering experience on how best to deal with these differences in the platforms." +msgid "With this added, when we run the project we should see the hand correctly displayed if hand tracking is supported." msgstr "" -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:155 -msgid "When exporting to Meta Quest you need to enable the following setting:" +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:156 +msgid "The hand tracking data source" msgstr "" -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:160 -msgid "Body tracking" +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:158 +msgid "This is an OpenXR extension that provides information about the source of the hand tracking data. At this moment only a few runtimes implement it but if it is available, Godot will activate it." msgstr "" -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:162 -msgid "At the time of writing, OpenXR does not support body tracking as part of the core spec. We are expecting this to change in the near future as more and more body tracking solutions are hitting the market." +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:161 +msgid "If this extension is not supported and thus unknown is returned, you can make the following assumptions:" msgstr "" -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:165 -msgid "For now the only option available here is through HTC trackers. There is an extension that becomes available if HTC trackers are supported by the XR runtime. These are fully exposed through the action map system." +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:163 +msgid "If you are using SteamVR (including Steam link), only controller based hand tracking is supported." msgstr "" -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:169 -msgid "Godot has full support for these and you can setup the trackers in the action map. Each tracker is assigned a usage within the SteamVR interface." +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:164 +msgid "For any other runtime, if hand tracking is supported, only optical hand tracking is supported (Note, Meta Link currently fall into this category)." msgstr "" -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:172 -msgid "These are exposed through the following trackers:" +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:166 +msgid "In all other cases, no hand tracking is supported at all." msgstr "" -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:174 -msgid "HTC trackers" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:178 -msgid "/user/vive_tracker_htcx/role/handheld_object" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:179 -msgid "/user/vive_tracker_htcx/role/left_foot" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:180 -msgid "/user/vive_tracker_htcx/role/right_foot" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:181 -msgid "/user/vive_tracker_htcx/role/left_shoulder" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:182 -msgid "/user/vive_tracker_htcx/role/right_shoulder" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:183 -msgid "/user/vive_tracker_htcx/role/left_elbow" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:184 -msgid "/user/vive_tracker_htcx/role/right_elbow" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:185 -msgid "/user/vive_tracker_htcx/role/left_knee" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:186 -msgid "/user/vive_tracker_htcx/role/right_knee" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:187 -msgid "/user/vive_tracker_htcx/role/waist" +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:168 +msgid "You can access this information through code:" msgstr "" #: ../../docs/tutorials/xr/openxr_hand_tracking.rst:188 -msgid "/user/vive_tracker_htcx/role/chest" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:189 -msgid "/user/vive_tracker_htcx/role/camera" +msgid "This example simply logs the state for the left hand." msgstr "" #: ../../docs/tutorials/xr/openxr_hand_tracking.rst:190 -msgid "/user/vive_tracker_htcx/role/keyboard" +msgid "If in this example no hand tracker is returned by ``get_tracker``, this means the hand tracking API is not supported on the XR runtime at all." msgstr "" -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:194 -msgid "Some final words" +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:193 +msgid "If there is a tracker but `has_tracking_data` is false, the user's hand is currently not being tracked. This is likely caused by one of the following reasons:" msgstr "" #: ../../docs/tutorials/xr/openxr_hand_tracking.rst:196 -msgid "Hand tracking is an area that is still under active development and we are expecting improvements in the near future." +msgid "The player's hand is not visible by any of the tracking cameras on the headset" +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:197 +msgid "The player is currently using a controller and the headset only supports optical hand tracking" msgstr "" #: ../../docs/tutorials/xr/openxr_hand_tracking.rst:198 -msgid "The underlying principle that we're hoping will eventuate is that the action map will be used to handle interactions, while the hand tracking extension will primarily be a means for visualising the players hand. The hope here is that improvements to the OpenXR specification will ensure better portability between platforms." +msgid "The controller is turned off and only controller hand tracking is supported." +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:201 +msgid "Handling user input" +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:203 +msgid "Reacting to actions performed by the user is handled through :ref:`doc_xr_action_map` if controllers are used. In the action map you can map various inputs like the trigger or joystick on the controller to an action. This can then drive logic in your game." +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:208 +msgid "When hand tracking is used we originally had no such inputs, inputs are driven by gestures made by the user such as making a fist to grab or pinching the thumb and index finger together to select something. It was up to the game developer to implement this." +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:213 +msgid "Recognizing that there is an increasing demand for applications that can switch seamlessly between controller and hand tracking and the need some form of basic input capability, a number of extensions were added to the specification that provide some basic gesture recognition and can be used with the action map." +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:219 +msgid "The hand interaction profile" +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:221 +msgid "The `hand interaction profile extension `_ is a new core extension which supports pinch, grasp, and poke gestures and related poses. There is still limited support for this extension but it should become available in more runtimes in the near future." +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:228 +msgid "The pinch gesture is triggered by pinching your thumb and index finger together. This is often used as a select gesture for menu systems, similar to using your controller to point at an object and press the trigger to select and is thus often mapped as such." +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:232 +msgid "The ``pinch pose`` is a pose positioned in the middle between the tip of the thumb and the tip of the index finger and oriented such that a ray cast can be used to identify a target." +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:234 +msgid "The ``pinch`` float input is a value between 0.0 (the tip of the thumb and index finger are apart) and 1.0 (the tip of the thumb and index finger are touching)." +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:236 +msgid "The ``pinch ready`` input is true when the tips of the fingers are (close to) touching." +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:238 +msgid "The grasp gesture is triggered by making a fist and is often used to pick items up, similar to engaging the squeeze input on controllers." +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:241 +msgid "The ``grasp`` float input is a value between 0.0 (open hand) and 1.0 (fist)." +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:242 +msgid "The ``grasp ready`` input is true when the user made a fist." +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:244 +msgid "The poke gesture is triggered by extending your index finger, this one is a bit of an exception as the pose at the tip of your index finger is often used to poke an interactable object. The ``poke pose`` is a pose positioned on the tip of the index finger." +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:248 +msgid "Finally the ``aim activate (ready)`` input is defined as an input that is 1.0/true when the index finger is extended and pointing at a target that can be activated. How runtimes interpret this, is not clear." +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:252 +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:279 +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:321 +msgid "With this setup the normal ``left_hand`` and ``right_hand`` trackers are used and you can thus seamlessly switch between controller and hand tracking input." +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:257 +msgid "You need to enable the hand interaction profile extension in the OpenXR project settings." +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:260 +msgid "Microsoft hand interaction profile" +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:262 +msgid "The `Microsoft hand interaction profile extension `_ was introduced by Microsoft and loosely mimics the simple controller profile. Meta has also added support for this extension but only on their native OpenXR client, it is currently not available over Meta Link." +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:269 +msgid "Pinch support is exposed through the ``select`` input, the value of which is 0.0 when the tip of the thumb and index finger are apart and 1.0 when they are together." +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:273 +msgid "Note that in this profile the ``aim pose`` is redefined as a pose between thumb and index finger, oriented so a ray cast can be used to identify a target." +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:276 +msgid "Grasp support is exposed through the ``squeeze`` input, the value of which is 0.0 when the hand is open, and 1.0 when a fist is made." +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:283 +msgid "HTC hand interaction profile" +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:285 +msgid "The `HTC hand interaction profile extension `_ was introduced by HTC and is defined similarly to the Microsoft extension. It is only supported by HTC for the Focus 3 and Elite XR headsets." +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:291 +msgid "See the Microsoft hand interaction profile for the gesture support." +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:293 +msgid "The defining difference is that this extension introduces two new trackers, ``/user/hand_htc/left`` and ``/user/hand_htc/right``. This means that extra logic needs to be implemented to switch between the default trackers and the HTC specific trackers when the user puts down, or picks up, their controller." +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:299 +msgid "Simple controller profile" +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:301 +msgid "The simple controller profile is a standard core profile defined as a fallback profile when a controller is used for which no profile exists." +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:304 +msgid "There are a number of OpenXR runtimes that will mimic controllers through the simple controller profile when hand tracking is used." +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:307 +msgid "Unfortunately there is no sound way to determine whether an unknown controller is used or whether hand tracking is emulating a controller through this profile." +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:312 +msgid "XR runtimes are free to define how the simple controller profile operates, so there is also no certainty to how this profile is mapped to gestures." +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:315 +msgid "The most common mapping seems to be that ``select click`` is true when the tip of the thumb and index fingers are touching while the user's palm is facing away from the user. ``menu click`` will be true when tip of the thumb and index fingers are touching while the user's palm is facing towards the user." +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:326 +msgid "As some of these interaction profiles have overlap it is important to know that you can add each profile to your action map and the XR runtime will choose the best fitting profile." +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:330 +msgid "For instance, a Meta Quest supports both the Microsoft hand interaction profile and simple controller profile. If both are specified the Microsoft hand interaction profile will take precedence and will be used." +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:335 +msgid "The expectation is that once Meta supports the core hand interaction profile extension, that profile will take precedence over both Microsoft and simple controller profiles." +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:340 +msgid "Gesture based input" +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:342 +msgid "If the platform doesn't support any interaction profiles when hand tracking is used, or if you're building an application where you need more complicated gesture support you're going to need to build your own gesture recognition system." +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:346 +msgid "You can obtain the full hand tracking data through the :ref:`XRHandTracker ` resource for each hand. You can obtain the hand tracker by calling ``XRServer.get_tracker`` and using either ``/user/hand_tracker/left`` or ``/user/hand_tracker/left`` as the tracker. This resource provides access to all the joint information for the given hand." +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:351 +msgid "Detailing out a full gesture recognition algorithm goes beyond the scope of this manual however there are a number of community projects you can look at:" +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:354 +msgid "`Julian Todd's Auto hands library `_" +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:355 +msgid "`Malcolm Nixons Hand Pose Detector `_" msgstr "" #: ../../docs/:0 diff --git a/sphinx/templates/tutorials/xr/openxr_settings.pot b/sphinx/templates/tutorials/xr/openxr_settings.pot index 33232fcd51..176e9d5c60 100644 --- a/sphinx/templates/tutorials/xr/openxr_settings.pot +++ b/sphinx/templates/tutorials/xr/openxr_settings.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/xr/setting_up_xr.pot b/sphinx/templates/tutorials/xr/setting_up_xr.pot index 411032760c..00ec365d9f 100644 --- a/sphinx/templates/tutorials/xr/setting_up_xr.pot +++ b/sphinx/templates/tutorials/xr/setting_up_xr.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/xr/xr_action_map.pot b/sphinx/templates/tutorials/xr/xr_action_map.pot index 9981a24cba..7cf25d5d40 100644 --- a/sphinx/templates/tutorials/xr/xr_action_map.pot +++ b/sphinx/templates/tutorials/xr/xr_action_map.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/xr/xr_next_steps.pot b/sphinx/templates/tutorials/xr/xr_next_steps.pot index 46214ddeac..2f5a721cf0 100644 --- a/sphinx/templates/tutorials/xr/xr_next_steps.pot +++ b/sphinx/templates/tutorials/xr/xr_next_steps.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/xr/xr_room_scale.pot b/sphinx/templates/tutorials/xr/xr_room_scale.pot index 4940a77333..9d6be96b3a 100644 --- a/sphinx/templates/tutorials/xr/xr_room_scale.pot +++ b/sphinx/templates/tutorials/xr/xr_room_scale.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/templates_list.txt b/templates_list.txt index cbfe2f3dd7..35e9585aac 100644 --- a/templates_list.txt +++ b/templates_list.txt @@ -78,6 +78,7 @@ tutorials/2d/2d_sprite_animation.pot tutorials/2d/particle_systems_2d.pot tutorials/2d/2d_antialiasing.pot tutorials/2d/custom_drawing_in_2d.pot +tutorials/2d/2d_parallax.pot tutorials/2d/2d_movement.pot tutorials/2d/using_tilesets.pot tutorials/2d/using_tilemaps.pot @@ -319,6 +320,7 @@ tutorials/scripting/c_sharp/diagnostics/GD0402.pot tutorials/scripting/gdextension/index.pot tutorials/scripting/gdextension/what_is_gdextension.pot tutorials/scripting/gdextension/gdextension_cpp_example.pot +tutorials/scripting/gdextension/gdextension_file.pot tutorials/scripting/how_to_read_the_godot_api.pot tutorials/scripting/debug/index.pot tutorials/scripting/debug/overview_of_debugging_tools.pot @@ -386,10 +388,12 @@ tutorials/xr/xr_action_map.pot tutorials/xr/xr_room_scale.pot tutorials/xr/openxr_composition_layers.pot tutorials/xr/openxr_hand_tracking.pot +tutorials/xr/openxr_body_tracking.pot tutorials/xr/introducing_xr_tools.pot tutorials/xr/basic_xr_locomotion.pot -contributing/ways_to_contribute.pot +contributing/how_to_contribute.pot contributing/workflow/index.pot +contributing/workflow/first_steps.pot contributing/workflow/bisecting_regressions.pot contributing/workflow/bug_triage_guidelines.pot contributing/workflow/pr_workflow.pot diff --git a/update.sh b/update.sh index a61c0b9039..8ea968c7c1 100755 --- a/update.sh +++ b/update.sh @@ -93,6 +93,9 @@ if [ "$update_sphinx_pot" = true ]; then # We don't translate the class reference this way. rm -rf $SPHINX_TEMPLATES_DIR/classes SPHINX_TEMPLATES=$(find $SPHINX_TEMPLATES_DIR -type f -name "*.pot") + echo $SPHINX_TEMPLATES + # Reduce diff spam when only the date changed. + sed -i $SPHINX_TEMPLATES -e 's/"POT-Creation-Date: .*\\n"/"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\\n"/' fi # Generate/Update Weblate monolithic template from Sphinx template @@ -153,4 +156,5 @@ if [ "$update_sphinx_po" = true ]; then for lang in $SPHINX_BUILD_LANGS; do merge_sphinx_po $lang & done + echo "All Sphinx PO files have been merged." fi diff --git a/weblate/docs.pot b/weblate/docs.pot index 25d54ba782..71a56a505e 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: 2024-06-20 18:01+0200\n" +"POT-Creation-Date: 2024-07-25 11:06+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -189,6 +189,7 @@ msgstr "" #: ../../docs/tutorials/2d/2d_sprite_animation.rst:7 #: ../../docs/tutorials/2d/2d_antialiasing.rst:16 #: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:7 +#: ../../docs/tutorials/2d/2d_parallax.rst:7 #: ../../docs/tutorials/2d/2d_movement.rst:7 #: ../../docs/tutorials/2d/using_tilesets.rst:7 #: ../../docs/tutorials/2d/using_tilemaps.rst:13 @@ -232,6 +233,7 @@ msgstr "" #: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:7 #: ../../docs/tutorials/scripting/gdextension/what_is_gdextension.rst:7 #: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:7 +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:7 #: ../../docs/tutorials/scripting/debug/custom_performance_monitors.rst:7 #: ../../docs/tutorials/scripting/pausing_games.rst:7 #: ../../docs/tutorials/scripting/filesystem.rst:7 @@ -247,6 +249,7 @@ msgstr "" #: ../../docs/tutorials/shaders/advanced_postprocessing.rst:7 #: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:7 #: ../../docs/tutorials/xr/openxr_composition_layers.rst:7 +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:7 #: ../../docs/contributing/development/best_practices_for_engine_contributors.rst:7 #: ../../docs/contributing/development/core_and_modules/2d_coordinate_systems.rst:7 #: ../../docs/contributing/development/core_and_modules/custom_godot_servers.rst:7 @@ -3091,7 +3094,7 @@ msgstr "" #: ../../docs/about/faq.rst:14 msgid "" "Godot is `Free and open source Software `_ available under the `OSI-approved `_ available under the `OSI-approved `_ MIT license. This means it is free as in " "\"free speech\" as well as in \"free beer.\"" msgstr "" @@ -3152,7 +3155,7 @@ msgstr "" #: ../../docs/about/faq.rst:44 ../../docs/about/faq.rst:52 #: ../../docs/about/faq.rst:228 -#: ../../docs/tutorials/rendering/jitter_stutter.rst:84 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:78 #: ../../docs/tutorials/ui/gui_using_fonts.rst:764 #: ../../docs/contributing/development/debugging/vulkan/vulkan_validation_layers.rst:16 #: ../../docs/contributing/documentation/building_the_manual.rst:29 @@ -3177,7 +3180,7 @@ msgstr "" #: ../../docs/tutorials/editor/default_key_mapping.rst:441 #: ../../docs/tutorials/editor/default_key_mapping.rst:458 #: ../../docs/tutorials/editor/default_key_mapping.rst:497 -#: ../../docs/tutorials/rendering/jitter_stutter.rst:133 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:127 #: ../../docs/contributing/development/debugging/vulkan/vulkan_validation_layers.rst:30 msgid "macOS" msgstr "" @@ -3202,14 +3205,14 @@ msgstr "" #: ../../docs/about/faq.rst:55 #: ../../docs/tutorials/export/one-click_deploy.rst:105 #: ../../docs/tutorials/platform/android/index.rst:4 -#: ../../docs/tutorials/rendering/jitter_stutter.rst:140 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:134 #: ../../docs/tutorials/ui/gui_using_fonts.rst:764 #: ../../docs/contributing/development/debugging/vulkan/vulkan_validation_layers.rst:135 msgid "Android" msgstr "" #: ../../docs/about/faq.rst:56 -#: ../../docs/tutorials/rendering/jitter_stutter.rst:147 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:141 #: ../../docs/contributing/development/debugging/vulkan/vulkan_validation_layers.rst:141 msgid "iOS" msgstr "" @@ -3544,7 +3547,7 @@ msgstr "" #: ../../docs/about/faq.rst:246 #: ../../docs/tutorials/inputs/controllers_gamepads_joysticks.rst:347 -#: ../../docs/tutorials/rendering/jitter_stutter.rst:114 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:108 #: ../../docs/tutorials/ui/gui_using_fonts.rst:764 msgid "Linux" msgstr "" @@ -6123,9 +6126,9 @@ msgid "" msgstr "" #: ../../docs/getting_started/introduction/key_concepts_overview.rst:73 -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2202 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2248 #: ../../docs/tutorials/scripting/gdscript/gdscript_styleguide.rst:679 -#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:590 +#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:573 #: ../../docs/tutorials/scripting/how_to_read_the_godot_api.rst:103 #: ../../docs/contributing/development/core_and_modules/object_class.rst:223 msgid "Signals" @@ -6162,7 +6165,7 @@ msgstr "" #: ../../docs/getting_started/step_by_step/instancing.rst:212 #: ../../docs/getting_started/step_by_step/scripting_languages.rst:156 #: ../../docs/getting_started/step_by_step/scripting_player_input.rst:198 -#: ../../docs/getting_started/step_by_step/signals.rst:541 +#: ../../docs/getting_started/step_by_step/signals.rst:547 #: ../../docs/tutorials/2d/2d_sprite_animation.rst:279 #: ../../docs/tutorials/2d/2d_movement.rst:290 #: ../../docs/tutorials/3d/global_illumination/introduction_to_global_illumination.rst:327 @@ -6396,17 +6399,17 @@ msgstr "" #: ../../docs/getting_started/introduction/first_look_at_the_editor.rst:150 msgid "" -"Clicking while pressing the :kbd:`Ctrl` key on a class name, function name, " -"or built-in variable in the script editor." +":kbd:`Ctrl + Click` (:kbd:`Cmd + Click` on macOS) on a class name, function " +"name, or built-in variable in the script editor." msgstr "" -#: ../../docs/getting_started/introduction/first_look_at_the_editor.rst:156 +#: ../../docs/getting_started/introduction/first_look_at_the_editor.rst:155 msgid "" "When you do any of these, a window pops up. Type to search for any item. You " "can also use it to browse available objects and methods." msgstr "" -#: ../../docs/getting_started/introduction/first_look_at_the_editor.rst:161 +#: ../../docs/getting_started/introduction/first_look_at_the_editor.rst:160 msgid "" "Double-click on an item to open the corresponding page in the script main " "screen." @@ -6488,8 +6491,9 @@ msgstr "" #: ../../docs/getting_started/introduction/learning_new_features.rst:59 msgid "" -"You can Ctrl-click (Cmd-click on MacOS) any underlined text like the name of " -"a class, property, method, signal, or constant to jump to it." +"You can hold :kbd:`Ctrl` (macOS :kbd:`Cmd`) and then mouseover text like the " +"name of a class, property, method, signal, or constant to underline it, " +"then :kbd:`Ctrl + Click` (macOS :kbd:`Cmd + Click`) it to jump to it." msgstr "" #: ../../docs/getting_started/introduction/learning_new_features.rst:63 @@ -6586,16 +6590,18 @@ msgid "" "Also, please don't take a picture with your phone, the low quality and " "screen reflections can make it hard to understand the image. Your operating " "system should have a built-in tool to take screenshots with the :kbd:`PrtSc` " -"(Print Screen) key." +"(Print Screen) key (macOS: use :kbd:`Cmd + Shift + 3` for a full screen " +"shot, `more information here `_)." msgstr "" -#: ../../docs/getting_started/introduction/learning_new_features.rst:126 +#: ../../docs/getting_started/introduction/learning_new_features.rst:127 msgid "" "Alternatively, you can use a program like `ShareX `_ " -"on Windows or `FlameShot `_ on Linux." +"on Windows, or `FlameShot `_ on Linux." msgstr "" -#: ../../docs/getting_started/introduction/learning_new_features.rst:129 +#: ../../docs/getting_started/introduction/learning_new_features.rst:130 msgid "" "Sharing a video of your running game can also be really **useful to " "troubleshoot your game**. You can use programs like `OBS Studio `_ or a " "cloud provider to upload and share your videos for free." msgstr "" -#: ../../docs/getting_started/introduction/learning_new_features.rst:137 +#: ../../docs/getting_started/introduction/learning_new_features.rst:138 msgid "" "If you're not using the stable version of Godot, please mention the version " "you're using. The answer can be different as available features and the " "interface evolve rapidly." msgstr "" -#: ../../docs/getting_started/introduction/learning_new_features.rst:141 +#: ../../docs/getting_started/introduction/learning_new_features.rst:142 msgid "" "Following these guidelines will maximize your chances of getting the answer " "you're looking for. They will save time both for you and the persons helping " "you." msgstr "" -#: ../../docs/getting_started/introduction/learning_new_features.rst:145 +#: ../../docs/getting_started/introduction/learning_new_features.rst:146 msgid "Community tutorials" msgstr "" -#: ../../docs/getting_started/introduction/learning_new_features.rst:147 +#: ../../docs/getting_started/introduction/learning_new_features.rst:148 msgid "" "This manual aims to provide a comprehensive reference of Godot's features. " "Aside from the 2D and 3D getting started series, it does not contain " @@ -7989,7 +7995,7 @@ msgid "" "and the following line of code:" msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:109 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:110 msgid "" "Every GDScript file is implicitly a class. The ``extends`` keyword defines " "the class this script inherits or extends. In this case, it's ``Sprite2D``, " @@ -7998,20 +8004,20 @@ msgid "" "``CanvasItem``, and ``Node``." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:115 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:116 msgid "" "In GDScript, if you omit the line with the ``extends`` keyword, your class " "will implicitly extend :ref:`RefCounted `, which Godot " "uses to manage your application's memory." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:119 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:120 msgid "" "Inherited properties include the ones you can see in the Inspector dock, " "like our node's ``texture``." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:124 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:125 msgid "" "By default, the Inspector displays a node's properties in \"Title Case\", " "with capitalized words separated by a space. In GDScript code, these " @@ -8019,27 +8025,27 @@ msgid "" "an underscore." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:128 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:129 msgid "" "You can hover over any property's name in the Inspector to see a description " "and its identifier in code." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:132 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:133 msgid "Hello, world!" msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:134 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:135 msgid "" "Our script currently doesn't do anything. Let's make it print the text " "\"Hello, world!\" to the Output bottom panel to get started." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:137 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:138 msgid "Add the following code to your script:" msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:153 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:154 msgid "" "Let's break it down. The ``func`` keyword defines a new function named " "``_init``. This is a special name for our class's constructor. The engine " @@ -8047,7 +8053,7 @@ msgid "" "define this function." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:158 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:159 msgid "" "GDScript is an indent-based language. The tab at the start of the line that " "says ``print()`` is necessary for the code to work. If you omit it or don't " @@ -8055,24 +8061,24 @@ msgid "" "following error message: \"Indented block expected\"." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:163 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:164 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!\"." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:169 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:170 msgid "" "Delete the ``_init()`` function, so you're only left with the line ``extends " "Sprite2D``." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:173 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:174 msgid "Turning around" msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:175 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:176 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 " @@ -8080,7 +8086,7 @@ msgid "" "``extends Sprite2D`` line." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:190 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:191 msgid "" "Member variables sit near the top of the script, after any \"extends\" " "lines, but before functions. Every node instance with this script attached " @@ -8088,14 +8094,14 @@ msgid "" "properties." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:195 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:196 msgid "" "Angles in Godot work in radians by default, but you have built-in functions " "and properties available if you prefer to calculate angles in degrees " "instead." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:199 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:200 msgid "" "To move our icon, we need to update its position and rotation every frame in " "the game loop. We can use the ``_process()`` virtual function of the " @@ -8104,7 +8110,7 @@ msgid "" "argument named ``delta``, the time elapsed since the last frame." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:207 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:208 msgid "" "Games work by rendering many images per second, each called a frame, and " "they do so in a loop. We measure the rate at which a game produces images in " @@ -8113,7 +8119,7 @@ msgid "" "reality games." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:213 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:214 msgid "" "The engine and game developers do their best to update the game world and " "render images at a constant time interval, but there are always small " @@ -8121,11 +8127,11 @@ msgid "" "this delta time value, making our motion independent of our framerate." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:218 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:219 msgid "At the bottom of the script, define the function:" msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:233 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:234 msgid "" "The ``func`` keyword defines a new function. After it, we have to write the " "function's name and arguments it takes in parentheses. A colon ends the " @@ -8133,7 +8139,7 @@ msgid "" "or instructions." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:238 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:239 msgid "" "Notice how ``_process()``, like ``_init()``, starts with a leading " "underscore. By convention, Godot's virtual functions, that is to say, built-" @@ -8141,7 +8147,7 @@ msgid "" "underscore." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:243 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:244 msgid "" "The line inside the function, ``rotation += angular_speed * delta``, " "increments our sprite's rotation every frame. Here, ``rotation`` is a " @@ -8149,36 +8155,36 @@ msgid "" "controls the rotation of our node and works with radians." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:248 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:249 msgid "" "In the code editor, you can Ctrl-click (Cmd-click on MacOS) on any built-in " "property or function like ``position``, ``rotation``, or ``_process`` to " "open the corresponding documentation in a new tab." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:252 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:253 msgid "Run the scene to see the Godot icon turn in-place." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:256 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:257 msgid "" "In C#, notice how the ``delta`` argument taken by ``_Process()`` is a " "``double``. We therefore need to convert it to ``float`` when we apply it to " "the rotation." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:261 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:262 msgid "Moving forward" msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:263 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:264 msgid "" "Let's now make the node move. Add the following two lines inside of the " "``_process()`` function, ensuring the new lines are indented the same way as " "the ``rotation += angular_speed * delta`` line before them." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:280 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:281 msgid "" "As we already saw, the ``var`` keyword defines a new variable. If you put it " "at the top of the script, it defines a property of the class. Inside a " @@ -8186,7 +8192,7 @@ msgid "" "scope." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:284 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:285 msgid "" "We define a local variable named ``velocity``, a 2D vector representing both " "a direction and a speed. To make the node move forward, we start from the " @@ -8197,37 +8203,37 @@ msgid "" "move the node forward." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:291 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:292 msgid "" "We add ``velocity * delta`` to the node's ``position`` to move it. The " "position itself is of type :ref:`Vector2 `, a built-in type " "in Godot representing a 2D vector." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:295 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:296 msgid "Run the scene to see the Godot head run in circles." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:299 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:300 msgid "" "Moving a node like that does not take into account colliding with walls or " "the floor. In :ref:`doc_your_first_2d_game`, you will learn another approach " "to moving objects while detecting collisions." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:303 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:304 msgid "" "Our node currently moves by itself. In the next part, :ref:" "`doc_scripting_player_input`, we'll use player input to control it." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:307 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:308 #: ../../docs/getting_started/step_by_step/scripting_player_input.rst:131 -#: ../../docs/getting_started/step_by_step/signals.rst:361 +#: ../../docs/getting_started/step_by_step/signals.rst:367 msgid "Complete script" msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:309 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:310 #: ../../docs/getting_started/step_by_step/scripting_player_input.rst:133 msgid "Here is the complete ``sprite_2d.gd`` file for reference." msgstr "" @@ -8438,24 +8444,33 @@ msgstr "" #: ../../docs/getting_started/step_by_step/signals.rst:28 msgid "" -"As mentioned in the introduction, signals are Godot's version of the " -"observer pattern. You can learn more about it here: https://" -"gameprogrammingpatterns.com/observer.html" +"Like methods (:ref:`class_callable`), signals are a first-class type since " +"Godot 4.0. This means you can pass them around as method arguments directly " +"without having to pass them as strings, which allows for better " +"autocompletion and is less error-prone. See the :ref:`class_signal` class " +"reference for a list of what you can do with the Signal type directly." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:32 +#: ../../docs/getting_started/step_by_step/signals.rst:36 +msgid "" +"As mentioned in the introduction, signals are Godot's version of the " +"observer pattern. You can learn more about it in `Game Programming Patterns " +"`__." +msgstr "" + +#: ../../docs/getting_started/step_by_step/signals.rst:40 msgid "" "We will now use a signal to make our Godot icon from the previous lesson (:" "ref:`doc_scripting_player_input`) move and stop by pressing a button." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:35 +#: ../../docs/getting_started/step_by_step/signals.rst:43 #: ../../docs/getting_started/first_2d_game/02.player_scene.rst:42 #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:9 msgid "For this project, we will be following the Godot naming conventions." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:37 +#: ../../docs/getting_started/step_by_step/signals.rst:45 #: ../../docs/getting_started/first_2d_game/02.player_scene.rst:44 #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:11 msgid "" @@ -8463,7 +8478,7 @@ msgid "" "snake_case, and constants use ALL_CAPS (See :ref:`doc_gdscript_styleguide`)." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:41 +#: ../../docs/getting_started/step_by_step/signals.rst:49 #: ../../docs/getting_started/first_2d_game/02.player_scene.rst:48 #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:15 msgid "" @@ -8473,83 +8488,83 @@ msgid "" "when connecting signals." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:49 +#: ../../docs/getting_started/step_by_step/signals.rst:55 #: ../../docs/tutorials/animation/introduction.rst:108 #: ../../docs/tutorials/physics/kinematic_character_2d.rst:77 msgid "Scene setup" msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:51 +#: ../../docs/getting_started/step_by_step/signals.rst:57 msgid "" "To add a button to our game, we will create a new scene which will include " "both a :ref:`Button ` and the ``sprite_2d.tscn`` scene we " "created in the :ref:`doc_scripting_first_script` lesson." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:55 +#: ../../docs/getting_started/step_by_step/signals.rst:61 msgid "Create a new scene by going to the menu Scene -> New Scene." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:59 +#: ../../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." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:64 +#: ../../docs/getting_started/step_by_step/signals.rst:70 msgid "" "In the FileSystem dock, click and drag the ``sprite_2d.tscn`` file you saved " "previously onto the Node2D to instantiate it." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:69 +#: ../../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." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:74 +#: ../../docs/getting_started/step_by_step/signals.rst:80 msgid "Search for the :ref:`Button ` node and add it." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:78 +#: ../../docs/getting_started/step_by_step/signals.rst:84 msgid "" "The node is small by default. Click and drag on the bottom-right handle of " "the Button in the viewport to resize it." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:83 +#: ../../docs/getting_started/step_by_step/signals.rst:89 msgid "" "If you don't see the handles, ensure the select tool is active in the " "toolbar." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:87 +#: ../../docs/getting_started/step_by_step/signals.rst:93 msgid "Click and drag on the button itself to move it closer to the sprite." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:89 +#: ../../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``." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:94 +#: ../../docs/getting_started/step_by_step/signals.rst:100 msgid "Your scene tree and viewport should look like this." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:98 +#: ../../docs/getting_started/step_by_step/signals.rst:104 msgid "" "Save your newly created scene as ``node_2d.tscn``, if you haven't already. " "You can then run it with :kbd:`F6` (:kbd:`Cmd + R` on macOS). At the moment, " "the button will be visible, but nothing will happen if you press it." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:104 +#: ../../docs/getting_started/step_by_step/signals.rst:110 msgid "Connecting a signal in the editor" msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:106 +#: ../../docs/getting_started/step_by_step/signals.rst:112 msgid "" "Here, we want to connect the Button's \"pressed\" signal to our Sprite2D, " "and we want to call a new function that will toggle its motion on and off. " @@ -8557,22 +8572,22 @@ msgid "" "previous lesson." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:111 +#: ../../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." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:116 +#: ../../docs/getting_started/step_by_step/signals.rst:122 msgid "The dock displays a list of signals available on the selected node." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:120 +#: ../../docs/getting_started/step_by_step/signals.rst:126 msgid "Double-click the \"pressed\" signal to open the node connection window." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:124 +#: ../../docs/getting_started/step_by_step/signals.rst:130 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 " @@ -8581,48 +8596,48 @@ msgid "" "\"_on_button_pressed\"." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:131 +#: ../../docs/getting_started/step_by_step/signals.rst:137 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:137 +#: ../../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." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:144 +#: ../../docs/getting_started/step_by_step/signals.rst:150 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 to connect the signal " "via code as explained in the next section." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:148 +#: ../../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." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:154 +#: ../../docs/getting_started/step_by_step/signals.rst:160 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:159 +#: ../../docs/getting_started/step_by_step/signals.rst:165 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:162 +#: ../../docs/getting_started/step_by_step/signals.rst:168 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() " @@ -8631,89 +8646,89 @@ msgid "" "use the ``not`` keyword to invert the value." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:182 +#: ../../docs/getting_started/step_by_step/signals.rst:188 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:185 +#: ../../docs/getting_started/step_by_step/signals.rst:191 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:206 +#: ../../docs/getting_started/step_by_step/signals.rst:212 msgid "Your complete ``sprite_2d.gd`` code should look like the following." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:249 +#: ../../docs/getting_started/step_by_step/signals.rst:255 msgid "" "Run the scene now and click the button to see the sprite start and stop." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:252 +#: ../../docs/getting_started/step_by_step/signals.rst:258 msgid "Connecting a signal via code" msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:254 +#: ../../docs/getting_started/step_by_step/signals.rst:260 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:257 +#: ../../docs/getting_started/step_by_step/signals.rst:263 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:260 +#: ../../docs/getting_started/step_by_step/signals.rst:266 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:263 +#: ../../docs/getting_started/step_by_step/signals.rst:269 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:269 +#: ../../docs/getting_started/step_by_step/signals.rst:275 msgid "" "With the Timer node selected, go to the Inspector and enable the " "**Autostart** property." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:274 +#: ../../docs/getting_started/step_by_step/signals.rst:280 msgid "" "Click the script icon next to Sprite2D to jump back to the scripting " "workspace." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:278 +#: ../../docs/getting_started/step_by_step/signals.rst:284 msgid "We need to do two operations to connect the nodes via code:" msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:280 +#: ../../docs/getting_started/step_by_step/signals.rst:286 msgid "Get a reference to the Timer from the Sprite2D." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:281 +#: ../../docs/getting_started/step_by_step/signals.rst:287 msgid "Call the ``connect()`` method on the Timer's \"timeout\" signal." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:283 +#: ../../docs/getting_started/step_by_step/signals.rst:289 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:287 +#: ../../docs/getting_started/step_by_step/signals.rst:293 msgid "" "We want to connect the signal when the scene is instantiated, and we can do " "that using the :ref:`Node._ready() ` built-" @@ -8721,14 +8736,14 @@ msgid "" "fully instantiated." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:291 +#: ../../docs/getting_started/step_by_step/signals.rst:297 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:308 +#: ../../docs/getting_started/step_by_step/signals.rst:314 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 " @@ -8736,12 +8751,12 @@ msgid "" "``get_node(\"BlinkingTimer\")``." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:314 +#: ../../docs/getting_started/step_by_step/signals.rst:320 msgid "" "We can now connect the Timer to the Sprite2D in the ``_ready()`` function." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:331 +#: ../../docs/getting_started/step_by_step/signals.rst:337 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 " @@ -8750,43 +8765,43 @@ msgid "" "visibility." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:336 +#: ../../docs/getting_started/step_by_step/signals.rst:342 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:353 +#: ../../docs/getting_started/step_by_step/signals.rst:359 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:357 +#: ../../docs/getting_started/step_by_step/signals.rst:363 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:363 +#: ../../docs/getting_started/step_by_step/signals.rst:369 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:428 +#: ../../docs/getting_started/step_by_step/signals.rst:434 msgid "Custom signals" msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:430 +#: ../../docs/getting_started/step_by_step/signals.rst:436 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:433 +#: ../../docs/getting_started/step_by_step/signals.rst:439 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, " @@ -8794,29 +8809,29 @@ msgid "" "health reaches 0." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:459 +#: ../../docs/getting_started/step_by_step/signals.rst:465 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:462 +#: ../../docs/getting_started/step_by_step/signals.rst:468 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." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:467 +#: ../../docs/getting_started/step_by_step/signals.rst:473 msgid "To emit a signal in your scripts, call ``emit()`` on the signal." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:489 +#: ../../docs/getting_started/step_by_step/signals.rst:495 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:515 +#: ../../docs/getting_started/step_by_step/signals.rst:521 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 " @@ -8824,34 +8839,34 @@ msgid "" "correct values." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:520 +#: ../../docs/getting_started/step_by_step/signals.rst:526 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:543 +#: ../../docs/getting_started/step_by_step/signals.rst:549 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:547 +#: ../../docs/getting_started/step_by_step/signals.rst:553 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:551 +#: ../../docs/getting_started/step_by_step/signals.rst:557 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:555 +#: ../../docs/getting_started/step_by_step/signals.rst:561 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." @@ -10564,12 +10579,12 @@ msgid "" "represented by a \"+\" icon in the top-left and double-click on *Node*. Name " "the node ``Main``. An alternate method to rename the node is to right-click " "on *Node* and choose *Rename* (or :kbd:`F2`). Alternatively, to add a node " -"to the scene, you can press :kbd:`Ctrl + a` (or :kbd:`Cmd + a` on macOS)." +"to the scene, you can press :kbd:`Ctrl + A` (:kbd:`Cmd + A` on macOS)." msgstr "" #: ../../docs/getting_started/first_3d_game/01.game_setup.rst:48 msgid "" -"Save the scene as ``main.tscn`` by pressing :kbd:`Ctrl + s` (:kbd:`Cmd + s` " +"Save the scene as ``main.tscn`` by pressing :kbd:`Ctrl + S` (:kbd:`Cmd + S` " "on macOS)." msgstr "" @@ -10615,7 +10630,7 @@ msgid "" "click and drag these to edit the shape's extents interactively. We can also " "precisely set the size in the inspector. Click on the :ref:`BoxShape3D " "` to expand the resource. Set its *Size* to ``60`` on the " -"X axis, ``2`` for the Y axis, and ``60`` for the Z axis." +"X-axis, ``2`` for the Y-axis, and ``60`` for the Z-axis." msgstr "" #: ../../docs/getting_started/first_3d_game/01.game_setup.rst:83 @@ -10645,60 +10660,69 @@ msgstr "" #: ../../docs/getting_started/first_3d_game/01.game_setup.rst:101 msgid "" -"We're going to move the ground down so we can see the floor grid. Select the " -"``Ground`` node, hold the :kbd:`Ctrl` key down to turn on grid snapping, and " -"click and drag down on the Y axis. It's the green arrow in the move gizmo." +"We're going to move the ground down so we can see the floor grid. To do " +"this, the grid snapping feature can be used. Grid snapping can be activated " +"2 ways in the 3D editor. The first is by pressing the *Use Snap* button (or " +"pressing the :kbd:`Y` key). The second is by selecting a node, dragging a " +"handle on the gizmo **then** holding :kbd:`Ctrl` while still clicking to " +"enable snapping as long as :kbd:`Ctrl` is held." msgstr "" -#: ../../docs/getting_started/first_3d_game/01.game_setup.rst:109 +#: ../../docs/getting_started/first_3d_game/01.game_setup.rst:108 +msgid "" +"Start by setting snapping with your preferred method. Then move the " +"``Ground`` node using the Y-axis (the green arrow on the gizmo)." +msgstr "" + +#: ../../docs/getting_started/first_3d_game/01.game_setup.rst:114 msgid "" "If you can't see the 3D object manipulator like on the image above, ensure " "the *Select Mode* is active in the toolbar above the view." msgstr "" -#: ../../docs/getting_started/first_3d_game/01.game_setup.rst:114 +#: ../../docs/getting_started/first_3d_game/01.game_setup.rst:119 msgid "" "Move the ground down ``1`` meter, in order to have a visible editor grid. A " "label in the bottom-left corner of the viewport tells you how much you're " "translating the node." msgstr "" -#: ../../docs/getting_started/first_3d_game/01.game_setup.rst:121 +#: ../../docs/getting_started/first_3d_game/01.game_setup.rst:126 msgid "" "Moving the *Ground* node down moves both children along with it. Ensure you " "move the *Ground* node, **not** the *MeshInstance3D* or the " "*CollisionShape3D*." msgstr "" -#: ../../docs/getting_started/first_3d_game/01.game_setup.rst:125 +#: ../../docs/getting_started/first_3d_game/01.game_setup.rst:130 msgid "Ultimately, ``Ground``'s transform.position.y should be -1" msgstr "" -#: ../../docs/getting_started/first_3d_game/01.game_setup.rst:129 +#: ../../docs/getting_started/first_3d_game/01.game_setup.rst:134 msgid "" "Let's add a directional light so our scene isn't all grey. Select the " "``Main`` node and add a child node :ref:`DirectionalLight3D " "`." msgstr "" -#: ../../docs/getting_started/first_3d_game/01.game_setup.rst:134 +#: ../../docs/getting_started/first_3d_game/01.game_setup.rst:139 msgid "" "We need to move and rotate the :ref:`DirectionalLight3D " "` node. Move it up by clicking and dragging on the " "manipulator's green arrow and click and drag on the red arc to rotate it " -"around the X axis, until the ground is lit." +"around the X-axis, until the ground is lit." msgstr "" -#: ../../docs/getting_started/first_3d_game/01.game_setup.rst:139 +#: ../../docs/getting_started/first_3d_game/01.game_setup.rst:144 msgid "" "In the *Inspector*, turn on *Shadow -> Enabled* by clicking the checkbox." msgstr "" -#: ../../docs/getting_started/first_3d_game/01.game_setup.rst:143 +#: ../../docs/getting_started/first_3d_game/01.game_setup.rst:148 msgid "At this point, your project should look like this." msgstr "" -#: ../../docs/getting_started/first_3d_game/01.game_setup.rst:147 +#: ../../docs/getting_started/first_3d_game/01.game_setup.rst:152 msgid "" "That's our starting point. In the next part, we will work on the player " "scene and base movement." @@ -11245,7 +11269,7 @@ msgid "And that's all the code you need to move the character on the floor." msgstr "" #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:249 -msgid "Here is the complete ``Player.gd`` code for reference." +msgid "Here is the complete ``player.gd`` code for reference." msgstr "" #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:351 @@ -11632,7 +11656,7 @@ msgid "" msgstr "" #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:255 -msgid "Here is the complete ``Mob.gd`` script for reference." +msgid "Here is the complete ``mob.gd`` script for reference." msgstr "" #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:4 @@ -12404,7 +12428,7 @@ msgstr "" #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:321 msgid "" -"Open the script ``Mob.gd`` by double-clicking on it in the *FileSystem* " +"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." @@ -12585,11 +12609,11 @@ msgid "Starting with ``main.gd``." msgstr "" #: ../../docs/getting_started/first_3d_game/07.killing_player.rst:216 -msgid "Next is ``Mob.gd``." +msgid "Next is ``mob.gd``." msgstr "" #: ../../docs/getting_started/first_3d_game/07.killing_player.rst:311 -msgid "Finally, the longest script, ``Player.gd``:" +msgid "Finally, the longest script, ``player.gd``:" msgstr "" #: ../../docs/getting_started/first_3d_game/07.killing_player.rst:510 @@ -12756,7 +12780,7 @@ msgstr "" #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:134 msgid "" -"Head back to the ``ScoreLabel.gd`` script to define the " +"Head back to the ``score_label.gd`` script to define the " "``_on_mob_squashed()`` callback function." msgstr "" @@ -12944,7 +12968,7 @@ msgid "" msgstr "" #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:324 -msgid "Save the scene as ``MusicPlayer.tscn``." +msgid "Save the scene as ``music_player.tscn``." msgstr "" #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:326 @@ -12956,13 +12980,13 @@ msgstr "" #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:329 msgid "" "In the *Path* field, you want to enter the path to your scene. Click the " -"folder icon to open the file browser and double-click on ``MusicPlayer." +"folder icon to open the file browser and double-click on ``music_player." "tscn``. Then, click the *Add* button on the right to register the node." msgstr "" #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:335 msgid "" -"``MusicPlayer.tscn`` now loads into any scene you open or play. So if you " +"``music_player.tscn`` now loads into any scene you open or play. So if you " "run the game now, the music will play automatically in any scene." msgstr "" @@ -13368,8 +13392,8 @@ msgstr "" #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:300 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." +"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 @@ -13815,7 +13839,7 @@ msgid "" "if these changes cause it to interact with other scenes in unforeseen ways, " "then things will start to break down. The whole point of all this " "indirection is to avoid ending up in a situation where changing one class " -"results in adversely effecting other classes dependent on it." +"results in adversely affecting other classes dependent on it." msgstr "" #: ../../docs/tutorials/best_practices/scene_organization.rst:243 @@ -15427,8 +15451,8 @@ msgstr "" msgid "" "Most languages offer an enumeration type option. GDScript is no different, " "but unlike most other languages, it allows one to use either integers or " -"strings for the enum values (the latter only when using the ``export`` " -"keyword in GDScript). The question then arises, \"which should one use?\"" +"strings for the enum values (the latter only when using the ``@export_enum`` " +"annotation in GDScript). The question then arises, \"which should one use?\"" msgstr "" #: ../../docs/tutorials/best_practices/data_preferences.rst:289 @@ -15653,8 +15677,8 @@ msgstr "" #: ../../docs/tutorials/best_practices/logic_preferences.rst:121 msgid "" "If the 'imported' class is liable to change, then it should be a property " -"instead, initialized either using an ``export`` or a ``load()`` (and perhaps " -"not even initialized until later)." +"instead, initialized either using an ``@export`` or a ``load()`` (and " +"perhaps not even initialized until later)." msgstr "" #: ../../docs/tutorials/best_practices/logic_preferences.rst:125 @@ -16042,13 +16066,14 @@ msgid "" msgstr "" #: ../../docs/tutorials/troubleshooting.rst:4 +#: ../../docs/tutorials/3d/particles/collision.rst:176 #: ../../docs/tutorials/3d/occlusion_culling.rst:261 #: ../../docs/tutorials/3d/resolution_scaling.rst:261 #: ../../docs/tutorials/audio/text_to_speech.rst:85 #: ../../docs/tutorials/export/exporting_for_ios.rst:133 #: ../../docs/tutorials/export/one-click_deploy.rst:102 #: ../../docs/tutorials/inputs/controllers_gamepads_joysticks.rst:281 -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:377 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:363 #: ../../docs/contributing/development/compiling/compiling_for_android.rst:247 #: ../../docs/contributing/development/compiling/compiling_with_script_encryption_key.rst:83 #: ../../docs/contributing/development/editor/creating_icons.rst:92 @@ -16286,17 +16311,26 @@ msgid "" "the NVIDIA overlay." msgstr "" -#: ../../docs/tutorials/troubleshooting.rst:134 -msgid "The editor or project appears overly sharp or blurry" +#: ../../docs/tutorials/troubleshooting.rst:133 +msgid "" +"Alternatively, you can install the `new NVIDIA app ` which replaces GeForce Experience and does not " +"suffer from this issue. Unlike GeForce Experience, the NVIDIA app draws the " +"replay indicator in the corner of the screen as opposed to the corner of " +"each window." msgstr "" #: ../../docs/tutorials/troubleshooting.rst:140 +msgid "The editor or project appears overly sharp or blurry" +msgstr "" + +#: ../../docs/tutorials/troubleshooting.rst:146 msgid "" "Correct appearance (left), oversharpened appearance due to graphics driver " "sharpening (right)" msgstr "" -#: ../../docs/tutorials/troubleshooting.rst:142 +#: ../../docs/tutorials/troubleshooting.rst:148 msgid "" "If the editor or project appears overly sharp, this is likely due to image " "sharpening being forced on all Vulkan or OpenGL applications by your " @@ -16304,28 +16338,28 @@ msgid "" "control panel:" msgstr "" -#: ../../docs/tutorials/troubleshooting.rst:146 +#: ../../docs/tutorials/troubleshooting.rst:152 msgid "" "**NVIDIA (Windows):** Open the start menu and choose **NVIDIA Control " "Panel**. Open the **Manage 3D settings** tab on the left. In the list in the " "middle, scroll to **Image Sharpening** and set it to **Sharpening Off**." msgstr "" -#: ../../docs/tutorials/troubleshooting.rst:149 +#: ../../docs/tutorials/troubleshooting.rst:155 msgid "" "**AMD (Windows):** Open the start menu and choose **AMD Software**. Click " "the settings \"cog\" icon in the top-right corner. Go to the **Graphics** " "tab then disable **Radeon Image Sharpening**." msgstr "" -#: ../../docs/tutorials/troubleshooting.rst:153 +#: ../../docs/tutorials/troubleshooting.rst:159 msgid "" "If the editor or project appears overly blurry, this is likely due to :abbr:" "`FXAA (Fast Approximate AntiAliasing)` being forced on all Vulkan or OpenGL " "applications by your graphics driver." msgstr "" -#: ../../docs/tutorials/troubleshooting.rst:157 +#: ../../docs/tutorials/troubleshooting.rst:163 msgid "" "**NVIDIA (Windows):** Open the start menu and choose **NVIDIA Control " "Panel**. Open the **Manage 3D settings** tab on the left. In the list in the " @@ -16333,14 +16367,14 @@ msgid "" "**Application Controlled**." msgstr "" -#: ../../docs/tutorials/troubleshooting.rst:161 +#: ../../docs/tutorials/troubleshooting.rst:167 msgid "" "**NVIDIA (Linux):** Open the applications menu and choose **NVIDIA X Server " "Settings**. Select to **Antialiasing Settings** on the left, then uncheck " "**Enable FXAA**." msgstr "" -#: ../../docs/tutorials/troubleshooting.rst:164 +#: ../../docs/tutorials/troubleshooting.rst:170 msgid "" "**AMD (Windows):** Open the start menu and choose **AMD Software**. Click " "the settings \"cog\" icon in the top-right corner. Go to the **Graphics** " @@ -16348,38 +16382,38 @@ msgid "" "Disable **Morphological Anti-Aliasing**." msgstr "" -#: ../../docs/tutorials/troubleshooting.rst:169 +#: ../../docs/tutorials/troubleshooting.rst:175 msgid "" "Third-party vendor-independent utilities such as vkBasalt may also force " "sharpening or FXAA on all Vulkan applications. You may want to check their " "configuration as well." msgstr "" -#: ../../docs/tutorials/troubleshooting.rst:173 +#: ../../docs/tutorials/troubleshooting.rst:179 msgid "" "After changing options in the graphics driver or third-party utilities, " "restart Godot to make the changes effective." msgstr "" -#: ../../docs/tutorials/troubleshooting.rst:176 +#: ../../docs/tutorials/troubleshooting.rst:182 msgid "" "If you still wish to force sharpening or FXAA on other applications, it's " "recommended to do so on a per-application basis using the application " "profiles system provided by graphics drivers' control panels." msgstr "" -#: ../../docs/tutorials/troubleshooting.rst:181 +#: ../../docs/tutorials/troubleshooting.rst:187 msgid "The editor or project appears to have washed out colors" msgstr "" -#: ../../docs/tutorials/troubleshooting.rst:183 +#: ../../docs/tutorials/troubleshooting.rst:189 msgid "" "On Windows, this is usually caused by incorrect OS or monitor settings, as " "Godot currently does not support :abbr:`HDR (High Dynamic Range)` *output* " "(even though it may internally render in HDR)." msgstr "" -#: ../../docs/tutorials/troubleshooting.rst:187 +#: ../../docs/tutorials/troubleshooting.rst:193 msgid "" "As `most displays are not designed to display SDR content in HDR mode " "`__." msgstr "" -#: ../../docs/tutorials/troubleshooting.rst:194 +#: ../../docs/tutorials/troubleshooting.rst:200 msgid "" "If you insist on leaving HDR enabled, it is possible to somewhat improve the " "result by ensuring the display is configured to use :abbr:`HGIG (HDR Gaming " @@ -16404,17 +16438,17 @@ msgid "" "display, though." msgstr "" -#: ../../docs/tutorials/troubleshooting.rst:201 +#: ../../docs/tutorials/troubleshooting.rst:207 msgid "Support for HDR *output* is planned in a future release." msgstr "" -#: ../../docs/tutorials/troubleshooting.rst:204 +#: ../../docs/tutorials/troubleshooting.rst:210 msgid "" "The editor/project freezes or displays glitched visuals after resuming the " "PC from suspend" msgstr "" -#: ../../docs/tutorials/troubleshooting.rst:206 +#: ../../docs/tutorials/troubleshooting.rst:212 msgid "" "This is a known issue on Linux with NVIDIA graphics when using the " "proprietary driver. There is no definitive fix yet, as suspend on Linux + " @@ -16424,7 +16458,7 @@ msgid "" "(which use Vulkan)." msgstr "" -#: ../../docs/tutorials/troubleshooting.rst:212 +#: ../../docs/tutorials/troubleshooting.rst:218 msgid "" "The NVIDIA driver offers an *experimental* `option to preserve video memory " "after suspend ` issues. If you reference a " @@ -16561,7 +16595,7 @@ msgstr "" #: ../../docs/tutorials/editor/project_manager.rst:16 msgid "" -"Then on the settings page seelct the language you want from the dropdown " +"Then on the settings page select the language you want from the dropdown " "menu." msgstr "" @@ -16688,7 +16722,7 @@ msgstr "" #: ../../docs/tutorials/editor/project_manager.rst:100 msgid "" -"type out the tag name, and click \"ok\". Your project will now have a tag " +"Type out the tag name, and click \"ok\". Your project will now have a tag " "added to it. These tags can be used for any other project in your project " "manager. In addition tags will stay with projects. So if you tag your " "project, send it to another machine and import it into the project manager " @@ -20298,6 +20332,10 @@ msgstr "" #: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:154 #: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:35 #: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:92 +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:18 +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:75 +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:98 +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:111 #: ../../docs/tutorials/scripting/how_to_read_the_godot_api.rst:34 #: ../../docs/tutorials/scripting/creating_script_templates.rst:204 #: ../../docs/tutorials/shaders/shader_reference/shading_language.rst:23 @@ -20306,8 +20344,8 @@ msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:15 #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:100 #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:155 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:254 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:423 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:258 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:427 #: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:17 #: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:54 #: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:101 @@ -22230,13 +22268,13 @@ msgid "Spatial" msgstr "" #: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:285 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:643 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:652 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:654 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:658 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:660 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:662 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:664 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:644 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:653 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:655 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:659 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:661 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:663 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:665 #: ../../docs/contributing/development/core_and_modules/inheritance_class_tree.rst:25 msgid "Node3D" msgstr "" @@ -22731,11 +22769,17 @@ msgstr "" msgid "TileMap's ``map_to_world()`` is now ``map_to_local()``." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:441 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:440 +msgid "" +"Transform2D's ``xform()`` is ``mat * vec`` and ``xform_inv()`` is ``vec * " +"mat``." +msgstr "" + +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:442 msgid "**Properties**" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:445 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:446 msgid "" "If a property is listed here, its associated getter and setter methods must " "also be renamed manually if used in the project. For example, PathFollow2D " @@ -22743,29 +22787,29 @@ msgid "" "``set_progress()`` and ``get_progress()`` respectively." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:450 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:451 msgid "Control's ``margin`` is now ``offset``." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:451 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:452 msgid "Label's ``percent_visible`` is now ``visible_ratio``." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:452 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:453 msgid "" "MultiPlayerAPI's ``refuse_new_network_connections`` is now " "``refuse_new_connections``." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:453 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:454 msgid "PathFollow2D and PathFollow3D's ``offset`` is now ``progress``." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:454 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:455 msgid "TextureProgressBar's ``percent_visible`` is now ``show_percentage``." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:455 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:456 msgid "" "The ``extents`` property on CSG nodes and VoxelGI will have to be replaced " "with ``size``, with the set value halved (as they're no longer half-" @@ -22773,70 +22817,70 @@ msgid "" "``get_extents()``." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:459 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:460 msgid "" "The ``Engine.editor_hint`` property was removed in favor of the ``Engine." "is_editor_hint()`` *method*. This is because it's read-only, and properties " "in Godot are not used for read-only values." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:463 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:464 msgid "**Enums**" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:465 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:466 msgid "CPUParticles2D's ``FLAG_MAX`` is now ``PARTICLE_FLAG_MAX``." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:467 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:468 msgid "**Signals**" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:469 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:470 msgid "FileSystemDock's ``instantiate`` is now ``instance``." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:470 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:471 msgid "" "CanvasItem's ``hide`` is now ``hidden``. This rename does **not** apply to " "the ``hide()`` method, only the signal." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:472 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:473 msgid "Tween's ``tween_all_completed`` is now ``loop_finished``." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:473 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:474 msgid "EditorSettings' ``changed`` is now ``settings_changed``." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:475 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:476 msgid "**Constants**" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:477 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:478 msgid "" "Color names are now uppercase and use underscores between words. For " "example, ``Color.palegreen`` is now ``Color.PALE_GREEN``." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:479 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:480 msgid "" "MainLoop's ``NOTIFICATION_`` constants were duplicated to ``Node`` which " "means you can remove the ``MainLoop.`` prefix when referencing them." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:481 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:482 msgid "" "MainLoop's ``NOTIFICATION_WM_QUIT_REQUEST`` is now " "``NOTIFICATION_WM_CLOSE_REQUEST``." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:484 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:485 msgid "Checking project settings" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:486 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:487 msgid "" "Several project settings were renamed, and some of them had their enums " "changed in incompatible ways (such as shadow filter quality). This means you " @@ -22845,11 +22889,11 @@ msgid "" "all project settings." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:492 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:493 msgid "Checking Environment settings" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:494 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:495 msgid "" "Graphics quality settings were moved from Environment properties to project " "settings. This was done to make run-time quality adjustments easier, without " @@ -22857,14 +22901,14 @@ msgid "" "properties." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:499 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:500 msgid "" "As a result, you will have to configure Environment quality settings in the " "project settings as old Environment quality settings aren't converted " "automatically to project settings." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:503 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:504 msgid "" "If you have a graphics settings menu that changed environment properties in " "Godot 3.x, you will have to change its code to call :ref:" @@ -22873,70 +22917,70 @@ msgid "" "remain within the Environment resource." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:509 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:510 msgid "Updating shaders" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:511 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:512 msgid "" "There have been some changes to shaders that aren't covered by the upgrade " "tool." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:513 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:514 msgid "" "The ``.shader`` file extension is no longer supported, which means you must " "rename ``.shader`` files to ``.gdshader`` and update references accordingly " "in scene/resource files using an external text editor." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:517 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:518 msgid "Some notable renames you will need to perform in shaders are:" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:519 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:520 msgid "" "Texture filter and repeat modes are now set on individual uniforms, rather " "than the texture files themselves." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:521 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:522 msgid "``hint_albedo`` is now ``source_color``." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:522 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:523 msgid "``hint_color`` is now ``source_color``." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:523 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:524 msgid ":ref:`Built in matrix variables were renamed. `" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:524 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:525 msgid "" "Particles shaders no longer use the ``vertex()`` processor function. Instead " "they use ``start()`` and ``process()``." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:527 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:528 msgid "See :ref:`doc_shading_language` for more information." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:530 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:531 msgid "Updating scripts to take backwards-incompatible changes into account" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:532 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:533 msgid "" "Some changes performed between Godot 3.x and 4 are not renames, but they " "still break backwards compatibility due to different default behavior." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:535 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:536 msgid "The most notable examples of this are:" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:537 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:538 msgid "" "Lifecycle functions such as ``_ready()`` and ``_process()`` no longer " "implicitly call parent classes' functions that have the same name. Instead, " @@ -22944,7 +22988,7 @@ msgid "" "class so that the parent class function is called first." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:541 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:542 msgid "" "Both :ref:`class_String` and :ref:`class_StringName` are now exposed to " "GDScript. This allows for greater optimization, as StringName is " @@ -22956,7 +23000,7 @@ msgid "" "``\"example\"`` with ``&\"example\"``." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:548 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:549 msgid "" ":ref:`GDScript setter and getter syntax " "` was changed, but it's only partially " @@ -22964,7 +23008,7 @@ msgid "" "to make setters and getters working again." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:551 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:552 msgid "" ":ref:`GDScript signal connection syntax ` was changed. " "The conversion tool will use the string-based syntax which is still present " @@ -22974,28 +23018,28 @@ msgid "" "discovered at run-time." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:556 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:557 msgid "" "Built-in scripts that are :ref:`tool scripts " "` do not get the ``tool`` keyword converted " "to the ``@tool`` annotation." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:558 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:559 msgid "" "The Tween node was removed in favor of Tweeners, which are also available in " "Godot 3.5 and later. See the `original pull request `__ for details." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:562 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:563 msgid "" "``randomize()`` is now automatically called on project load, so " "deterministic randomness with the global RandomNumberGenerate instance " "requires manually setting a seed in a script's ``_ready()`` function." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:565 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:566 msgid "" "``call_group()``, ``set_group()`` and ``notify_group()`` are now immediate " "by default. If calling an expensive function, this may result in stuttering " @@ -23005,7 +23049,7 @@ msgid "" "with ``set_group()`` and ``notify_group()`` respectively)." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:571 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:572 msgid "" "Instead of ``rotation_degrees``, the ``rotation`` property is exposed to the " "editor, which is automatically displayed as degrees in the Inspector dock. " @@ -23013,33 +23057,33 @@ msgid "" "the conversion tool." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:575 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:576 msgid "" ":ref:`class_AABB`'s ``has_no_surface()`` was inverted and renamed to " "``has_surface()``." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:576 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:577 msgid "" ":ref:`class_AABB` and :ref:`class_Rect2`'s ``has_no_area()`` was inverted " "and renamed to ``has_area()``." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:578 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:579 msgid "" ":ref:`class_AnimatedTexture`'s ``fps`` property was replaced by " "``speed_scale``, which works the same as AnimationPlayer's " "``playback_speed`` property." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:580 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:581 msgid "" ":ref:`class_AnimatedSprite2D` and :ref:`class_AnimatedSprite3D` now allow " "negative ``speed_scale`` values. This may break animations if you relied on " "``speed_scale`` being internally clamped to ``0.0``." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:583 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:584 msgid "" ":ref:`class_AnimatedSprite2D` and :ref:`class_AnimatedSprite3D`'s " "``playing`` property was removed. Use ``play()``/``stop()`` method instead " @@ -23047,32 +23091,32 @@ msgid "" "not both at once)." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:586 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:587 msgid "" ":ref:`class_Array`'s ``slice()`` second parameter (``end``) is now " "*exclusive*, instead of being inclusive. For example, this means that ``[1, " "2, 3].slice(0, 1)`` now returns ``[1]`` instead of ``[1, 2]``." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:589 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:590 msgid "" ":ref:`class_BaseButton`'s signals are now ``button_up`` and ``button_down``. " "The ``pressed`` property is now ``button_pressed``." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:591 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:592 msgid "" ":ref:`class_Camera2D`'s ``rotating`` property was replaced by " "``ignore_rotation``, which has inverted behavior." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:593 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:594 msgid "" "Camera2D's ``zoom`` property was inverted: higher values are now more zoomed " "in, instead of less." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:595 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:596 msgid "" ":ref:`class_Node`'s ``remove_and_skip()`` method was removed. If you need to " "reimplement it in a script, you can use the `old C++ implementation `__ as a reference." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:599 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:600 msgid "" "``OS.get_system_time_secs()`` should be converted to ``Time." "get_time_dict_from_system()[\"second\"]``." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:601 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:602 msgid "" ":ref:`class_ResourceSaver`'s ``save()`` method now has its arguments swapped " "around (``resource: Resource, path: String``). This also applies to :ref:" "`class_ResourceFormatSaver`'s ``_save()`` method." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:604 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:605 msgid "" "A :ref:`class_StreamPeerTCP` must have ``poll()`` called on it to update its " "state, instead of relying on ``get_status()`` automatically polling: " "`GH-59582 `__" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:607 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:608 msgid "" ":ref:`class_String`'s ``right()`` method `has changed behavior `__: it now returns a number of " @@ -23109,7 +23153,7 @@ msgid "" "``substr()`` instead." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:611 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:612 msgid "" "``is_connected_to_host()`` was removed from StreamPeerTCP and PacketPeerUDP " "as per `GH-59582 `__. " @@ -23117,248 +23161,248 @@ msgid "" "``is_socket_connected()`` can be used in :ref:`class_PacketPeerUDP` instead." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:615 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:616 msgid "" "In ``_get_property_list()``, the ``or_lesser`` property hint string is now " "``or_less``." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:616 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:617 msgid "" "In ``_get_property_list()``, the ``noslider`` property hint string is now " "``no_slider``." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:617 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:618 msgid "" "VisualShaderNodeVec4Parameter now takes a :ref:`class_Vector4` as parameter " "instead of a :ref:`class_Quaternion`." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:620 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:621 msgid "**Removed or replaced nodes/resources**" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:622 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:623 msgid "" "This lists all nodes that were replaced by another node requiring different " "configuration. The setup must be done from scratch again, as the project " "converter doesn't support updating existing setups:" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:627 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:628 msgid "Removed node" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:627 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:628 msgid "Closest approximation" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:627 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:628 #: ../../docs/tutorials/3d/variable_rate_shading.rst:133 #: ../../docs/tutorials/physics/large_world_coordinates.rst:57 msgid "Comment" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:629 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:630 msgid "AnimationTreePlayer" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:629 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:630 msgid "AnimationTree" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:629 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:630 msgid "AnimationTreePlayer was deprecated since Godot 3.1." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:631 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:632 msgid "BakedLightmap" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:631 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:632 msgid "LightmapGI" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:631 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:632 msgid "See :ref:`doc_using_lightmap_gi`." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:633 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:634 msgid "BakedLightmapData" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:633 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:634 msgid "LightmapGIData" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:635 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:636 msgid "BitmapFont" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:635 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:637 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:639 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:636 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:638 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:640 msgid "FontFile" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:635 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:636 msgid "See :ref:`doc_gui_using_fonts`." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:637 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:638 msgid "DynamicFont" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:639 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:640 msgid "DynamicFontData" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:641 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:642 msgid "Navigation2D" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:641 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:642 #: ../../docs/contributing/development/core_and_modules/inheritance_class_tree.rst:20 msgid "Node2D" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:641 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:642 msgid "" "Replaced by :ref:`other 2D Navigation nodes `." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:643 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:644 msgid "Navigation3D" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:643 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:644 msgid "" "Replaced by :ref:`other 3D Navigation nodes `." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:645 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:646 msgid "OpenSimplexNoise" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:645 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:646 msgid "FastNoiseLite" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:645 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:646 msgid "" "Has different parameters and more noise types such as cellular. No support " "for 4D noise as it's absent from the FastNoiseLite library." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:648 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:649 msgid "ToolButton" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:648 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:649 msgid "Button" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:648 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:649 msgid "ToolButton was Button with the **Flat** property enabled by default." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:650 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:651 msgid "YSort" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:650 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:651 msgid "Node2D or Control" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:650 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:651 msgid "CanvasItem has a new **Y Sort Enabled** property in 4.0." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:652 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:653 msgid "ProximityGroup" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:652 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:653 msgid ":ref:`class_VisibleOnScreenNotifier3D` can act as a replacement." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:654 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:655 msgid "Portal" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:654 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:655 msgid "" "Portal and room occlusion culling was replaced by raster :ref:`occlusion " "culling ` (OccluderInstance3D node), which requires a " "different setup process." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:658 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:659 msgid "Room" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:660 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:661 msgid "RoomManager" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:662 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:663 msgid "RoomGroup" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:664 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:665 msgid "Occluder" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:664 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:665 msgid "" "Geometry occlusion culling was replaced by raster :ref:`occlusion culling " "` (OccluderInstance3D node), which requires a " "different setup process." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:668 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:669 msgid "OccluderShapeSphere" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:668 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:669 msgid "Resource" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:671 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:672 msgid "" "If loading an old project, the node will be replaced with its *Closest " "approximation* automatically (even if not using the project upgrade tool)." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:674 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:675 msgid "**Threading changes**" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:676 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:677 msgid "" ":ref:`Threading ` APIs have changed in 4.0. For " "example, the following code snippet in Godot 3.x must be modified to work in " "4.0:" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:689 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:690 msgid "" "``Thread.is_active()`` is no longer used and should be converted to ``Thread." "is_alive()``." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:693 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:694 msgid "" "See the `changelog `__ for a full list of changes between Godot 3.x and 4." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:697 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:698 msgid "ArrayMesh resource compatibility breakage" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:699 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:700 msgid "" "If you've saved an ArrayMesh resource to a ``.res`` or ``.tres`` file, the " "format used in 4.0 is not compatible with the one used in 3.x. You will need " @@ -23366,12 +23410,12 @@ msgid "" "an ArrayMesh resource again." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:705 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:706 msgid "" "List of automatically renamed methods, properties, signals and constants" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:707 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:708 msgid "" "The `editor/renames_map_3_to_4.cpp `__ source file lists all " @@ -23380,17 +23424,17 @@ msgid "" "automatically `." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:712 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:713 msgid "Porting editor settings" msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:714 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:715 msgid "" "Godot 3.x and 4.0 use different editor settings files. This means their " "settings can be changed independently from each other." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:717 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:718 msgid "" "If you wish to port over your Godot 3.x settings to Godot 4, open the :ref:" "`editor settings folder ` and copy " @@ -23398,7 +23442,7 @@ msgid "" "editor is closed." msgstr "" -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:724 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:725 msgid "" "Many settings' names and categories have changed since Godot 3.x. Editor " "settings whose name or category has changed won't carry over to Godot 4.0; " @@ -25055,11 +25099,11 @@ msgid "" "``EnvironmentBlendMode`` to ``EnvironmentBlendModeEnum``." msgstr "" -#: ../../docs/tutorials/2d/index.rst:28 +#: ../../docs/tutorials/2d/index.rst:29 msgid "Physics and movement" msgstr "" -#: ../../docs/tutorials/2d/index.rst:37 +#: ../../docs/tutorials/2d/index.rst:38 #: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:231 #: ../../docs/tutorials/3d/index.rst:49 #: ../../docs/tutorials/3d/procedural_geometry/index.rst:86 @@ -27712,6 +27756,410 @@ msgid "" "performance." msgstr "" +#: ../../docs/tutorials/2d/2d_parallax.rst:4 +msgid "2D Parallax" +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:9 +msgid "" +"Parallax is an effect used to simulate depth by having textures move at " +"different speeds relative to the camera. Godot provides the :ref:" +"`Parallax2D` node to achieve this effect. It can still be " +"easy to get tripped up though, so this page provides in-depth descriptions " +"of some properties and how to fix some common mistakes." +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:14 +msgid "" +"This page only covers how to use :ref:`Parallax2D`. This " +"node is still experimental, so the implementation might change in future " +"versions of Godot. However, it is still recommended to use over the :ref:" +"`ParallaxLayer` and :ref:" +"`ParallaxBackground` nodes." +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:19 +msgid "Scroll scale" +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:21 +msgid "" +"The backbone of the parallax effect is the :ref:`scroll_scale " +"` property. It works as a scroll-" +"speed multiplier, allowing layers to move at a different speed than the " +"camera for each axis set. A value of 1 makes the parallax node scroll at the " +"same speed as the camera. If you want your image to look further away when " +"scrolling, use a value lower than 1, with 0 bringing it to a complete stop. " +"If you want something to appear closer to the camera, use a value higher " +"than 1, making it scroll faster." +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:29 +msgid "" +"The scene above is comprised of five layers. Some good :ref:`scroll_scale " +"` values might be:" +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:32 +msgid "``(0.7, 1)`` - Forest" +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:33 +msgid "``(0.5, 1)`` - Hills" +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:34 +msgid "``(0.3, 1)`` - Lower Clouds" +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:35 +msgid "``(0.2, 1)`` - Higher Clouds" +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:36 +msgid "``(0.1, 1)`` - Sky" +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:38 +msgid "" +"The video below displays how these values affect scrolling while in-game:" +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:47 +msgid "Infinite repeat" +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:49 +msgid "" +":ref:`Parallax2D` provides a bonus effect that gives " +"textures the illusion of repeating infinitely. :ref:" +"`repeat_size` tells the node to snap " +"its position forward or back when the camera scrolls by the set value. This " +"effect is achieved by adding a single repeat to all the child canvas items " +"offset by the value. While the camera scrolls between the image and its " +"repeat, it invisibly snaps back giving the appearance of a looping image." +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:57 +msgid "" +"Being a delicate effect, it's easy for unfamiliar users to make mistakes " +"with their setup. Let's go over the \"how\" and \"why\" of a few common " +"problems users encounter." +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:61 +msgid "Poor sizing" +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:63 +msgid "" +"The infinite repeat effect is easiest to work with when you have an image " +"designed to repeat seamlessly and is the same size or larger than your " +"viewport **before** setting the :ref:" +"`repeat_size`. If you aren't able to " +"obtain assets that are designed for this task, there are some other things " +"you can do to better prepare your image in regards to size." +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:68 +msgid "Here is an example of a texture that is too small for its viewport:" +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:72 +msgid "" +"We can see that the viewport size is 500x300 but the texture is 288x208. If " +"we set the :ref:`repeat_size` to the " +"size of our image, the infinite repeat effect doesn't scroll properly " +"because the original texture doesn't cover the viewport. If we set the :ref:" +"`repeat_size` to the size of the " +"viewport, we have a large gap. What can we do?" +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:79 +msgid "Make the viewport smaller" +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:81 +msgid "" +"The simplest answer is to make the viewport the same size or smaller than " +"your textures. Click on ``Project -> Project Settings -> Window`` and change " +"the viewport height and width to match your background." +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:87 +msgid "Scale the Parallax2D" +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:89 +msgid "" +"If you're not aiming for a pixel-perfect style, or don't mind a little " +"blurriness, you may opt to scale the textures larger to fit your screen. Set " +"the :ref:`scale` of the :ref:" +"`Parallax2D`, and all child textures scale with it." +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:94 +msgid "Scale the child nodes" +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:96 +msgid "" +"Similar to scaling the :ref:`Parallax2D`, you can scale " +"your :ref:`Sprite2D` nodes to be large enough to cover the " +"screen. Keep in mind that some settings like :ref:`Parallax2D." +"repeat_size` and :ref:`Sprite2D." +"region_rect` do not take scaling into " +"account, so it's necessary to adjust these values based on the scale." +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:105 +msgid "Repeat the textures" +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:107 +msgid "" +"You can also start off on the right foot by preparing child nodes earlier in " +"the process. If you have a :ref:`Sprite2D` you'd like to " +"repeat, but is too small, you can do the following to repeat it:" +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:110 +msgid "" +"set :ref:`texture_repeat` to :ref:" +"`CanvasItem." +"TEXTURE_REPEAT_ENABLED`" +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:111 +msgid "" +"set :ref:`region_enabled` to ``true``" +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:112 +msgid "" +"set the :ref:`region_rect` to a " +"multiple of the size of your texture large enough to cover the viewport." +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:114 +msgid "" +"Below, you can see that repeating the image twice makes it large enough to " +"cover the screen." +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:119 +msgid "Poor positioning" +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:121 +msgid "" +"It's common to see users mistakenly set all of their textures to be centered " +"at ``(0,0)``:" +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:125 +msgid "" +"This creates problems with the infinite repeat effect and should be avoided. " +"The \"infinite repeat canvas\" starts at ``(0,0)`` and expands down and to " +"the right to the size of the :ref:" +"`repeat_size` value." +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:131 +msgid "" +"If the textures are centered on the ``(0,0)`` crossing, the infinite repeat " +"canvas is only partly covered, so it only partly repeats." +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:135 +msgid "Would increasing ``repeat_times`` fix this?" +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:137 +msgid "" +"Increasing :ref:`repeat_times` " +"technically *would* work in some scenarios, but is a brute force solution " +"and not the problem it is designed to solve (we'll go over this in a bit). A " +"better fix is to understand how the repeat effect works and set up the " +"parallax textures appropriately to begin with." +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:141 +msgid "" +"First, check to see if any textures are spilling over onto the negative " +"parts of the canvas. Make sure the textures used in the parallax nodes fit " +"inside the \"infinite repeat canvas\" starting at ``(0,0)``. That way, if :" +"ref:`Parallax2D.repeat_size` is set " +"correctly, it should look something like this, with one single loop of the " +"image the same size or larger than the viewport:" +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:148 +msgid "" +"If you think of how the image scrolls across the screen, it starts by " +"displaying what's inside the red rectangle (determined by :ref:" +"`repeat_size`), and when it reaches " +"what's inside the yellow rectangle it zips the image forward to give the " +"illusion of scrolling forever." +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:154 +msgid "" +"If you have the image positioned away from the \"infinite repeat canvas\", " +"when the camera reaches the yellow rectangle, half of the image is cut off " +"before it jumps forward like in the image below:" +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:160 +msgid "Scroll offset" +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:162 +msgid "" +"If your parallax textures are already working correctly, but you prefer it " +"to start at a different point, :ref:`Parallax2D` comes " +"with a :ref:`scroll_offset` " +"property used to offset where the infinite repeat canvas starts. As an " +"example, if your image is 288x208, setting the :ref:" +"`scroll_offset` to ``(-144,0)`` or " +"``(144,0)`` allows it to begin halfway across the image." +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:169 +msgid "Repeat times" +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:171 +msgid "" +"Ideally, following this guide, your parallax textures are large enough to " +"cover the screen even when zoomed out. Until now, we have had a perfectly " +"fitting 288x208 texture inside of a 288x208 viewport. However, problems " +"occur when we zoom out by setting the :ref:`Camera2D." +"zoom` to ``(0.5, 0.5)``:" +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:177 +msgid "" +"Even though everything is correctly set for the viewport at the default zoom " +"level, zooming out makes it smaller than the viewport, breaking the infinite " +"repeat effect. This is where :ref:" +"`repeat_times` can help out. Setting " +"a value of ``3`` (one extra repeat behind and in front), it is now large " +"enough to accommodate the infinite repeat effect." +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:184 +msgid "" +"If these textures were meant to be repeated vertically, we would have " +"specified a ``y`` value for the :ref:" +"`repeat_size`. The :ref:" +"`repeat_times` would automatically " +"add a repeat above and below as well. This is only a horizontal parallax, so " +"it leaves an empty block above and below the image. How do we solve this? We " +"need to get creative! In this example, we stretch the sky higher, and grass " +"sprite lower. The textures now support the normal zoom level and zooming out " +"to half size." +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:194 +msgid "Split screen" +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:196 +msgid "" +"Most tutorials for making a split screen game in Godot begin by writing a " +"small script to assign the :ref:`Viewport." +"world_2d` of the first SubViewport to the " +"second, so they have a shared display. Questions often pop up about how to " +"share a parallax effect between both screens." +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:200 +msgid "" +"The parallax effect fakes a perspective by moving the positions of different " +"textures in relation to the camera. This is understandably problematic if " +"you have multiple cameras, because your textures can't be in two places at " +"once!" +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:203 +msgid "" +"This is still achievable by cloning the parallax nodes into the second (or " +"third or fourth) :ref:`SubViewport`. Here's how it looks " +"for a two player game:" +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:208 +msgid "" +"Of course, now both backgrounds show in both SubViewports. What we want is " +"for some nodes to be visible in one viewport but not another. While " +"technically possible, this is not a feature officially supported by Godot at " +"the moment. There is currently a proposal to make this much simpler, so " +"please stay tuned." +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:212 +msgid "As a workaround, you can do the following:" +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:214 +msgid "" +"Set the first SubViewport's :ref:" +"`canvas_cull_mask` to only layer " +"1, so it displays all nodes with a :ref:" +"`visibility_layer` of layer 1." +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:215 +msgid "" +"Set the second SubViewport's :ref:" +"`canvas_cull_mask` to only layer " +"2, so it displays all nodes with a :ref:" +"`visibility_layer` of layer 2." +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:216 +msgid "" +"Set the :ref:`visibility_layer` " +"of every node you want to display in both viewports to both layers 1 and 2." +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:217 +msgid "" +"Set the :ref:`visibility_layer` " +"of the :ref:`Parallax2D` node and all its descendants in " +"the first :ref:`SubViewport` to layer 1." +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:218 +msgid "" +"Set the :ref:`visibility_layer` " +"of the :ref:`Parallax2D` node and all its descendants in " +"the second :ref:`SubViewport` to layer 2." +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:221 +msgid "Previewing in the editor" +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:223 +msgid "" +"Prior to 4.3, the recommendation was to place every layer in their own :ref:" +"`ParallaxBackground`, enable the :ref:" +"`follow_viewport_enabled` " +"property, and scale the individual layer. This method has always been tricky " +"to get right, but is still achievable by using a :ref:" +"`CanvasLayer` instead of a :ref:" +"`ParallaxBackground`." +msgstr "" + +#: ../../docs/tutorials/2d/2d_parallax.rst:230 +msgid "" +"Another recommendation is `KoBeWi's \"Parallax2D Preview\" addon `_. It provides a few different " +"preview modes and is very handy!" +msgstr "" + #: ../../docs/tutorials/2d/2d_movement.rst:4 msgid "2D movement overview" msgstr "" @@ -27981,75 +28429,53 @@ msgstr "" #: ../../docs/tutorials/2d/using_tilesets.rst:76 msgid "" -"Open the **TileSet** panel at the bottom of the editor, then click the \"+\" " -"icon in the bottom-left corner to add a new atlas:" +"Open the **TileSet** panel at the bottom of the editor, then click and drag " +"the tilesheet image onto the panel. You will be asked whether to create " +"tiles automatically. Answer **Yes**:" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:83 -msgid "Creating a new atlas in a TileSet resource using the bottom panel" -msgstr "" - -#: ../../docs/tutorials/2d/using_tilesets.rst:85 -msgid "" -"After creating an atlas, you must assign a tilesheet texture to it. This can " -"be done by choosing it on the left column of the bottom panel, then clicking " -"the value of the **Texture** property and choosing **Quick Load** (or " -"**Load**). Specify the path to the image file using the file dialog that " -"appears." -msgstr "" - -#: ../../docs/tutorials/2d/using_tilesets.rst:94 -msgid "Loading a tilesheet image in the newly created TileSet atlas" -msgstr "" - -#: ../../docs/tutorials/2d/using_tilesets.rst:96 -msgid "" -"After specifying a valid image, you will be asked whether to create tiles " -"automatically. Answer **Yes**:" -msgstr "" - -#: ../../docs/tutorials/2d/using_tilesets.rst:103 +#: ../../docs/tutorials/2d/using_tilesets.rst:84 msgid "Automatically creating tiles based on tilesheet image content" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:105 +#: ../../docs/tutorials/2d/using_tilesets.rst:86 msgid "" "This will automatically create tiles according to the tile size you " "specified earlier in the TileSet resource. This greatly speeds up initial " "tile setup." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:110 +#: ../../docs/tutorials/2d/using_tilesets.rst:91 msgid "" "When using automatic tile generation based on image contents, parts of the " "tilesheet that are *fully* transparent will not have tiles generated." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:113 +#: ../../docs/tutorials/2d/using_tilesets.rst:94 msgid "" "If there are tiles from the tilesheet you do not wish to be present in " "atlas, choose the Eraser tool at the top of the tileset preview, then click " "the tiles you wish to remove:" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:121 +#: ../../docs/tutorials/2d/using_tilesets.rst:102 msgid "Using the Eraser tool to remove unwanted tiles from the TileSet atlas" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:123 +#: ../../docs/tutorials/2d/using_tilesets.rst:104 msgid "" "You can also right-click a tile and choose **Delete**, as an alternative to " "the Eraser tool." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:128 +#: ../../docs/tutorials/2d/using_tilesets.rst:109 msgid "" "Like in the 2D and TileMap editors, you can pan across the TileSet panel " "using the middle or right mouse buttons, and zoom using the mouse wheel or " "buttons in the top-left corner." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:132 +#: ../../docs/tutorials/2d/using_tilesets.rst:113 msgid "" "If you wish to source tiles from several tilesheet images for a single " "TileSet, create additional atlases and assign textures to each of them " @@ -28057,52 +28483,52 @@ msgid "" "(although using tilesheets is recommended for better usability)." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:137 +#: ../../docs/tutorials/2d/using_tilesets.rst:118 msgid "You can adjust properties for the atlas in the middle column:" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:143 +#: ../../docs/tutorials/2d/using_tilesets.rst:124 msgid "" "Adjusting TileSet atlas properties in the dedicated inspector (part of the " "TileSet panel)" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:145 +#: ../../docs/tutorials/2d/using_tilesets.rst:126 msgid "The following properties can be adjusted on the atlas:" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:147 +#: ../../docs/tutorials/2d/using_tilesets.rst:128 msgid "**ID:** The identifier (unique within this TileSet), used for sorting." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:148 +#: ../../docs/tutorials/2d/using_tilesets.rst:129 msgid "" "**Name:** The human-readable name for the atlas. Use a descriptive name here " "for organizational purposes (such as \"terrain\", \"decoration\", etc)." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:150 +#: ../../docs/tutorials/2d/using_tilesets.rst:131 msgid "" "**Margins:** The margins on the image's edges that should not be selectable " "as tiles (in pixels). Increasing this can be useful if you download a " "tilesheet image that has margins on the edges (e.g. for attribution)." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:153 +#: ../../docs/tutorials/2d/using_tilesets.rst:134 msgid "" "**Separation:** The separation between each tile on the atlas in pixels. " "Increasing this can be useful if the tilesheet image you're using contains " "guides (such as outlines between every tile)." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:156 +#: ../../docs/tutorials/2d/using_tilesets.rst:137 msgid "" "**Texture Region Size:** The size of each tile on the atlas in pixels. In " "most cases, this should match the tile size defined in the TileMap property " "(although this is not strictly necessary)." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:159 +#: ../../docs/tutorials/2d/using_tilesets.rst:140 msgid "" "**Use Texture Padding:** If checked, adds a 1-pixel transparent edge around " "each tile to prevent texture bleeding when filtering is enabled. It's " @@ -28110,7 +28536,7 @@ msgid "" "issues due to texture padding." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:164 +#: ../../docs/tutorials/2d/using_tilesets.rst:145 msgid "" "Note that changing texture margin, separation and region size may cause " "tiles to be lost (as some of them would be located outside the atlas image's " @@ -28119,15 +28545,15 @@ msgid "" "**Create Tiles in Non-Transparent Texture Regions**:" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:174 +#: ../../docs/tutorials/2d/using_tilesets.rst:155 msgid "Recreating tiles automatically after changing atlas properties" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:177 +#: ../../docs/tutorials/2d/using_tilesets.rst:158 msgid "Using a collection of scenes" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:179 +#: ../../docs/tutorials/2d/using_tilesets.rst:160 msgid "" "Since Godot 4.0, you can place actual *scenes* as tiles. This allows you to " "use any collection of nodes as a tile. For example, you could use scene " @@ -28136,20 +28562,20 @@ msgid "" "(for ambient sounds), particle effects, and more." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:187 +#: ../../docs/tutorials/2d/using_tilesets.rst:168 msgid "" "Scene tiles come with a greater performance overhead compared to atlases, as " "every scene is instanced individually for every placed tile." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:190 +#: ../../docs/tutorials/2d/using_tilesets.rst:171 msgid "" "It's recommended to use only scene tiles when necessary. To draw sprites in " "a tile without any kind of advanced manipulation, :ref:`use atlases instead " "`." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:194 +#: ../../docs/tutorials/2d/using_tilesets.rst:175 msgid "" "For this example, we'll create a scene containing a CPUParticles2D root " "node. Save this scene to a scene file (separate from the scene containing " @@ -28157,47 +28583,47 @@ msgid "" "TileSet editor, and create a new **Scenes Collection** in the left column:" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:203 +#: ../../docs/tutorials/2d/using_tilesets.rst:184 msgid "Creating a scenes collection in the TileSet editor" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:205 +#: ../../docs/tutorials/2d/using_tilesets.rst:186 msgid "" "After creating a scenes collection, you can enter a descriptive name for the " "scenes collection in the middle column if you wish. Select this scenes " "collection then create a new scene slot:" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:213 +#: ../../docs/tutorials/2d/using_tilesets.rst:194 msgid "" "Creating a scene tile after selecting the scenes collection in the TileSet " "editor" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:215 +#: ../../docs/tutorials/2d/using_tilesets.rst:196 msgid "" "Select this scene slot in the right column, then use **Quick Load** (or " "**Load**) to load the scene file containing the particles:" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:222 +#: ../../docs/tutorials/2d/using_tilesets.rst:203 msgid "" "Creating a scene slot, then loading a scene file into it in the TileSet " "editor" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:224 +#: ../../docs/tutorials/2d/using_tilesets.rst:205 msgid "" "You now have a scene tile in your TileSet. Once you switch to the TileMap " "editor, you'll be able to select it from the scenes collection and paint it " "like any other tile." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:229 +#: ../../docs/tutorials/2d/using_tilesets.rst:210 msgid "Merging several atlases into a single atlas" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:231 +#: ../../docs/tutorials/2d/using_tilesets.rst:212 msgid "" "Using multiple atlases within a single TileSet resource can sometimes be " "useful, but it can also be cumbersome in certain situations (especially if " @@ -28205,28 +28631,28 @@ msgid "" "into a single atlas for easier organization." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:236 +#: ../../docs/tutorials/2d/using_tilesets.rst:217 msgid "" "To do so, you must have more than one atlas created in the TileSet resource. " "Use the \"three vertical dots\" menu button located at the bottom of the " "list of atlases, then choose **Open Atlas Merging Tool**:" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:244 +#: ../../docs/tutorials/2d/using_tilesets.rst:225 msgid "Opening the atlas merging tool after creating multiple atlases" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:246 +#: ../../docs/tutorials/2d/using_tilesets.rst:227 msgid "" "This will open a dialog, in which you can select several atlases by holding :" "kbd:`Shift` or :kbd:`Ctrl` then clicking on multiple elements:" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:253 +#: ../../docs/tutorials/2d/using_tilesets.rst:234 msgid "Using the atlas merging tool dialog" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:255 +#: ../../docs/tutorials/2d/using_tilesets.rst:236 msgid "" "Choose **Merge** to merge the selected atlases into a single atlas image " "(which translates to a single atlas within the TileSet). The unmerged " @@ -28236,21 +28662,21 @@ msgid "" "Original Atlases)** instead." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:263 +#: ../../docs/tutorials/2d/using_tilesets.rst:244 msgid "" "TileSet features a system of *tile proxies*. Tile proxies are a mapping " "table that allows notifying the TileMap using a given TileSet that a given " "set of tile identifiers should be replaced by another one." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:267 +#: ../../docs/tutorials/2d/using_tilesets.rst:248 msgid "" "Tile proxies are automatically set up when merging different atlases, but " "they can also be set manually thanks to the **Manage Tile Proxies** dialog " "you can access using the \"three vertical dots\" menu mentioned above." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:271 +#: ../../docs/tutorials/2d/using_tilesets.rst:252 msgid "" "Manually creating tile proxies may be useful when you changed an atlas ID or " "want to replace all tiles from an atlas by the ones from another atlas. Note " @@ -28258,11 +28684,11 @@ msgid "" "corresponding mapped value." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:277 +#: ../../docs/tutorials/2d/using_tilesets.rst:258 msgid "Adding collision, navigation and occlusion to the TileSet" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:279 +#: ../../docs/tutorials/2d/using_tilesets.rst:260 msgid "" "We've now successfully created a basic TileSet. We could start using in the " "TileMap node now, but it currently lacks any form of collision detection. " @@ -28270,14 +28696,14 @@ msgid "" "floor or walls." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:284 +#: ../../docs/tutorials/2d/using_tilesets.rst:265 msgid "" "If you use :ref:`2D navigation `, you'll also " "need to define navigation polygons for tiles to generate a navigation mesh " "that agents can use for pathfinding." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:288 +#: ../../docs/tutorials/2d/using_tilesets.rst:269 msgid "" "Lastly, if you use :ref:`doc_2d_lights_and_shadows` or GPUParticles2D, you " "may also want your TileSet to be able to cast shadows and collide with " @@ -28285,7 +28711,7 @@ msgid "" "the TileSet." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:292 +#: ../../docs/tutorials/2d/using_tilesets.rst:273 msgid "" "To be able to define collision, navigation and occlusion shapes for each " "tile, you will need to create a physics, navigation or occlusion layer for " @@ -28294,37 +28720,37 @@ msgid "" "Layers** and choose **Add Element**:" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:302 +#: ../../docs/tutorials/2d/using_tilesets.rst:283 msgid "" "Creating a physics layer in the TileSet resource inspector (within the " "TileMap node)" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:304 +#: ../../docs/tutorials/2d/using_tilesets.rst:285 msgid "" "If you also need navigation support, now is a good time to create a " "navigation layer:" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:310 +#: ../../docs/tutorials/2d/using_tilesets.rst:291 msgid "" "Creating a navigation layer in the TileSet resource inspector (within the " "TileMap node)" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:312 +#: ../../docs/tutorials/2d/using_tilesets.rst:293 msgid "" "If you need support for light polygon occluders, now is a good time to " "create an occlusion layer:" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:318 +#: ../../docs/tutorials/2d/using_tilesets.rst:299 msgid "" "Creating an occlusion layer in the TileSet resource inspector (within the " "TileMap node)" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:322 +#: ../../docs/tutorials/2d/using_tilesets.rst:303 msgid "" "Future steps in this tutorial are tailored to creating collision polygons, " "but the procedure for navigation and occlusion is very similar. Their " @@ -28332,41 +28758,41 @@ msgid "" "repeated for brevity." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:327 +#: ../../docs/tutorials/2d/using_tilesets.rst:308 msgid "" "The only caveat is that the tile's occlusion polygon property is part of a " "**Rendering** subsection in the atlas inspector. Make sure to unfold this " "section so you can edit the polygon." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:331 +#: ../../docs/tutorials/2d/using_tilesets.rst:312 msgid "" "After creating a physics layer, you have access to the **Physics Layer** " "section in the TileSet atlas inspector:" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:338 +#: ../../docs/tutorials/2d/using_tilesets.rst:319 msgid "Opening the collision editor while in Select mode" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:340 +#: ../../docs/tutorials/2d/using_tilesets.rst:321 msgid "" "You can quickly create a rectangle collision shape by pressing :kbd:`F` " "while the TileSet editor is focused. If the keyboard shortcut doesn't work, " "try clicking in the empty area around the polygon editor to focus it:" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:348 +#: ../../docs/tutorials/2d/using_tilesets.rst:329 msgid "Using default rectangle collision shape by pressing :kbd:`F`" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:350 +#: ../../docs/tutorials/2d/using_tilesets.rst:331 msgid "" "In this tile collision editor, you have access to all the 2D polygon editing " "tools:" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:352 +#: ../../docs/tutorials/2d/using_tilesets.rst:333 msgid "" "Use the toolbar above the polygon to toggle between creating a new polygon, " "editing an existing polygon and removing points on the polygon. The \"three " @@ -28374,45 +28800,45 @@ msgid "" "flipping the polygon." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:355 +#: ../../docs/tutorials/2d/using_tilesets.rst:336 msgid "Create new points by clicking and dragging a line between two points." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:356 +#: ../../docs/tutorials/2d/using_tilesets.rst:337 msgid "" "Remove a point by right-clicking it (or using the Remove tool described " "above and left-clicking)." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:358 +#: ../../docs/tutorials/2d/using_tilesets.rst:339 msgid "" "Pan in the editor by middle-clicking or right-clicking. (Right-click panning " "can only be used in areas where there is no point nearby.)" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:361 +#: ../../docs/tutorials/2d/using_tilesets.rst:342 msgid "" "You can use the default rectangle shape to quickly create a triangle-shaped " "collision shape by removing one of the points:" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:368 +#: ../../docs/tutorials/2d/using_tilesets.rst:349 msgid "" "Creating a triangle collision shape by right-clicking one of the corners to " "remove it" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:370 +#: ../../docs/tutorials/2d/using_tilesets.rst:351 msgid "" "You can also use the rectangle as a base for more complex shapes by adding " "more points:" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:376 +#: ../../docs/tutorials/2d/using_tilesets.rst:357 msgid "Drawing a custom collision for a complex tile shape" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:380 +#: ../../docs/tutorials/2d/using_tilesets.rst:361 msgid "" "If you have a large tileset, specifying the collision for each tile " "individually could take a lot of time. This is especially true as TileMaps " @@ -28422,11 +28848,11 @@ msgid "" "once `." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:388 +#: ../../docs/tutorials/2d/using_tilesets.rst:369 msgid "Assigning custom metadata to the TileSet's tiles" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:390 +#: ../../docs/tutorials/2d/using_tilesets.rst:371 msgid "" "You can assign custom data on a per-tile basis using *custom data layers*. " "This can be useful to store information specific to your game, such as the " @@ -28434,7 +28860,7 @@ msgid "" "can be destroyed using a weapon." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:395 +#: ../../docs/tutorials/2d/using_tilesets.rst:376 msgid "" "The data is associated with the tile in the TileSet: all instances of the " "placed tile will use the same custom data. If you need to create a variant " @@ -28443,23 +28869,23 @@ msgid "" "changing the custom data for the alternative tile only." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:405 +#: ../../docs/tutorials/2d/using_tilesets.rst:386 msgid "" "Creating a custom data layer in the TileSet resource inspector (within the " "TileMap node)" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:411 +#: ../../docs/tutorials/2d/using_tilesets.rst:392 msgid "Example of configured custom data layers with game-specific properties" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:413 +#: ../../docs/tutorials/2d/using_tilesets.rst:394 msgid "" "You can reorder custom data without breaking existing metadata: the TileSet " "editor will update automatically after reordering custom data properties." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:416 +#: ../../docs/tutorials/2d/using_tilesets.rst:397 msgid "" "Note that in the editor, property names do not appear (only their index, " "which matches the order in which they are defined). For example, with the " @@ -28468,27 +28894,27 @@ msgid "" "metadata to ``false``:" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:426 +#: ../../docs/tutorials/2d/using_tilesets.rst:407 msgid "Editing custom data in the TileSet editor while in Select mode" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:428 +#: ../../docs/tutorials/2d/using_tilesets.rst:409 msgid "" ":ref:`Tile property painting " "` can also be used for " "custom data:" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:435 +#: ../../docs/tutorials/2d/using_tilesets.rst:416 msgid "" "Assigning custom data in the TileSet editor using tile property painting" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:440 +#: ../../docs/tutorials/2d/using_tilesets.rst:421 msgid "Creating terrain sets (autotiling)" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:444 +#: ../../docs/tutorials/2d/using_tilesets.rst:425 msgid "" "This functionality was implemented in a different form as *autotiling* in " "Godot 3.x. Terrains are essentially a more powerful replacement of " @@ -28496,7 +28922,7 @@ msgid "" "terrain to another, as a tile may define several terrains at once." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:449 +#: ../../docs/tutorials/2d/using_tilesets.rst:430 msgid "" "Unlike before, where autotiles were a specific kind of tiles, terrains are " "only a set of properties assigned to atlas tiles. These properties are then " @@ -28505,7 +28931,7 @@ msgid "" "painted as terrain or as a single tile, like any other." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:455 +#: ../../docs/tutorials/2d/using_tilesets.rst:436 msgid "" "A \"polished\" tileset generally features variations that you should use on " "corners or edges of platforms, floors, etc. While these can be placed " @@ -28514,50 +28940,50 @@ msgid "" "code." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:460 +#: ../../docs/tutorials/2d/using_tilesets.rst:441 msgid "" "Godot offers *terrains* to perform this kind of tile connections " "automatically. This allows you to have the \"correct\" tile variants " "automatically used." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:463 +#: ../../docs/tutorials/2d/using_tilesets.rst:444 msgid "" "Terrains are grouped into terrain sets. Each terrain set is assigned a mode " "from **Match Corners and Sides**, **Match Corners** and **Match sides**. " "They define how terrains are matched to each other in a terrain set." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:469 +#: ../../docs/tutorials/2d/using_tilesets.rst:450 msgid "" "The above modes correspond to the previous bitmask modes autotiles used in " "Godot 3.x: 2×2, 3×3 or 3×3 minimal. This is also similar to what the `Tiled " "`__ editor features." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:473 +#: ../../docs/tutorials/2d/using_tilesets.rst:454 msgid "" "Select the TileMap node, go to the inspector and create a new terrain set " "within the TileSet *resource*:" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:479 +#: ../../docs/tutorials/2d/using_tilesets.rst:460 msgid "" "Creating a terrain set in the TileSet resource inspector (within the TileMap " "node)" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:481 +#: ../../docs/tutorials/2d/using_tilesets.rst:462 msgid "" "After creating a terrain set, you **must** create one or more terrains " "*within* the terrain set:" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:487 +#: ../../docs/tutorials/2d/using_tilesets.rst:468 msgid "Creating a terrain within the terrain set" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:489 +#: ../../docs/tutorials/2d/using_tilesets.rst:470 msgid "" "In the TileSet editor, switch to Select mode and click a tile. In the middle " "column, unfold the **Terrains** section then assign a terrain set ID and a " @@ -28566,18 +28992,18 @@ msgid "" "set **Terrain** to ``0`` or greater." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:497 +#: ../../docs/tutorials/2d/using_tilesets.rst:478 msgid "" "Terrain set IDs and terrain IDs are independent from each other. They also " "start from ``0``, not ``1``." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:504 +#: ../../docs/tutorials/2d/using_tilesets.rst:485 msgid "" "Configuring terrain on a single tile in the TileSet editor's Select mode" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:506 +#: ../../docs/tutorials/2d/using_tilesets.rst:487 msgid "" "After doing so, you can now configure the **Terrain Peering Bits** section " "which becomes visible in the middle column. The peering bits determine which " @@ -28585,7 +29011,7 @@ msgid "" "value which refers to empty space." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:511 +#: ../../docs/tutorials/2d/using_tilesets.rst:492 msgid "" "For example, if a tile has all its bits set to ``0`` or greater, it will " "only appear if *all* 8 neighboring tiles are using a tile with the same " @@ -28594,47 +29020,47 @@ msgid "" "is empty space on top of it (including diagonally)." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:521 +#: ../../docs/tutorials/2d/using_tilesets.rst:502 msgid "" "Configuring terrain peering bits on a single tile in the TileSet editor's " "Select mode" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:523 +#: ../../docs/tutorials/2d/using_tilesets.rst:504 msgid "An example configuration for a full tilesheet may look as follows:" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:529 +#: ../../docs/tutorials/2d/using_tilesets.rst:510 msgid "Example full tilesheet for a sidescrolling game" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:535 +#: ../../docs/tutorials/2d/using_tilesets.rst:516 msgid "" "Example full tilesheet for a sidescrolling game with terrain peering bits " "visible" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:540 +#: ../../docs/tutorials/2d/using_tilesets.rst:521 msgid "Assigning properties to multiple tiles at once" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:542 +#: ../../docs/tutorials/2d/using_tilesets.rst:523 msgid "" "There are two ways to assign properties to multiple tiles at once. Depending " "on your use cases, one method may be faster than the other:" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:546 +#: ../../docs/tutorials/2d/using_tilesets.rst:527 msgid "Using multiple tile selection" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:548 +#: ../../docs/tutorials/2d/using_tilesets.rst:529 msgid "" "If you wish to configure various properties on several times at once, choose " "the **Select** mode at the top of the TileSet editor:" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:551 +#: ../../docs/tutorials/2d/using_tilesets.rst:532 msgid "" "After doing this, you can select multiple tiles on the right column by " "holding :kbd:`Shift` then clicking on tiles. You can also perform rectangle " @@ -28644,7 +29070,7 @@ msgid "" "selected tile." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:557 +#: ../../docs/tutorials/2d/using_tilesets.rst:538 msgid "" "You can then assign properties using the inspector in the middle column of " "the TileSet editor. Only properties that you change here will be applied to " @@ -28652,53 +29078,53 @@ msgid "" "on selected tiles will remain different until you edit them." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:562 +#: ../../docs/tutorials/2d/using_tilesets.rst:543 msgid "" "With numerical and color properties, you will also see a preview of the " "property's value on all tiles in the atlas after editing a property:" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:569 +#: ../../docs/tutorials/2d/using_tilesets.rst:550 msgid "" "Selecting multiple tiles using the Select mode, then applying properties" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:574 +#: ../../docs/tutorials/2d/using_tilesets.rst:555 msgid "Using tile property painting" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:576 +#: ../../docs/tutorials/2d/using_tilesets.rst:557 msgid "" "If you wish to apply a single property to several tiles at once, you can use " "the *property painting* mode for this purpose." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:579 +#: ../../docs/tutorials/2d/using_tilesets.rst:560 msgid "" "Configure a property to be painted in the middle column, then click on tiles " "(or hold down the left mouse button) in the right column to \"paint\" " "properties onto tiles." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:587 +#: ../../docs/tutorials/2d/using_tilesets.rst:568 msgid "Painting tile properties using the TileSet editor" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:589 +#: ../../docs/tutorials/2d/using_tilesets.rst:570 msgid "" "Tile property painting is especially useful with properties that are time-" "consuming to set manually, such as collision shapes:" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:596 +#: ../../docs/tutorials/2d/using_tilesets.rst:577 msgid "Painting a collision polygon, then left-clicking tiles to apply it" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:601 +#: ../../docs/tutorials/2d/using_tilesets.rst:582 msgid "Creating alternative tiles" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:603 +#: ../../docs/tutorials/2d/using_tilesets.rst:584 msgid "" "Sometimes, you want to use a single tile image (found only once within the " "atlas), but configured in different ways. For example, you may want to use " @@ -28706,26 +29132,26 @@ msgid "" "color. This can be done using *alternative tiles*." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:610 +#: ../../docs/tutorials/2d/using_tilesets.rst:591 msgid "" "Since Godot 4.2, you don't have to create alternative tiles to rotate or " "flip tiles anymore. You can rotate any tile while placing it in the TileMap " "editor by using the rotation/flip buttons in the TileMap editor toolbar." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:615 +#: ../../docs/tutorials/2d/using_tilesets.rst:596 msgid "" "To create an alternative tile, right-click a base tile in the atlas " "displayed by the TileSet editor, then choose **Create an Alternative Tile**:" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:622 +#: ../../docs/tutorials/2d/using_tilesets.rst:603 msgid "" "Creating an alternative tile by right-clicking a base tile in the TileSet " "editor" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:624 +#: ../../docs/tutorials/2d/using_tilesets.rst:605 msgid "" "If currently in Select mode, the alternative tile will already be selected " "for editing. If not currently in Select mode, you can still create " @@ -28733,25 +29159,25 @@ msgid "" "alternative tile to edit it." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:629 +#: ../../docs/tutorials/2d/using_tilesets.rst:610 msgid "" "If you don't see the alternative tile, pan over to the right of the atlas " "image, as alternative tiles always appear on the right of base tiles of a " "given atlas in the TileSet editor:" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:637 +#: ../../docs/tutorials/2d/using_tilesets.rst:618 msgid "Configuring an alternative tile after clicking it in the TileSet editor" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:639 +#: ../../docs/tutorials/2d/using_tilesets.rst:620 msgid "" "After selecting an alternative tile, you can change any properties using the " "middle column like you would on a base tile. However, the list of exposed " "properties is different compared to base tiles:" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:643 +#: ../../docs/tutorials/2d/using_tilesets.rst:624 msgid "" "**Alternative ID:** The unique numerical identifier for this alternative " "tile. Changing it will break existing TileMaps, so be careful! This ID also " @@ -28759,15 +29185,15 @@ msgid "" "editor." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:646 +#: ../../docs/tutorials/2d/using_tilesets.rst:627 msgid "**Rendering > Flip H:** If ``true``, the tile is horizontally flipped." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:647 +#: ../../docs/tutorials/2d/using_tilesets.rst:628 msgid "**Rendering > Flip V:** If ``true``, the tile is vertically flipped." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:648 +#: ../../docs/tutorials/2d/using_tilesets.rst:629 msgid "" "**Rendering > Transpose:** If ``true``, the tile is rotated 90 degrees " "*counter-clockwise* and then flipped vertically. In practice, this means " @@ -28777,31 +29203,31 @@ msgid "" "clockwise, enable **Flip V** and **Transpose**." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:654 +#: ../../docs/tutorials/2d/using_tilesets.rst:635 msgid "" "**Rendering > Texture Origin:** The origin to use for drawing the tile. This " "can be used to visually offset the tile compared to the base tile." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:656 +#: ../../docs/tutorials/2d/using_tilesets.rst:637 msgid "" "**Rendering > Modulate:** The color multiplier to use when rendering the " "tile." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:657 +#: ../../docs/tutorials/2d/using_tilesets.rst:638 msgid "" "**Rendering > Material:** The material to use for this tile. This can be " "used to apply a different blend mode or custom shaders to a single tile." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:659 +#: ../../docs/tutorials/2d/using_tilesets.rst:640 msgid "" "**Z Index:** The sorting order for this tile. Higher values will make the " "tile render in front of others on the same layer." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:661 +#: ../../docs/tutorials/2d/using_tilesets.rst:642 msgid "" "**Y Sort Origin:** The vertical offset to use for tile sorting based on its " "Y coordinate (in pixels). This allows using layers as if they were on " @@ -28810,7 +29236,7 @@ msgid "" "``true`` on the TileMap layer the tile is placed on." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:667 +#: ../../docs/tutorials/2d/using_tilesets.rst:648 msgid "" "You can create an additional alternative tile variant by clicking the large " "\"+\" icon next to the alternative tile. This is equivalent to selecting the " @@ -28818,7 +29244,7 @@ msgid "" "again." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:673 +#: ../../docs/tutorials/2d/using_tilesets.rst:654 msgid "" "When creating an alternative tile, none of the properties from the base tile " "are inherited. You must set properties again on the alternative tile if you " @@ -30640,7 +31066,7 @@ msgstr "" #: ../../docs/tutorials/3d/procedural_geometry/arraymesh.rst:37 #: ../../docs/tutorials/io/binary_serialization_api.rst:47 #: ../../docs/tutorials/io/binary_serialization_api.rst:494 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:838 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:844 #: ../../docs/tutorials/xr/xr_action_map.rst:116 #: ../../docs/tutorials/xr/xr_action_map.rst:188 msgid "1" @@ -32127,7 +32553,7 @@ msgid "" msgstr "" #: ../../docs/tutorials/3d/standard_material_3d.rst:206 -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:88 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:90 msgid "" "By default, Blender has backface culling disabled on materials and will " "export materials to match how they render in Blender. This means that " @@ -35254,11 +35680,24 @@ msgid "" "running at ``10`` FPS appears as smooth as running at ``60``." msgstr "" -#: ../../docs/tutorials/3d/particles/properties.rst:119 +#: ../../docs/tutorials/3d/particles/properties.rst:118 +msgid "" +"When using :ref:`particle collision `, tunneling " +"can occur if the particles move fast and colliders are thin. This can be " +"remedied by increasing ``Fixed FPS`` (at a performance cost)." +msgstr "" + +#: ../../docs/tutorials/3d/particles/properties.rst:125 msgid "Collision properties" msgstr "" -#: ../../docs/tutorials/3d/particles/properties.rst:121 +#: ../../docs/tutorials/3d/particles/properties.rst:129 +msgid "" +"Setting up particle collision requires following further steps described in :" +"ref:`doc_3d_particles_collision`." +msgstr "" + +#: ../../docs/tutorials/3d/particles/properties.rst:132 msgid "" "The ``Base Size`` property defines each particle's default collision size, " "which is used to check whether a particle is currently colliding with the " @@ -35268,7 +35707,7 @@ msgid "" "collision geometry." msgstr "" -#: ../../docs/tutorials/3d/particles/properties.rst:130 +#: ../../docs/tutorials/3d/particles/properties.rst:141 msgid "Drawing properties" msgstr "" @@ -35276,7 +35715,7 @@ msgstr "" msgid "Particle drawing properties" msgstr "" -#: ../../docs/tutorials/3d/particles/properties.rst:136 +#: ../../docs/tutorials/3d/particles/properties.rst:147 msgid "" "The ``Visibility AABB`` property defines a box around the particle system's " "origin. As long as any part of this box is in the camera's field of view, " @@ -35285,15 +35724,16 @@ msgid "" "property to boost performance by keeping the box as small as possible." msgstr "" -#: ../../docs/tutorials/3d/particles/properties.rst:142 +#: ../../docs/tutorials/3d/particles/properties.rst:153 msgid "" "One thing to keep in mind when you set a size for the ``Visibility AABB`` is " "that particles that are outside of its bounds disappear instantly when it " -"leaves the camera's field of view. This, while not technically a bug, can " -"have a negative effect on the visual experience." +"leaves the camera's field of view. Particle collision will also not occur " +"outside the ``Visibility AABB``. While not technically a bug, this can have " +"a negative effect on the visual experience." msgstr "" -#: ../../docs/tutorials/3d/particles/properties.rst:146 +#: ../../docs/tutorials/3d/particles/properties.rst:158 msgid "" "When the ``Local Coords`` property is checked, all particle calculations use " "the local coordinate system to determine things like up and down, gravity, " @@ -35303,11 +35743,11 @@ msgid "" "world space, regardless of the particle system's rotation." msgstr "" -#: ../../docs/tutorials/3d/particles/properties.rst:154 +#: ../../docs/tutorials/3d/particles/properties.rst:166 msgid "Local space coordinates (left) vs. world space coordinates (right)" msgstr "" -#: ../../docs/tutorials/3d/particles/properties.rst:156 +#: ../../docs/tutorials/3d/particles/properties.rst:168 msgid "" "The ``Draw Order`` property controls the order in which individual particles " "are drawn. ``Index`` means that they are drawn in the order of emission: " @@ -35318,7 +35758,7 @@ msgid "" "camera: The ones closer to the camera on top of those farther away." msgstr "" -#: ../../docs/tutorials/3d/particles/properties.rst:163 +#: ../../docs/tutorials/3d/particles/properties.rst:175 msgid "" "The ``Transform Align`` property controls the particle's default rotation. " "``Disabled`` means they don't align in any particular way. Instead, their " @@ -35333,32 +35773,32 @@ msgid "" "velocity." msgstr "" -#: ../../docs/tutorials/3d/particles/properties.rst:175 +#: ../../docs/tutorials/3d/particles/properties.rst:187 msgid "Trail properties" msgstr "" -#: ../../docs/tutorials/3d/particles/properties.rst:181 +#: ../../docs/tutorials/3d/particles/properties.rst:193 #: ../../docs/tutorials/3d/particles/trails.rst:None msgid "Particle trails" msgstr "" -#: ../../docs/tutorials/3d/particles/properties.rst:181 +#: ../../docs/tutorials/3d/particles/properties.rst:193 msgid "Particle trail properties" msgstr "" -#: ../../docs/tutorials/3d/particles/properties.rst:183 +#: ../../docs/tutorials/3d/particles/properties.rst:195 msgid "" "The ``Enabled`` property controls whether particles are rendered as trails. " "The box needs to be checked if you want to make use of particle trails." msgstr "" -#: ../../docs/tutorials/3d/particles/properties.rst:186 +#: ../../docs/tutorials/3d/particles/properties.rst:198 msgid "" "The ``Length Secs`` property controls for how long a trail should be " "emitted. The longer this duration is, the longer the trail will be." msgstr "" -#: ../../docs/tutorials/3d/particles/properties.rst:189 +#: ../../docs/tutorials/3d/particles/properties.rst:201 msgid "" "See the :ref:`Particle trails ` section in this " "manual for a detailed explanation of how particle trails work and how to set " @@ -36615,7 +37055,7 @@ msgid "" msgstr "" #: ../../docs/tutorials/3d/particles/attractors.rst:25 -#: ../../docs/tutorials/3d/particles/collision.rst:19 +#: ../../docs/tutorials/3d/particles/collision.rst:15 msgid "Common properties" msgstr "" @@ -36894,25 +37334,21 @@ msgid "" "`class_GPUParticlesCollisionHeightField3D`." msgstr "" -#: ../../docs/tutorials/3d/particles/collision.rst:16 -msgid "GPU Particle collision is not yet implemented for 2D particle systems." -msgstr "" - -#: ../../docs/tutorials/3d/particles/collision.rst:25 +#: ../../docs/tutorials/3d/particles/collision.rst:21 msgid "Common particle collision properties" msgstr "" -#: ../../docs/tutorials/3d/particles/collision.rst:25 +#: ../../docs/tutorials/3d/particles/collision.rst:21 msgid "Common collision properties" msgstr "" -#: ../../docs/tutorials/3d/particles/collision.rst:27 +#: ../../docs/tutorials/3d/particles/collision.rst:23 msgid "" "There are some properties that you can find on all collision nodes. They're " "located in the ``GPUParticlesCollision3D`` section in the inspector." msgstr "" -#: ../../docs/tutorials/3d/particles/collision.rst:30 +#: ../../docs/tutorials/3d/particles/collision.rst:26 msgid "" "The ``Cull Mask`` property controls which particle systems are affected by a " "collision node based on each system's :ref:`visibility layers " @@ -36921,7 +37357,7 @@ msgid "" "collider's cull mask." msgstr "" -#: ../../docs/tutorials/3d/particles/collision.rst:37 +#: ../../docs/tutorials/3d/particles/collision.rst:33 msgid "" "There is a `known issue `_ with GPU particle collision that prevent the cull mask from " @@ -36929,19 +37365,19 @@ msgid "" "it is fixed." msgstr "" -#: ../../docs/tutorials/3d/particles/collision.rst:42 +#: ../../docs/tutorials/3d/particles/collision.rst:38 msgid "Box collision" msgstr "" -#: ../../docs/tutorials/3d/particles/collision.rst:48 +#: ../../docs/tutorials/3d/particles/collision.rst:44 msgid "Particle collision box" msgstr "" -#: ../../docs/tutorials/3d/particles/collision.rst:48 +#: ../../docs/tutorials/3d/particles/collision.rst:44 msgid "Box collision in the node list" msgstr "" -#: ../../docs/tutorials/3d/particles/collision.rst:50 +#: ../../docs/tutorials/3d/particles/collision.rst:46 msgid "" "Box collision nodes are shaped like a solid, rectangular box. You control " "their size with the ``Extents`` property. Box extents always measure half of " @@ -36950,7 +37386,7 @@ msgid "" "simulating floor and wall geometry that particles should collide against." msgstr "" -#: ../../docs/tutorials/3d/particles/collision.rst:55 +#: ../../docs/tutorials/3d/particles/collision.rst:51 msgid "" "To create a box collision node, add a new child node to your scene and " "select ``GPUParticlesCollisionBox3D`` from the list of available nodes. You " @@ -36958,27 +37394,27 @@ msgid "" "effects." msgstr "" -#: ../../docs/tutorials/3d/particles/collision.rst:62 +#: ../../docs/tutorials/3d/particles/collision.rst:58 msgid "Box collision with particle systems" msgstr "" -#: ../../docs/tutorials/3d/particles/collision.rst:62 +#: ../../docs/tutorials/3d/particles/collision.rst:58 msgid "Two particle systems collide with a box collision node" msgstr "" -#: ../../docs/tutorials/3d/particles/collision.rst:65 +#: ../../docs/tutorials/3d/particles/collision.rst:61 msgid "Sphere collision" msgstr "" -#: ../../docs/tutorials/3d/particles/collision.rst:71 +#: ../../docs/tutorials/3d/particles/collision.rst:67 msgid "Particle collision sphere" msgstr "" -#: ../../docs/tutorials/3d/particles/collision.rst:71 +#: ../../docs/tutorials/3d/particles/collision.rst:67 msgid "Sphere collision in the node list" msgstr "" -#: ../../docs/tutorials/3d/particles/collision.rst:73 +#: ../../docs/tutorials/3d/particles/collision.rst:69 msgid "" "Sphere collision nodes are shaped like a solid sphere. The ``Radius`` " "property controls the size of the sphere. While box collision nodes don't " @@ -36987,7 +37423,7 @@ msgid "" "``Scale`` property in the ``Node3D`` section." msgstr "" -#: ../../docs/tutorials/3d/particles/collision.rst:78 +#: ../../docs/tutorials/3d/particles/collision.rst:74 msgid "" "To create a sphere collision node, add a new child node to your scene and " "select ``GPUParticlesCollisionSphere3D`` from the list of available nodes. " @@ -36995,27 +37431,27 @@ msgid "" "dynamic effects." msgstr "" -#: ../../docs/tutorials/3d/particles/collision.rst:85 +#: ../../docs/tutorials/3d/particles/collision.rst:81 msgid "Sphere collision with particle systems" msgstr "" -#: ../../docs/tutorials/3d/particles/collision.rst:85 +#: ../../docs/tutorials/3d/particles/collision.rst:81 msgid "Two particle systems collide with a sphere collision node" msgstr "" -#: ../../docs/tutorials/3d/particles/collision.rst:88 +#: ../../docs/tutorials/3d/particles/collision.rst:84 msgid "Height field collision" msgstr "" -#: ../../docs/tutorials/3d/particles/collision.rst:94 +#: ../../docs/tutorials/3d/particles/collision.rst:90 msgid "Particle collision height field" msgstr "" -#: ../../docs/tutorials/3d/particles/collision.rst:94 +#: ../../docs/tutorials/3d/particles/collision.rst:90 msgid "Height field collision in the node list" msgstr "" -#: ../../docs/tutorials/3d/particles/collision.rst:96 +#: ../../docs/tutorials/3d/particles/collision.rst:92 msgid "" "Height field particle collision is very useful for large outdoor areas that " "need to collide with particles. At runtime, the node creates a height field " @@ -37026,14 +37462,14 @@ msgid "" "density offer a wide range of performance adjustments." msgstr "" -#: ../../docs/tutorials/3d/particles/collision.rst:102 +#: ../../docs/tutorials/3d/particles/collision.rst:98 msgid "" "To create a height field collision node, add a new child node to your scene " "and select ``GPUParticlesCollisionHeightField3D`` from the list of available " "nodes." msgstr "" -#: ../../docs/tutorials/3d/particles/collision.rst:105 +#: ../../docs/tutorials/3d/particles/collision.rst:101 msgid "" "A height field collision node is shaped like a box. The ``Extents`` property " "controls its size. Extents always measure half of the sides of its bounds, " @@ -37042,7 +37478,7 @@ msgid "" "field creation." msgstr "" -#: ../../docs/tutorials/3d/particles/collision.rst:109 +#: ../../docs/tutorials/3d/particles/collision.rst:105 msgid "" "The ``Resolution`` property controls how detailed the height field is. A " "lower resolution performs faster at the cost of accuracy. If the height " @@ -37051,16 +37487,16 @@ msgid "" "ignore some smaller meshes completely." msgstr "" -#: ../../docs/tutorials/3d/particles/collision.rst:116 +#: ../../docs/tutorials/3d/particles/collision.rst:112 msgid "Height field resolutions" msgstr "" -#: ../../docs/tutorials/3d/particles/collision.rst:116 +#: ../../docs/tutorials/3d/particles/collision.rst:112 msgid "" "At low resolutions, height field collision misses some finer details (left)" msgstr "" -#: ../../docs/tutorials/3d/particles/collision.rst:118 +#: ../../docs/tutorials/3d/particles/collision.rst:114 msgid "" "The ``Update Mode`` property controls when the height field is recreated " "from the meshes within its bounds. Set it to ``When Moved`` to make it " @@ -37071,14 +37507,14 @@ msgid "" "only be used when necessary." msgstr "" -#: ../../docs/tutorials/3d/particles/collision.rst:126 +#: ../../docs/tutorials/3d/particles/collision.rst:122 msgid "" "It's important to remember that when ``Update Mode`` is set to ``When " "Moved``, it is the *height field node* whose movement triggers an update. " "The height field is not updated when one of the meshes inside it moves." msgstr "" -#: ../../docs/tutorials/3d/particles/collision.rst:129 +#: ../../docs/tutorials/3d/particles/collision.rst:125 msgid "" "The ``Follow Camera Enabled`` property makes the height field follow the " "current camera when enabled. It will update whenever the camera moves. This " @@ -37087,19 +37523,19 @@ msgid "" "sight or too far away." msgstr "" -#: ../../docs/tutorials/3d/particles/collision.rst:134 +#: ../../docs/tutorials/3d/particles/collision.rst:130 msgid "SDF collision" msgstr "" -#: ../../docs/tutorials/3d/particles/collision.rst:140 +#: ../../docs/tutorials/3d/particles/collision.rst:136 msgid "Particle collision SDF" msgstr "" -#: ../../docs/tutorials/3d/particles/collision.rst:140 +#: ../../docs/tutorials/3d/particles/collision.rst:136 msgid "SDF collision in the node list" msgstr "" -#: ../../docs/tutorials/3d/particles/collision.rst:142 +#: ../../docs/tutorials/3d/particles/collision.rst:138 msgid "" "SDF collision nodes create a `signed distance field ` must overlap with the collider's AABB. " +"If collisions appear to be not working despite colliders being set up, " +"generate an updated visibility AABB by selecting the GPUParticles3D node and " +"choosing **GPUParticles3D > Generate Visibility AABB…** at the top of the 3D " +"editor viewport." +msgstr "" + +#: ../../docs/tutorials/3d/particles/collision.rst:184 +msgid "" +"If the particles move fast and colliders are thin. There are two solutions " +"for this:" +msgstr "" + +#: ../../docs/tutorials/3d/particles/collision.rst:186 +msgid "" +"Make the colliders thicker. For instance, if particles cannot get below a " +"solid floor, you could make the collider representing the floor thicker than " +"its actual visual representation. The heightfield collider automatically " +"handles this by design, as heightfields cannot represent \"room over room\" " +"collision." +msgstr "" + +#: ../../docs/tutorials/3d/particles/collision.rst:191 +msgid "" +"Increased ``Fixed FPS`` in the GPUParticles3D node, which will perform " +"collision checks more often. This comes at a performance cost, so avoid " +"setting this too high." +msgstr "" + #: ../../docs/tutorials/3d/particles/complex_shapes.rst:4 #: ../../docs/tutorials/3d/particles/complex_shapes.rst:None msgid "Complex emission shapes" @@ -38166,7 +38634,6 @@ msgstr "" #: ../../docs/tutorials/3d/global_illumination/using_voxel_gi.rst:22 #: ../../docs/tutorials/3d/global_illumination/using_sdfgi.rst:31 #: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:43 -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:64 #: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:32 #: ../../docs/tutorials/3d/mesh_lod.rst:43 msgid "Visual comparison" @@ -38961,7 +39428,7 @@ msgid "" "corner." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:66 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:63 msgid "" "Here are some comparisons of how LightmapGI vs. VoxelGI look. Notice that " "lightmaps are more accurate, but also suffer from the fact that lighting is " @@ -38969,18 +39436,25 @@ msgid "" "VoxelGI looks less accurate (as it's an approximation), but smoother overall." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:74 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:71 msgid "" "SDFGI is also less accurate compared to LightmapGI. However, SDFGI can " "support large open worlds without any need for baking." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:78 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:75 #: ../../docs/tutorials/shaders/your_first_shader/your_first_3d_shader.rst:62 msgid "Setting up" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:80 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:79 +msgid "" +"Baking lightmaps in the Android and web editors is not supported due to " +"graphics API limitations on those devices. On Android and web platforms, " +"only *rendering* lightmaps that were baked on a desktop PC is supported." +msgstr "" + +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:83 msgid "" "First of all, before the lightmapper can do anything, the objects to be " "baked need a UV2 layer and a texture size. A UV2 layer is a set of secondary " @@ -38988,17 +39462,17 @@ msgid "" "the UV map. Faces must not share pixels in the texture." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:85 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:88 msgid "" "There are a few ways to ensure your object has a unique UV2 layer and " "texture size:" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:88 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:91 msgid "Unwrap on scene import (recommended)" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:90 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:93 msgid "" "In most scenarios, this is the best approach to use. The only downside is " "that, on large models, unwrapping can take a while on import. Nonetheless, " @@ -39006,19 +39480,19 @@ msgid "" "when needed." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:94 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:97 msgid "" "Select the imported scene in the filesystem dock, then go to the **Import** " "dock. There, the following option can be modified:" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:99 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:102 msgid "" "The **Meshes > Light Baking** option must be set to **Static Lightmaps " "(VoxelGI/SDFGI/LightmapGI)**:" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:103 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:106 msgid "" "When unwrapping on import, you can adjust the texture size using the " "**Meshes > Lightmap Texel Size** option. *Lower* values will result in more " @@ -39031,13 +39505,13 @@ msgid "" "accurately represented)." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:112 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:115 msgid "" "The effect of setting this option is that all meshes within the scene will " "have their UV2 maps properly generated." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:117 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:120 msgid "" "When reusing a mesh within a scene, keep in mind that UVs will be generated " "for the first instance found. If the mesh is re-used with different scales " @@ -39048,41 +39522,41 @@ msgid "" "MeshInstance3D nodes (but not decrease it)." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:125 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:128 msgid "" "Also, the ``*.unwrap_cache`` files should *not* be ignored in version " "control as these files guarantee that UV2 reimports are consistent across " "platforms and engine versions." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:130 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:133 msgid "Unwrap from within Godot" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:134 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:137 msgid "" "If this Mesh menu operation is used on an imported 3D scene, the generated " "UV2 will be lost when the scene is reloaded." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:137 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:140 msgid "" "Godot has an option to unwrap meshes and visualize the UV channels. After " "selecting a MeshInstance3D node, it can be found in the **Mesh** menu at the " "top of the 3D editor viewport:" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:143 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:146 msgid "" "This will generate a second set of UV2 coordinates which can be used for " "baking. It will also set the texture size automatically." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:147 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:150 msgid "Unwrap from your 3D modeling software" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:149 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:152 msgid "" "The last option is to do it from your favorite 3D app. This approach is " "generally **not recommended**, but it's explained so that you know it " @@ -39091,17 +39565,17 @@ msgid "" "Godot, so having it unwrapped before import can be faster." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:155 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:158 msgid "Simply do an unwrap on the second UV2 layer." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:159 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:162 msgid "" "Then import the 3D scene normally. Remember you will need to set the texture " "size on the mesh after import." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:164 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:167 msgid "" "If you use external meshes on import, the size will be kept. Be wary that " "most unwrappers in 3D modeling software are not quality-oriented, as they " @@ -39109,17 +39583,17 @@ msgid "" "techniques to create better unwrapping." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:170 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:173 msgid "Generating UV2 for primitive meshes" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:174 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:177 msgid "" "This option is only available for primitive meshes such as :ref:" "`class_BoxMesh`, :ref:`class_CylinderMesh`, :ref:`class_PlaneMesh`, etc." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:177 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:180 msgid "" "Enabling UV2 on primitive meshes allows you to make them receive and " "contribute to baked lighting. This can be used in certain lighting setups. " @@ -39127,7 +39601,7 @@ msgid "" "baking lightmaps to create an area light that follows the shape of a torus." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:182 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:185 msgid "" "By default, primitive meshes do not have UV2 generated to save resources (as " "these meshes may be created during gameplay). You can edit a primitive mesh " @@ -39138,7 +39612,7 @@ msgid "" "you may have to increase **UV2 Padding**." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:190 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:193 msgid "" "**Lightmap Size Hint** represents the size taken by a single mesh on the " "lightmap texture, which varies depending on the mesh's size properties and " @@ -39146,30 +39620,30 @@ msgid "" "changed, as any modifications will be lost when the scene is reloaded." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:196 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:199 msgid "Checking UV2" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:198 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:201 msgid "" "In the **Mesh** menu mentioned before, the UV2 texture coordinates can be " "visualized. If something is failing, double-check that the meshes have these " "UV2 coordinates:" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:204 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:207 #: ../../docs/tutorials/shaders/using_viewport_as_texture.rst:31 msgid "Setting up the scene" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:206 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:209 msgid "" "Before anything is done, a **LightmapGI** node needs to be added to a scene. " "This will enable light baking on all nodes (and sub-nodes) in that scene, " "even on instanced scenes." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:212 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:215 msgid "" "A sub-scene can be instanced several times, as this is supported by the " "baker. Each instance will be assigned a lightmap of its own. To avoid issues " @@ -39177,84 +39651,84 @@ msgid "" "about mesh scaling mentioned before." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:218 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:221 msgid "Setting up meshes" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:220 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:223 msgid "" "For a **MeshInstance3D** node to take part in the baking process, it needs " "to have its bake mode set to **Static**. Meshes that have their bake mode " "set to **Disabled** or **Dynamic** will be ignored by the lightmapper." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:226 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:229 msgid "" "When auto-generating lightmaps on scene import, this is enabled " "automatically." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:229 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:232 msgid "Setting up lights" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:231 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:234 msgid "" "Lights are baked with indirect light only by default. This means that " "shadowmapping and lighting are still dynamic and affect moving objects, but " "light bounces from that light will be baked." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:235 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:238 msgid "" "Lights can be disabled (no bake) or be fully baked (direct and indirect). " "This can be controlled from the **Bake Mode** menu in lights:" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:240 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:243 msgid "The modes are:" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:243 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:246 msgid "Disabled" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:245 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:248 msgid "" "The light is ignored when baking lightmaps. This is the mode to use for " "dynamic lighting effects such as explosions and weapon effects." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:250 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:253 msgid "" "Hiding a light has no effect on the resulting lightmap bake. This means you " "must use the Disabled bake mode instead of hiding the Light node by " "disabling its **Visible** property." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:255 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:258 msgid "Dynamic" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:257 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:260 msgid "" "This is the default mode, and is a compromise between performance and real-" "time friendliness. Only indirect lighting will be baked. Direct light and " "shadows are still real-time, as they would be without LightmapGI." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:261 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:264 msgid "" "This mode allows performing *subtle* changes to a light's color, energy and " "position while still looking fairly correct. For example, you can use this " "to create flickering static torches that have their indirect light baked." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:266 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:269 msgid "Static" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:268 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:271 msgid "" "Both indirect and direct lighting will be baked. Since static surfaces can " "skip lighting and shadow computations entirely, this mode provides the best " @@ -39266,13 +39740,13 @@ msgid "" "implemented with a Decal node." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:277 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:280 msgid "" "The light will not be adjustable at all during gameplay. Moving the light or " "changing its color (or energy) will not have any effect on static surfaces." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:280 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:283 msgid "" "Since bake modes can be adjusted on a per-light basis, it is possible to " "create hybrid baked light setups. One popular option is to use a real-time " @@ -39282,7 +39756,7 @@ msgid "" "in outdoor areas." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:286 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:289 msgid "" "Fully baked lights can also make use of light nodes' **Size** (omni/spot) or " "**Angular Distance** (directional) properties. This allows for shadows with " @@ -39292,23 +39766,23 @@ msgid "" "rendered on them." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:296 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:299 msgid "Baking" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:298 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:301 msgid "" "To begin the bake process, click the **Bake Lightmaps** button at the top of " "the 3D editor viewport when selecting the LightmapGI node:" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:303 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:306 msgid "" "This can take from seconds to minutes (or hours) depending on scene size, " "bake method and quality selected." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:308 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:311 msgid "" "Baking lightmaps is a process that can require a lot of video memory, " "especially if the resulting texture is large. Due to internal limitations, " @@ -39316,17 +39790,17 @@ msgid "" "on systems with a lot of video memory)." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:313 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:316 msgid "" "To avoid crashes, make sure the lightmap texel size in the Import dock is " "set to a high enough value." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:317 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:320 msgid "Tweaks" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:319 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:322 msgid "" "**Quality:** Four bake quality modes are provided: Low, Medium, High, and " "Ultra. Higher quality takes more time, but result in a better-looking " @@ -39335,7 +39809,7 @@ msgid "" "quality mode can be further adjusted in the Project Settings." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:324 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:327 msgid "" "**Bounces:** The number of bounces to use for indirect lighting. The default " "value (``3``) is a good compromise between bake times and quality. Higher " @@ -39344,7 +39818,7 @@ msgid "" "materials and geometry)." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:329 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:332 msgid "" "**Bounce Indirect Energy:** The global multiplier to use when baking lights' " "indirect energy. This multiplies each light's own **Indirect Energy** value. " @@ -39352,7 +39826,7 @@ msgid "" "for artistic effect." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:333 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:336 msgid "" "**Directional:** If enabled, stores directional information for lightmaps. " "This improves normal mapped materials' appearance for baked surfaces, " @@ -39362,13 +39836,13 @@ msgid "" "larger file sizes." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:338 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:341 msgid "" "**Interior:** If enabled, environment lighting will not be sourced. Use this " "for purely indoor scenes to avoid light leaks." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:340 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:343 msgid "" "**Use Texture for Bounces:** If enabled, a texture with the lighting " "information will be generated to speed up the generation of indirect " @@ -39377,7 +39851,7 @@ msgid "" "the lightmap significantly across surfaces. Leave this enabled if unsure." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:345 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:348 msgid "" "**Use Denoiser:** If enabled, uses a denoising algorithm to make the " "lightmap significantly less noisy. This increases bake times and can " @@ -39385,7 +39859,7 @@ msgid "" "`doc_using_lightmap_gi_denoising` for more information." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:349 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:352 msgid "" "**Denoiser Strength:** The strength of denoising step applied to the " "generated lightmaps. Higher values are more effective at removing noise, but " @@ -39395,7 +39869,7 @@ msgid "" "strength setting)." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:354 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:357 msgid "" "**Bias:** The offset value to use for shadows in 3D units. You generally " "don't need to change this value, except if you run into issues with light " @@ -39404,7 +39878,7 @@ msgid "" "**Dynamic** bake mode)." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:358 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:361 msgid "" "**Max Texture Size:** The maximum texture size for the generated texture " "atlas. Higher values will result in fewer slices being generated, but may " @@ -39412,7 +39886,7 @@ msgid "" "sizes. Leave this at its default value of ``16384`` if unsure." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:362 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:365 msgid "" "**Environment > Mode:** Controls how environment lighting is sourced when " "baking lightmaps. The default value of **Scene** is suited for levels with " @@ -39422,20 +39896,20 @@ msgid "" "actual scene's environment sky." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:368 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:371 msgid "" "**Gen Probes > Subdiv:** See :ref:`doc_using_lightmap_gi_dynamic_objects`." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:369 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:372 msgid "**Data > Light Data:** See :ref:`doc_using_lightmap_gi_data`." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:372 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:375 msgid "Balancing bake times with quality" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:374 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:377 msgid "" "Since high-quality bakes can take very long (up to dozens of minutes for " "large complex scenes), it is recommended to use lower quality settings at " @@ -39444,7 +39918,7 @@ msgid "" "project." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:379 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:382 msgid "" "Reducing the lightmap resolution by increasing **Lightmap Texel Size** on " "the imported 3D scenes will also speed up baking significantly. However, " @@ -39452,11 +39926,11 @@ msgid "" "bake lightmaps again." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:387 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:390 msgid "Denoising" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:389 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:392 msgid "" "Since baking lightmaps relies on raytracing, there will always be visible " "noise in the \"raw\" baked lightmap. Noise is especially visible in areas " @@ -39465,17 +39939,17 @@ msgid "" "increasing bake quality, but doing so will increase bake times significantly." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:399 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:402 msgid "Comparison between denoising disabled and enabled" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:399 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:402 msgid "" "Comparison between denoising disabled and enabled (with the default JNLM " "denoiser)." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:401 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:404 msgid "" "To combat noise without increasing bake times too much, a denoiser can be " "used. A denoiser is an algorithm that runs on the final baked lightmap, " @@ -39483,11 +39957,11 @@ msgid "" "detail. Godot offers two denoising algorithms:" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:407 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:410 msgid "JNLM (Non-Local Means with Joint Filtering)" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:409 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:412 msgid "" "JNLM is the default denoising method and is included in Godot. It uses a " "simple but efficient denoising algorithm known as *non-local means*. JNLM " @@ -39496,7 +39970,7 @@ msgid "" "required." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:414 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:417 msgid "" "JNLM's denoising can be adjusted using the **Denoiser Strength** property " "that is visible when **Use Denoiser** enabled. Higher values can be more " @@ -39504,39 +39978,39 @@ msgid "" "static shadows." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:422 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:425 msgid "Comparison between JNLM denoiser strength values" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:422 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:425 msgid "" "Comparison between JNLM denoiser strength values. Higher values can reduce " "detail." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:425 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:428 msgid "OIDN (Open Image Denoise)" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:427 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:430 msgid "" "Unlike JNLM, OIDN uses a machine learning approach to denoising lightmaps. " "It features a model specifically trained to remove noise from lightmaps " "while preserving more shadow detail in most scenes compared to JNLM." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:431 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:434 msgid "" "OIDN can run on the GPU if hardware acceleration is configured. With a " "modern high-end GPU, this can provide a speedup of over 50× over CPU-based " "denoising:" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:434 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:437 msgid "On AMD GPUs, HIP must be installed and configured." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:435 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:438 msgid "" "On NVIDIA GPUs, CUDA must be installed and configured. This may " "automatically be done by the NVIDIA installer, but on Linux, CUDA libraries " @@ -39544,11 +40018,11 @@ msgid "" "your Linux distribution are installed." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:439 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:442 msgid "On Intel GPUs, SYCL must be installed and configured." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:441 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:444 msgid "" "If hardware acceleration is not available, OIDN will fall back to " "multithreaded CPU-based denoising. To confirm whether GPU-based denoising is " @@ -39558,7 +40032,7 @@ msgid "" "useful for this." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:447 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:450 msgid "" "OIDN is not included with Godot due to its relatively large download size. " "You can download precompiled OIDN binary packages from its `website " @@ -39577,7 +40051,7 @@ msgid "" "on this project after the setting is changed." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:462 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:465 msgid "" "The denoising method is configured in the project settings instead of the " "editor settings. This is done so that different team members working on the " @@ -39585,28 +40059,28 @@ msgid "" "consistent results." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:471 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:474 msgid "Comparison between JNLM and OIDN denoisers" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:471 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:474 msgid "" "Comparison between JNLM and OIDN denoisers. Notice how OIDN better preserves " "detail and reduces seams across different objects." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:477 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:480 msgid "Dynamic objects" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:479 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:482 msgid "" "Unlike VoxelGI and SDFGI, dynamic objects receive indirect lighting " "differently compared to static objects. This is because lightmapping is only " "performed on static objects." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:483 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:486 msgid "" "To display indirect lighting on dynamic objects, a 3D probe system is used, " "with light probes being spread throughout the scene. When baking lightmaps, " @@ -39616,11 +40090,11 @@ msgid "" "be lit in real-time)." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:490 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:493 msgid "There are 2 ways to add light probes to a scene:" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:492 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:495 msgid "" "**Automatic:** Set **Gen Probes > Subdiv** to a value other than " "**Disabled**, then bake lightmaps. The default is ``8``, but you can choose " @@ -39628,7 +40102,7 @@ msgid "" "larger output file size." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:496 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:499 msgid "" "**Manual:** In addition or as an alternative to generating probes " "automatically, you can add light probes manually by adding :ref:" @@ -39638,25 +40112,25 @@ msgid "" "them to be effective." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:504 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:507 msgid "" "After baking lightmaps, you will notice white spheres in the 3D scene that " "represent how baked lighting will affect dynamic objects. These spheres do " "**not** appear in the running project." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:508 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:511 msgid "" "If you want to hide these spheres in the editor, toggle **View > Gizmos > " "LightmapGI** at the top of the 3D editor (a \"closed eye\" icon indicates " "the gizmo is hidden)." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:515 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:518 msgid "Lightmap data" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:517 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:520 msgid "" "The **Data > Light Data** property in the LightmapGI node contains the " "lightmap data after baking. Textures are saved to disk, but this also " @@ -39666,18 +40140,18 @@ msgid "" "binary data encoded in Base64." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:526 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:529 msgid "" "The generated EXR file can be viewed and even edited using an image editor " "to perform post-processing if needed. However, keep in mind that changes to " "the EXR file will be lost when baking lightmaps again." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:531 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:534 msgid "Reducing LightmapGI artifacts" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:533 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:536 msgid "" "If you notice LightmapGI nodes popping in and out of existence as the camera " "moves, this is most likely because the engine is rendering too many " @@ -42218,8 +42692,8 @@ msgstr "" #: ../../docs/tutorials/3d/3d_antialiasing.rst:118 msgid "" "Since Godot 4.2, there is built-in support for `AMD FidelityFX Super " -"Resolution `__ 2.2. This is an :ref:`upscaling method " +"Resolution `__ 2.2. This is an :ref:`upscaling method " "` compatible with all recent GPUs from any vendor. " "FSR2 is normally designed to improve performance by lowering the internal 3D " "rendering resolution, then upscaling to the output resolution." @@ -51039,56 +51513,57 @@ msgstr "" #: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:21 msgid "" -"FBX, supported via `FBX2glTF `__ " -"integration. This requires installing an external program that links against " -"the proprietary FBX SDK, so we recommend using other formats listed above " -"(if suitable for your workflow)." +"FBX, supported via the `ufbx `__ library. The " +"previous import workflow used `FBX2glTF `__ integration. This requires installing an external program that " +"links against the proprietary FBX SDK, so we recommend using the default " +"ubfx method or other formats listed above (if suitable for your workflow)." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:25 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:27 msgid "" "Copy the scene file together with the textures and mesh data (if separate) " "to the project repository, then Godot will do a full import when focusing " "the editor window." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:30 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:32 msgid "Exporting glTF 2.0 files from Blender (recommended)" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:32 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:34 msgid "There are 3 ways to export glTF files from Blender:" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:34 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:36 msgid "As a glTF binary file (``.glb``)." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:35 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:37 msgid "As a glTF text-based file with embedded binary data (``.gltf`` file)" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:36 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:38 msgid "" "As a glTF text-based file with separate binary data and textures (``.gltf`` " "file + ``.bin`` file + textures)." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:39 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:41 msgid "" "glTF binary files (``.glb``) are the smallest of the three options. They " "include the mesh and textures set up in Blender. When brought into Godot the " "textures are part of the object's material file." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:43 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:45 msgid "" "glTF embedded files (``.gltf``) function the same way as binary files. They " "don't provide extra functionality in Godot, and shouldn't be used since they " "have a larger file size." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:47 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:49 msgid "" "There are two reasons to use glTF with the textures separate. One is to have " "the scene description in a text based format and the binary data in a " @@ -51098,7 +51573,7 @@ msgid "" "glTF binary files are fine." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:54 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:56 msgid "" "The glTF import process first loads the glTF file's data into an in-memory " "GLTFState class. This data is then used to generate a Godot scene. When " @@ -51113,7 +51588,7 @@ msgid "" "Godot" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:64 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:66 msgid "" "When importing glTF files in the editor, there are two more steps. After " "generating the Godot scene, the ResourceImporterScene class is used to apply " @@ -51126,7 +51601,7 @@ msgstr "" msgid "Diagram explaining the editor import process for glTF files in Godot" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:76 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:78 msgid "" "If your model contains blend shapes (also known as \"shape keys\" and " "\"morph targets\"), your glTF export setting **Export Deformation Bones " @@ -51134,29 +51609,29 @@ msgid "" "configurations." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:80 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:82 msgid "Exporting non-deforming bones anyway will lead to incorrect shading." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:84 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:86 msgid "" "Blender versions older than 3.2 do not export emissive textures with the " "glTF file. If your model uses one and you're using an older version of " "Blender, it must be brought in separately." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:96 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:98 msgid "Importing ``.blend`` files directly within Godot" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:100 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:102 msgid "" "This functionality requires Blender 3.0 or later. For best results, we " "recommend using Blender 3.5 or later, as it includes many fixes to the glTF " "exporter." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:104 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:106 msgid "" "It is **strongly** recommended to use an official Blender release downloaded " "from blender.org, as opposed to a Linux distribution package or Flatpak. " @@ -51164,14 +51639,14 @@ msgid "" "versions that can cause incompatibilities or sandboxing restrictions." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:109 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:111 msgid "" "From Godot 4.0 onwards, the editor can directly import ``.blend`` files by " "calling `Blender `__'s glTF export functionality " "in a transparent manner." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:113 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:115 msgid "" "This allows you to iterate on your 3D scenes faster, as you can save the " "scene in Blender, alt-tab back to Godot then see your changes immediately. " @@ -51179,7 +51654,7 @@ msgid "" "longer need to commit a copy of the exported glTF file to version control." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:118 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:120 msgid "" "To use ``.blend`` import, you must install Blender before opening the Godot " "editor (if opening a project that already contains ``.blend`` files). If you " @@ -51189,14 +51664,14 @@ msgid "" "(**Filesystem > Import > Blender > Blender 3 Path**)." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:125 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:127 msgid "" "If you keep ``.blend`` files within your project folder but don't want them " "to be imported by Godot, disable **Filesystem > Import > Blender > Enabled** " "in the advanced Project Settings." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:129 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:131 msgid "" "The ``.blend`` import process converts to glTF first, so it still uses " "Godot's glTF import code. Therefore, the ``.blend`` import process is the " @@ -51207,7 +51682,7 @@ msgstr "" msgid "Diagram explaining the import process for Blender files in Godot" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:139 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:141 msgid "" "When working in a team, keep in mind using ``.blend`` files in your project " "will require *all* team members to have Blender installed. While Blender is " @@ -51216,17 +51691,17 @@ msgid "" "these platforms can't call external programs." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:145 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:147 msgid "" "If this is problematic, consider using glTF scenes exported from Blender " "instead." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:149 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:151 msgid "Exporting DAE files from Blender" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:151 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:153 msgid "" "Blender has built-in COLLADA support, but it does not work properly for the " "needs of game engines and shouldn't be used as-is. However, scenes exported " @@ -51234,35 +51709,35 @@ msgid "" "animation." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:155 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:157 msgid "" "For complex scenes or scenes that contain animations, Godot provides a " "`Blender plugin `_ that " "will correctly export COLLADA scenes for use in Godot." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:160 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:162 msgid "Importing OBJ files in Godot" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:162 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:164 msgid "" "OBJ is one of the simplest 3D formats out there, so Godot should be able to " "import most OBJ files successfully. However, OBJ is also a very limited " "format: it doesn't support skinning, animation, UV2 or PBR materials." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:166 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:168 msgid "There are 2 ways to use OBJ meshes in Godot:" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:168 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:170 msgid "" "Load them directly in a MeshInstance3D node, or any other property that " "expects as mesh (such as GPUParticles3D). This is the default mode." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:170 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:172 msgid "" "Change their import mode to **OBJ as Scene** in the Import dock then restart " "the editor. This allows you to use the same import options as glTF or " @@ -51270,7 +51745,7 @@ msgid "" "`doc_using_lightmap_gi`)." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:176 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:178 msgid "" "Blender 3.4 and later can export RGB vertex colors in OBJ files (this is a " "nonstandard extension of the OBJ format). Godot is able to import those " @@ -51278,47 +51753,58 @@ msgid "" "material unless you enable **Vertex Color > Use As Albedo** on the material." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:181 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:183 msgid "" "Vertex colors from OBJ meshes keep their original color space once imported " "(sRGB/linear), but their brightness is clamped to 1.0 (they can't be " "overbright)." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:186 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:188 msgid "Importing FBX files in Godot" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:188 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:190 msgid "" -"When opening a project containing FBX scenes, you will see a dialog asking " -"you to configure FBX import. Click the link in the dialog to download an " -"FBX2glTF binary, then extract the ZIP archive, place the binary anywhere you " -"wish, then specify its path in the dialog." +"By default any FBX file added to a Godot project in Godot 4.3 or later will " +"use the ufbx import method. Any file that was was added to a project in a " +"previous version, such as 4.2, will continue to be imported via the FBX2glTF " +"method unless you go into that files import settings, and change the " +"importer to ``ufbx``." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:193 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:196 msgid "" "If you keep ``.fbx`` files within your project folder but don't want them to " "be imported by Godot, disable **Filesystem > Import > FBX > Enabled** in the " "advanced Project Settings." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:197 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:200 msgid "" -"The FBX import process converts to glTF first, so it still uses Godot's glTF " -"import code. Therefore, the FBX import process is the same as the glTF " +"If you want to setup the FBX2glTF workflow, which is generally not recommend " +"unless you have a specific reason to use it, you need to download the " +"`FBX2glTF `__ executable, then " +"specify the path to that executable in the editor settings under " +"**Filesystem > Import > FBX > FBX2glTFPath**" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:205 +msgid "" +"The FBX2glTF import process converts to glTF first, so it still uses Godot's " +"glTF import code. Therefore, the FBX import process is the same as the glTF " "import process, but with an extra step at the beginning." msgstr "" #: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:None -msgid "Diagram explaining the import process for FBX files in Godot" +msgid "" +"Diagram explaining the import process for FBX files in Godot via FBX2glTF" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:207 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:215 msgid "" -"The full installation process for using FBX in Godot is described on the " -"`FBX import page of the Godot website `__." msgstr "" @@ -51383,23 +51869,23 @@ msgid "" "While textures can be exported with a model in certain file formats, such as " "glTF 2.0, you can also export them separately. Godot uses PBR (physically " "based rendering) for its materials, so if a texturing program can export PBR " -"textures they can work in Godot. This includes the `Substance suite `__, `ArmorPaint (open source) `__, and `Material Maker (open source) `__." +"textures, they can work in Godot. This includes the `Substance suite " +"`__, `ArmorPaint (open " +"source) `__, and `Material Maker (open source) " +"`__." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/model_export_considerations.rst:45 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/model_export_considerations.rst:47 msgid "" "For more information on Godot's materials, see :ref:" "`doc_standard_material_3d`." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/model_export_considerations.rst:48 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/model_export_considerations.rst:50 msgid "Exporting considerations" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/model_export_considerations.rst:50 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/model_export_considerations.rst:52 msgid "" "Since GPUs can only render triangles, meshes that contain quads or N-gons " "have to be *triangulated* before they can be rendered. Godot can triangulate " @@ -51409,7 +51895,7 @@ msgid "" "whenever possible." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/model_export_considerations.rst:57 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/model_export_considerations.rst:59 msgid "" "To avoid issues with incorrect triangulation after importing in Godot, it is " "recommended to make the 3D modeling software triangulate objects on its own. " @@ -51419,31 +51905,31 @@ msgid "" "a **Triangulate Faces** option in the export dialog." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/model_export_considerations.rst:64 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/model_export_considerations.rst:66 msgid "" "To avoid issues with 3D selection in the editor, it is recommended to apply " "the object transform in the 3D modeling software before exporting the scene." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/model_export_considerations.rst:69 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/model_export_considerations.rst:71 msgid "" "It is important that the mesh is not deformed by bones when exporting. Make " "sure that the skeleton is reset to its T-pose or default rest pose before " "exporting with your favorite 3D editor." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/model_export_considerations.rst:74 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/model_export_considerations.rst:76 msgid "Lighting considerations" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/model_export_considerations.rst:76 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/model_export_considerations.rst:78 msgid "" "While it's possible to import lights from a 3D scene using the glTF, ``." "blend`` or Collada formats, it's generally advised to design the scene's " "lighting in the Godot editor after importing the scene." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/model_export_considerations.rst:80 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/model_export_considerations.rst:82 msgid "" "This allows you to get a more accurate feel for the final result, as " "different engines will render lights in a different manner. This also avoids " @@ -51947,11 +52433,40 @@ msgid "" "respectively." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:161 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:160 +msgid "**FBX**" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:162 +msgid "" +"**Importer** Which import method is used. ubfx handles fbx files as fbx " +"files. FBX2glTF converts FBX files to glTF on import and requires additonal " +"setup. FBX2glTF is not recommended unless you have a specific rason to use " +"it over ufbx or working with a different file format." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:166 +msgid "" +"**Allow Geometry Helper Nodes** enables or disables geometry helper nodes" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:167 +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:176 msgid "Using the Advanced Import Settings dialog" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:163 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:178 msgid "" "The first tab you'll see is the **Scene** tab. The options available in the " "panel on the right are identical to the Import dock, but you have access to " @@ -51959,51 +52474,51 @@ msgid "" "button then dragging the mouse. Zoom can be adjusted using the mouse wheel." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:172 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:187 msgid "Advanced Import Settings dialog (Scene tab)" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:172 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:187 msgid "" "Advanced Import Settings dialog (Scene tab). Credit: `Modern Arm Chair 01 - " "Poly Haven `__" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:175 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:190 msgid "**Configuring node import options**" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:177 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:192 msgid "" "You can select individual nodes that compose the scene while in the " "**Scene** tab using the tree view at the left:" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:184 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:199 msgid "Selecting a node in the Advanced Import Settings dialog (Scene tab)" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:184 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:199 msgid "Selecting a node in the Advanced Import Settings dialog (Materials tab)" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:186 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:201 msgid "This exposes several per-node import options:" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:188 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:203 msgid "" "**Skip Import:** If checked, the node will not be present in the final " "imported scene. Enabling this disables all other options." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:190 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:205 msgid "" "**Generate > Physics:** If checked, generates a PhysicsBody3D *parent* node " "with collision shapes that are *siblings* to the MeshInstance3D node." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:192 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:207 msgid "" "**Generate > NavMesh:** If checked, generates a NavigationRegion3D *child* " "node for :ref:`navigation `. **Mesh + NavMesh** " @@ -52013,7 +52528,7 @@ msgid "" "navigation." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:197 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:212 msgid "" "**Generate > Occluder:** If checked, generates an OccluderInstance3D " "*sibling* node for :ref:`occlusion culling ` using " @@ -52024,19 +52539,19 @@ msgid "" "occlusion culling." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:204 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:219 msgid "" "These options are only visible if some of the above options are enabled:" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:206 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:221 msgid "" "**Physics > Body Type:** Only visible if **Generate > Physics** is enabled. " "Controls the PhysicsBody3D that should be created. **Static** creates a " "StaticBody3D, **Dynamic** creates a RigidBody3D, **Area** creates an Area3D." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:209 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:224 msgid "" "**Physics > Shape Type:** Only visible if **Generate > Physics** is enabled. " "**Trimesh** allows for precise per-triangle collision, but it can only be " @@ -52047,7 +52562,7 @@ msgid "" "modes if the shape is large and complex." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:216 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:231 msgid "" "**Decomposition > Advanced:** Only visible if **Physics > Shape Type** is " "**Decompose Convex**. If checked, allows adjusting advanced decomposition " @@ -52055,7 +52570,7 @@ msgid "" "usually sufficient)." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:220 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:235 msgid "" "**Decomposition > Precision:** Only visible if **Physics > Shape Type** is " "**Decompose Convex**. Controls the precision to use for convex " @@ -52065,7 +52580,7 @@ msgid "" "for your use cases." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:226 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:241 msgid "" "**Occluder > Simplification Distance:** Only visible if **Generate > " "Occluder** is set to **Mesh + Occluder** or **Occluder Only**. Higher values " @@ -52076,23 +52591,23 @@ msgid "" "value." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:233 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:248 msgid "**Configuring mesh and material import options**" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:235 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:250 msgid "" "In the Advanced Import Settings dialog, there are 2 ways to select " "individual meshes or materials:" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:238 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:253 msgid "" "Switch to the **Meshes** or **Materials** tab in the top-left corner of the " "dialog." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:239 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:254 msgid "" "Stay in the **Scene** tab, but unfold the options on the tree view on the " "left. After choosing a mesh or material, this presents the same information " @@ -52100,21 +52615,21 @@ msgid "" "list." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:243 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:258 msgid "" "If you select a mesh, different options will appear in the panel on the " "right:" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:249 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:264 msgid "Advanced Import Settings dialog (Meshes tab)" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:251 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:266 msgid "The options are as follows:" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:253 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:268 msgid "" "**Save to File:** Saves the :ref:`class_Mesh` *resource* to an external file " "(this isn't a scene file). You generally don't need to use this for placing " @@ -52129,7 +52644,7 @@ msgid "" "amounts of data." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:263 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:278 msgid "" "**Generate > Shadow Meshes:** Per-mesh override for the **Meshes > Create " "Shadow Meshes** scene-wide import option described in :ref:" @@ -52138,7 +52653,7 @@ msgid "" "enable or disable this behavior on a specific mesh." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:268 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:283 msgid "" "**Generate > Lightmap UV:** Per-mesh override for the **Meshes > Light " "Baking** scene-wide import option described in :ref:" @@ -52151,7 +52666,7 @@ msgid "" "equivalent to configuring this mesh to use **Static** instead." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:277 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:292 msgid "" "**Generate > LODs:** Per-mesh override for the **Meshes > Generate LODs** " "scene-wide import option described in :ref:" @@ -52160,7 +52675,7 @@ msgid "" "enable or disable this behavior on a specific mesh." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:282 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:297 msgid "" "**LODs > Normal Split Angle:** The minimum angle difference between two " "vertices required to preserve a geometry edge in mesh LOD generation. If " @@ -52168,7 +52683,7 @@ msgid "" "help (at the cost of less efficient LOD generation)." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:286 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:301 msgid "" "**LODs > Normal Merge Angle:** The minimum angle difference between two " "vertices required to preserve a geometry edge in mesh LOD generation. If " @@ -52176,80 +52691,80 @@ msgid "" "help (at the cost of less efficient LOD generation)." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:291 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:306 msgid "" "If you select a material, only one option will appear in the panel on the " "right:" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:297 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:312 msgid "Advanced Import Settings dialog (Materials tab)" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:299 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:314 msgid "" "When **Use External** is checked and an output path is specified, this lets " "you use an external material instead of the material that is included in the " "original 3D scene file; see the section below." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:304 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:319 msgid "Extracting materials to separate files" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:306 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:321 msgid "" "While Godot can import materials authored in 3D modeling software, the " "default configuration may not be suitable for your needs. For example:" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:309 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:324 msgid "" "You want to configure material features not supported by your 3D application." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:310 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:325 msgid "" "You want to use a different texture filtering mode, as this option is " "configured in the material since Godot 4.0 (and not in the image)." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:312 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:327 msgid "" "You want to replace one of the materials with an entirely different " "material, such as a custom shader." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:315 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:330 msgid "" "To be able to modify the 3D scene's materials in the Godot editor, you need " "to use *external* material resources." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:318 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:333 msgid "" "In the top-left corner of the Advanced Import Settings dialog, choose " "**Actions… > Extract Materials**:" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:325 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:340 msgid "" "Extracting all built-in materials to external resources in the Advanced " "Import Settings dialog" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:327 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:342 msgid "" "After choosing this option, select a folder to extract material ``.tres`` " "files to, then confirm the extraction:" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:334 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:349 msgid "" "Confirming material extraction in the Advanced Import Settings subdialog" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:338 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:353 msgid "" "After extracting materials, the 3D scene will automatically be configured to " "use external material references. As a result, you don't need to manually " @@ -52257,7 +52772,7 @@ msgid "" "material effective." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:343 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:358 msgid "" "When **Use External** is enabled, remember that the Advanced Import Settings " "dialog will keep displaying the mesh's original materials (the ones designed " @@ -52267,7 +52782,7 @@ msgid "" "the editor." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:349 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:364 msgid "" "Godot will not overwrite changes made to extracted materials when the source " "3D scene is reimported. However, if the material name is changed in the " @@ -52277,32 +52792,32 @@ msgid "" "material." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:355 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:370 msgid "" "The above can be done in the dialog's **Materials** tab by selecting the " "material, enabling **Save to File**, then specifying the save path using the " "**Path** option that appears after enabling **Save to File**." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:362 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:377 msgid "Using import scripts for automation" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:364 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:379 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:368 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:383 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:394 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:409 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 " @@ -52310,17 +52825,17 @@ msgid "" "entirely different)." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:398 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:413 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:401 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:416 msgid "Using animation libraries" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:403 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:418 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 " @@ -52329,17 +52844,17 @@ msgid "" "animation data in every character." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:409 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:424 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:416 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:431 msgid "Changing the import type to Animation Library in the Import dock" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:418 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:433 msgid "" "Click **Reimport** and restart the editor when prompted. After restarting, " "the glTF file will be imported as an :ref:`class_AnimationLibrary` instead " @@ -52347,24 +52862,24 @@ msgid "" "in an :ref:`class_AnimationPlayer` node." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:423 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:438 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:428 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:443 msgid "Filter script" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:430 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:445 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:433 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:448 msgid "" "The filter script is executed against each imported animation. The syntax " "consists of two types of statements, the first for choosing which animations " @@ -52374,7 +52889,7 @@ msgid "" "`String.matchn() ` under the hood)." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:440 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:455 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 " @@ -52382,7 +52897,7 @@ msgid "" "``\"_Loop\"``::" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:446 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:461 msgid "" "Similarly, additional patterns can be added to the same line, separated by " "commas. Here is a modified example to additionally *include* all animations " @@ -52390,7 +52905,7 @@ msgid "" "animations which have names ending in ``\"Attack\"``::" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:453 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:468 msgid "" "Following the animation selection filter statement, we add track filtering " "patterns to indicate which animation tracks should be kept or discarded. If " @@ -52398,7 +52913,7 @@ msgid "" "animations will be discarded!" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:458 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:473 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 " @@ -52407,52 +52922,52 @@ msgid "" "in the filter script." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:464 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:479 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:473 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:488 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:477 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:492 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:480 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:495 msgid "Storage" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:482 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:497 msgid "" "By default, animations are saved as built-in. It is possible to save them to " "a file instead. This allows adding custom tracks to the animations and " "keeping them after a reimport." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:487 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:502 msgid "Optimizer" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:489 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:504 msgid "" "When animations are imported, an optimizer is run, which reduces the size of " "the animation considerably. In general, this should always be turned on " "unless you suspect that an animation might be broken due to it being enabled." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:494 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:509 msgid "Clips" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:496 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:511 msgid "" "It is possible to specify multiple animations from a single timeline as " "clips. For this to work, the model must have only one animation that is " @@ -52461,45 +52976,45 @@ msgid "" "and stops on, and choose whether the animation loops or not." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:503 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:518 msgid "Scene inheritance" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:505 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:520 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:509 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:524 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:517 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:532 msgid "Dialog when opening an imported 3D scene in the editor" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:519 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:534 msgid "In inherited scenes, the only limitations for modification are:" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:521 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:536 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:523 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:538 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:526 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:541 msgid "Other than that, everything is allowed." msgstr "" @@ -53976,10 +54491,11 @@ msgstr "" #: ../../docs/tutorials/audio/audio_streams.rst:23 msgid "" -"There are other types of AudioStreams, such as AudioStreamRandomPitch. This " -"one makes a random adjustment to the sound's pitch every time it's played " -"back. This can be helpful for adding variation to sounds that are played " -"back often." +"There are other types of AudioStreams, such as :ref:" +"`AudioStreamRandomizer`. This one picks a " +"different audio stream from a list of streams each time it's played back, " +"and applies random pitch and volume shifting. This can be helpful for adding " +"variation to sounds that are played back often." msgstr "" #: ../../docs/tutorials/audio/audio_streams.rst:29 @@ -53992,18 +54508,31 @@ msgid "" "In 5.1 sound setups, it can send audio to stereo mix or front speakers." msgstr "" -#: ../../docs/tutorials/audio/audio_streams.rst:37 +#: ../../docs/tutorials/audio/audio_streams.rst:36 +msgid "" +"Playback Type is an experimental setting, and could change in future " +"versions of Godot. It exists so Web exports use Web Audio-API based samples " +"instead of streaming all sounds to the browser, unlike most platforms. This " +"prevents the audio from being garbled in single-threaded Web exports. By " +"default, only the Web platform will use samples. Changing this setting is " +"not recommended, unless you have an explicit reason to. You can change the " +"default playback type for the web and other platforms in the project " +"settings under **Audio > General** (advanced settings must be turned on to " +"see the setting)." +msgstr "" + +#: ../../docs/tutorials/audio/audio_streams.rst:46 msgid "AudioStreamPlayer2D" msgstr "" -#: ../../docs/tutorials/audio/audio_streams.rst:41 +#: ../../docs/tutorials/audio/audio_streams.rst:50 msgid "" "This is a variant of AudioStreamPlayer, but emits sound in a 2D positional " "environment. When close to the left of the screen, the panning will go left. " "When close to the right side, it will go right." msgstr "" -#: ../../docs/tutorials/audio/audio_streams.rst:47 +#: ../../docs/tutorials/audio/audio_streams.rst:56 msgid "" "Area2Ds can be used to divert sound from any AudioStreamPlayer2Ds they " "contain to specific buses. This makes it possible to create buses with " @@ -54011,11 +54540,11 @@ msgid "" "particular parts of your game world." msgstr "" -#: ../../docs/tutorials/audio/audio_streams.rst:55 +#: ../../docs/tutorials/audio/audio_streams.rst:64 msgid "AudioStreamPlayer3D" msgstr "" -#: ../../docs/tutorials/audio/audio_streams.rst:59 +#: ../../docs/tutorials/audio/audio_streams.rst:68 msgid "" "This is a variant of AudioStreamPlayer, but emits sound in a 3D positional " "environment. Depending on the location of the player relative to the screen, " @@ -54023,50 +54552,51 @@ msgid "" "setup." msgstr "" -#: ../../docs/tutorials/audio/audio_streams.rst:63 +#: ../../docs/tutorials/audio/audio_streams.rst:72 msgid "" -"Similar to AudioStreamPlayer2D, an Area can divert the sound to an audio bus." +"Similar to AudioStreamPlayer2D, an Area3D can divert the sound to an audio " +"bus." msgstr "" -#: ../../docs/tutorials/audio/audio_streams.rst:67 +#: ../../docs/tutorials/audio/audio_streams.rst:76 msgid "" "Unlike for 2D, the 3D version of AudioStreamPlayer has a few more advanced " "options:" msgstr "" -#: ../../docs/tutorials/audio/audio_streams.rst:72 +#: ../../docs/tutorials/audio/audio_streams.rst:81 msgid "Reverb buses" msgstr "" -#: ../../docs/tutorials/audio/audio_streams.rst:74 +#: ../../docs/tutorials/audio/audio_streams.rst:83 msgid "" -"Godot allows for 3D audio streams that enter a specific Area node to send " +"Godot allows for 3D audio streams that enter a specific Area3D node to send " "dry and wet audio to separate buses. This is useful when you have several " "reverb configurations for different types of rooms. This is done by enabling " -"this type of reverb in the **Reverb Bus** section of the Area's properties:" +"this type of reverb in the **Reverb Bus** section of the Area3D's properties:" msgstr "" -#: ../../docs/tutorials/audio/audio_streams.rst:81 +#: ../../docs/tutorials/audio/audio_streams.rst:90 msgid "" -"At the same time, a special bus layout is created where each area receives " -"the reverb info from each area. A Reverb effect needs to be created and " +"At the same time, a special bus layout is created where each Area3D receives " +"the reverb info from each Area3D. A Reverb effect needs to be created and " "configured in each reverb bus to complete the setup for the desired effect:" msgstr "" -#: ../../docs/tutorials/audio/audio_streams.rst:87 +#: ../../docs/tutorials/audio/audio_streams.rst:96 msgid "" -"The Area's **Reverb Bus** section also has a parameter named **Uniformity**. " -"Some types of rooms bounce sounds more than others (like a warehouse), so " -"reverberation can be heard almost uniformly across the room even though the " -"source may be far away. Playing around with this parameter can simulate that " -"effect." +"The Area3D's **Reverb Bus** section also has a parameter named " +"**Uniformity**. Some types of rooms bounce sounds more than others (like a " +"warehouse), so reverberation can be heard almost uniformly across the room " +"even though the source may be far away. Playing around with this parameter " +"can simulate that effect." msgstr "" -#: ../../docs/tutorials/audio/audio_streams.rst:94 +#: ../../docs/tutorials/audio/audio_streams.rst:103 msgid "Doppler" msgstr "" -#: ../../docs/tutorials/audio/audio_streams.rst:96 +#: ../../docs/tutorials/audio/audio_streams.rst:105 msgid "" "When the relative velocity between an emitter and listener changes, this is " "perceived as an increase or decrease in the pitch of the emitted sound. " @@ -54074,7 +54604,7 @@ msgid "" "nodes. Both nodes have this property, which must be enabled manually:" msgstr "" -#: ../../docs/tutorials/audio/audio_streams.rst:103 +#: ../../docs/tutorials/audio/audio_streams.rst:112 msgid "" "Enable it by setting it depending on how objects will be moved: use **Idle** " "for objects moved using ``_process``, or **Physics** for objects moved using " @@ -54407,7 +54937,7 @@ msgid "Distro-specific one-liners" msgstr "" #: ../../docs/tutorials/audio/text_to_speech.rst:79 -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:325 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:311 msgid "**Arch Linux**" msgstr "" @@ -55166,6 +55696,7 @@ msgid "**Feature tag**" msgstr "" #: ../../docs/tutorials/export/feature_tags.rst:43 +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:87 msgid "**android**" msgstr "" @@ -55174,6 +55705,7 @@ msgid "Running on Android (but not within a Web browser)" msgstr "" #: ../../docs/tutorials/export/feature_tags.rst:45 +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:83 msgid "**bsd**" msgstr "" @@ -55182,6 +55714,7 @@ msgid "Running on \\*BSD (but not within a Web browser)" msgstr "" #: ../../docs/tutorials/export/feature_tags.rst:47 +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:81 msgid "**linux**" msgstr "" @@ -55190,6 +55723,7 @@ msgid "Running on Linux (but not within a Web browser)" msgstr "" #: ../../docs/tutorials/export/feature_tags.rst:49 +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:79 msgid "**macos**" msgstr "" @@ -55198,6 +55732,7 @@ msgid "Running on macOS (but not within a Web browser)" msgstr "" #: ../../docs/tutorials/export/feature_tags.rst:51 +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:89 msgid "**ios**" msgstr "" @@ -55206,6 +55741,7 @@ msgid "Running on iOS (but not within a Web browser)" msgstr "" #: ../../docs/tutorials/export/feature_tags.rst:53 +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:77 msgid "**windows**" msgstr "" @@ -55214,6 +55750,7 @@ msgid "Running on Windows" msgstr "" #: ../../docs/tutorials/export/feature_tags.rst:55 +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:85 msgid "**linuxbsd**" msgstr "" @@ -55222,6 +55759,7 @@ msgid "Running on Linux or \\*BSD" msgstr "" #: ../../docs/tutorials/export/feature_tags.rst:57 +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:100 msgid "**debug**" msgstr "" @@ -55230,6 +55768,7 @@ msgid "Running on a debug build (including the editor)" msgstr "" #: ../../docs/tutorials/export/feature_tags.rst:59 +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:102 msgid "**release**" msgstr "" @@ -55238,6 +55777,7 @@ msgid "Running on a release build" msgstr "" #: ../../docs/tutorials/export/feature_tags.rst:61 +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:104 msgid "**editor**" msgstr "" @@ -55254,6 +55794,7 @@ msgid "Running on a non-editor (export template) build" msgstr "" #: ../../docs/tutorials/export/feature_tags.rst:65 +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:113 msgid "**double**" msgstr "" @@ -55262,6 +55803,7 @@ msgid "Running on a double-precision build" msgstr "" #: ../../docs/tutorials/export/feature_tags.rst:67 +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:115 msgid "**single**" msgstr "" @@ -55286,6 +55828,7 @@ msgid "Running on a 32-bit build (any architecture)" msgstr "" #: ../../docs/tutorials/export/feature_tags.rst:73 +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:117 msgid "**x86_64**" msgstr "" @@ -55310,6 +55853,7 @@ msgid "Running on an x86 build (any bitness)" msgstr "" #: ../../docs/tutorials/export/feature_tags.rst:79 +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:119 msgid "**arm64**" msgstr "" @@ -55334,6 +55878,7 @@ msgid "Running on an ARM build (any bitness)" msgstr "" #: ../../docs/tutorials/export/feature_tags.rst:85 +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:121 msgid "**rv64**" msgstr "" @@ -55342,6 +55887,7 @@ msgid "Running on a 64-bit RISC-V build" msgstr "" #: ../../docs/tutorials/export/feature_tags.rst:87 +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:123 msgid "**riscv**" msgstr "" @@ -55382,6 +55928,7 @@ msgid "Running on a 64-bit WebAssembly build (not yet possible)" msgstr "" #: ../../docs/tutorials/export/feature_tags.rst:97 +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:125 msgid "**wasm32**" msgstr "" @@ -55414,6 +55961,7 @@ msgid "Host OS is a PC platform (desktop/laptop)" msgstr "" #: ../../docs/tutorials/export/feature_tags.rst:105 +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:91 msgid "**web**" msgstr "" @@ -55495,31 +56043,30 @@ msgstr "" #: ../../docs/tutorials/export/feature_tags.rst:128 msgid "" -"With the exception of texture compression and ``movie`` feature tags, " -"default feature tags are **immutable**. This means that they will *not* " -"change depending on run-time conditions. For example, ``OS." +"With the exception of texture compression, ``web_`` and ``movie`` " +"feature tags, default feature tags are **immutable**. This means that they " +"will *not* change depending on run-time conditions. For example, ``OS." "has_feature(\"mobile\")`` will return ``false`` when running a project " -"exported to HTML5 on a mobile device." +"exported to Web on a mobile device." msgstr "" #: ../../docs/tutorials/export/feature_tags.rst:134 msgid "" -"To check whether a project exported to HTML5 is running on a mobile device, :" -"ref:`call JavaScript code ` that reads the " -"browser's user agent." +"To check whether a project exported to Web is running on a mobile device, " +"use ``OS.has_feature(\"web_android\") or OS.web_has_feature(\"web_ios\")``." msgstr "" -#: ../../docs/tutorials/export/feature_tags.rst:139 +#: ../../docs/tutorials/export/feature_tags.rst:138 msgid "Custom features" msgstr "" -#: ../../docs/tutorials/export/feature_tags.rst:141 +#: ../../docs/tutorials/export/feature_tags.rst:140 msgid "" "It is possible to add custom features to a build; use the relevant field in " "the *export preset* used to generate it:" msgstr "" -#: ../../docs/tutorials/export/feature_tags.rst:148 +#: ../../docs/tutorials/export/feature_tags.rst:147 msgid "" "Custom feature tags are only used when running the exported project " "(including with :ref:`doc_one-click_deploy`). They are **not used** when " @@ -55527,29 +56074,29 @@ msgid "" "**Runnable** for your current platform has custom feature tags defined." msgstr "" -#: ../../docs/tutorials/export/feature_tags.rst:154 +#: ../../docs/tutorials/export/feature_tags.rst:153 msgid "Overriding project settings" msgstr "" -#: ../../docs/tutorials/export/feature_tags.rst:156 +#: ../../docs/tutorials/export/feature_tags.rst:155 msgid "" "Features can be used to override specific configuration values in the " "*Project Settings*. This allows you to better customize any configuration " "when doing a build." msgstr "" -#: ../../docs/tutorials/export/feature_tags.rst:159 +#: ../../docs/tutorials/export/feature_tags.rst:158 msgid "" "In the following example, a different icon is added for the demo build of " "the game (which was customized in a special export preset, which, in turn, " "includes only demo levels)." msgstr "" -#: ../../docs/tutorials/export/feature_tags.rst:164 +#: ../../docs/tutorials/export/feature_tags.rst:163 msgid "After overriding, a new field is added for this specific configuration:" msgstr "" -#: ../../docs/tutorials/export/feature_tags.rst:170 +#: ../../docs/tutorials/export/feature_tags.rst:169 msgid "" "When using the :ref:`project settings \"override.cfg\" functionality " "` (which is unrelated to feature tags), remember that " @@ -55558,21 +56105,21 @@ msgid "" "project settings on all platforms and configurations." msgstr "" -#: ../../docs/tutorials/export/feature_tags.rst:178 +#: ../../docs/tutorials/export/feature_tags.rst:177 msgid "Default overrides" msgstr "" -#: ../../docs/tutorials/export/feature_tags.rst:180 +#: ../../docs/tutorials/export/feature_tags.rst:179 msgid "" "There are already a lot of settings that come with overrides by default; " "they can be found in many sections of the project settings." msgstr "" -#: ../../docs/tutorials/export/feature_tags.rst:186 +#: ../../docs/tutorials/export/feature_tags.rst:185 msgid "Customizing the build" msgstr "" -#: ../../docs/tutorials/export/feature_tags.rst:188 +#: ../../docs/tutorials/export/feature_tags.rst:187 msgid "" "Feature tags can be used to customize a build process too, by writing a " "custom **ExportPlugin**. They are also used to specify which shared library " @@ -57178,7 +57725,7 @@ msgstr "" #: ../../docs/tutorials/export/exporting_for_android.rst:34 msgid "" "Ensure that the `required packages `__ are installed as well." +"intro/update#required>`__ are installed as well." msgstr "" #: ../../docs/tutorials/export/exporting_for_android.rst:36 @@ -57997,7 +58544,7 @@ msgid "" msgstr "" #: ../../docs/tutorials/export/exporting_for_web.rst:285 -#: ../../docs/contributing/development/compiling/compiling_for_web.rst:125 +#: ../../docs/contributing/development/compiling/compiling_for_web.rst:131 msgid "" "Note that for production use cases, this Python-based web server should not " "be used. Instead, you should use an established web server such as Apache or " @@ -58279,7 +58826,7 @@ msgid "" msgstr "" #: ../../docs/tutorials/export/exporting_for_dedicated_servers.rst:278 -#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:697 +#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:680 msgid "Next steps" msgstr "" @@ -58645,7 +59192,7 @@ msgstr "" #: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:237 #: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:228 #: ../../docs/tutorials/shaders/visual_shaders.rst:118 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:232 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:238 #: ../../docs/contributing/documentation/class_reference_primer.rst:138 #: ../../docs/contributing/documentation/class_reference_primer.rst:182 msgid "Example" @@ -58828,6 +59375,7 @@ msgstr "" #: ../../docs/tutorials/io/binary_serialization_api.rst:581 #: ../../docs/tutorials/io/binary_serialization_api.rst:596 #: ../../docs/tutorials/plugins/editor/import_plugins.rst:248 +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:18 #: ../../docs/tutorials/shaders/shader_reference/shading_language.rst:23 #: ../../docs/tutorials/shaders/shader_reference/shading_language.rst:816 #: ../../docs/tutorials/shaders/visual_shaders.rst:115 @@ -60737,15 +61285,13 @@ msgstr "" #: ../../docs/tutorials/i18n/internationalizing_games.rst:9 msgid "" -"Sería excelente que el mundo hablara solo un idioma (It would be great if " -"the world spoke only one language). Unfortunately for us developers, that is " -"not the case. While indie or niche games usually do not need localization, " -"games targeting a more massive market often require localization. Godot " -"offers many tools to make this process more straightforward, so this " -"tutorial is more like a collection of tips and tricks." +"While indie or niche games usually do not need localization, games targeting " +"a more massive market often require localization. Godot offers many tools to " +"make this process more straightforward, so this tutorial is more like a " +"collection of tips and tricks." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:17 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:15 msgid "" "Localization is usually done by specific studios hired for the job. Despite " "the huge amount of software and file formats available for this, the most " @@ -60756,49 +61302,49 @@ msgid "" "reading this page." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:25 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:23 msgid "" "We will be using the official demo as an example; you can `download it from " "the Asset Library `_." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:29 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:27 msgid "Configuring the imported translation" msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:31 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:29 msgid "" "Translations can get updated and re-imported when they change, but they " "still have to be added to the project. This is done in **Project → Project " "Settings → Localization**:" msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:37 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:35 msgid "The above dialog is used to add or remove translations project-wide." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:40 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:38 msgid "Localizing resources" msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:42 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:40 msgid "" "It is also possible to instruct Godot to use alternate versions of assets " "(resources) depending on the current language. This can be used for " "localized images such as in-game billboards or localized voices." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:46 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:44 msgid "The **Remaps** tab can be used for this:" msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:50 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:48 msgid "" "Select the resource to be remapped then add some alternatives for each " "locale." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:54 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:52 msgid "" "The resource remapping system isn't supported for DynamicFonts. To use " "different fonts depending on the language's script, use the DynamicFont " @@ -60806,18 +61352,18 @@ msgid "" "want." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:59 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:57 msgid "" "The upside of the DynamicFont fallback system is that it works regardless of " "the current language, making it ideal for things like multiplayer chat where " "the text language may not match the client's language." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:64 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:62 msgid "Converting keys to text" msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:66 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:64 msgid "" "Some controls, such as :ref:`Button ` and :ref:`Label " "`, will automatically fetch a translation if their text matches " @@ -60826,7 +61372,7 @@ msgid "" "then the text will automatically be translated." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:71 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:69 msgid "" "This automatic translation behavior may be undesirable in certain cases. For " "instance, when using a Label to display a player's name, you most likely " @@ -60835,14 +61381,14 @@ msgid "" "**Localization > Auto Translate** in the inspector." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:77 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:75 msgid "" "In code, the :ref:`Object.tr() ` function can be " "used. This will just look up the text in the translations and convert it if " "found:" msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:87 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:85 msgid "" "If no text is displayed after changing the language, try to use a different " "font. The default project font only supports a subset of the Latin-1 " @@ -60850,14 +61396,14 @@ msgid "" "Chinese." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:91 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:89 msgid "" "A good resource for multilingual fonts is `Noto Fonts `__. Make sure to download the correct variation if you're " "using a less common language." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:95 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:93 msgid "" "Once you've downloaded the font, load the TTF file into a DynamicFont " "resource and use it as a custom font of your Control node. For better " @@ -60865,11 +61411,11 @@ msgid "" "define the DynamicFont as the Default Font in the theme." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:101 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:99 msgid "Placeholders" msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:103 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:101 msgid "" "To feature placeholders in your translated strings, use :ref:" "`doc_gdscript_printf` or the equivalent feature in C#. This lets translators " @@ -60879,11 +61425,11 @@ msgid "" "translators to choose the *order* in which placeholders appear:" msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:121 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:119 msgid "Translation contexts" msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:123 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:121 msgid "" "If you're using plain English as source strings (rather than message codes " "``LIKE_THIS``), you may run into ambiguities when you have to translate the " @@ -60893,11 +61439,11 @@ msgid "" "string is identical:" msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:139 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:137 msgid "Pluralization" msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:141 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:139 msgid "" "Most languages require different strings depending on whether an object is " "in singular or plural form. However, hardcoding the \"is plural\" condition " @@ -60905,35 +61451,35 @@ msgid "" "languages." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:145 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:143 msgid "" "Some languages have more than two plural forms, and the rules on the number " "of objects required for each plural form vary. Godot offers support for " "*pluralization* so that the target locales can handle this automatically." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:149 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:147 msgid "" "Pluralization is meant to be used with positive (or zero) integer numbers " "only. Negative and floating-point values usually represent physical entities " "for which singular and plural don't clearly apply." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:158 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:156 msgid "This can be combined with a context if needed:" msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:167 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:165 msgid "" "Providing pluralized translations is only supported with :ref:" "`doc_localization_using_gettext`, not CSV." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:171 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:169 msgid "Making controls resizable" msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:173 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:171 msgid "" "The same text in different languages can vary greatly in length. For this, " "make sure to read the tutorial on :ref:`doc_size_and_anchors`, as " @@ -60942,7 +61488,7 @@ msgid "" "available in :ref:`Label `." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:179 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:177 msgid "" "To check whether your UI can accommodate translations with longer strings " "than the original, you can enable *pseudolocalization* in the advanced " @@ -60952,31 +61498,31 @@ msgid "" "are kept as-is, so that they keep working when pseudolocalization is enabled." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:186 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:184 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:189 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:187 msgid "" "While looking strange at first, pseudolocalization has several benefits:" msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:191 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:189 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:193 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:191 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:196 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:194 msgid "" "It lets you check whether your font contains all the characters required to " "support various languages. However, since the goal of pseudolocalization is " @@ -60985,17 +61531,17 @@ msgid "" "or right-to-left languages." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:202 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:200 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:206 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:204 msgid "TranslationServer" msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:208 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:206 msgid "" "Godot has a server handling low-level translation management called the :ref:" "`TranslationServer `. Translations can be added or " @@ -61003,11 +61549,11 @@ msgid "" "time." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:216 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:214 msgid "Bidirectional text and UI Mirroring" msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:218 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:216 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 " @@ -61015,34 +61561,34 @@ msgid "" "on the surrounding characters." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:222 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:220 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:225 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:223 msgid "" "For RTL languages, Godot will automatically do the following changes to the " "UI:" msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:227 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:225 msgid "Mirrors left/right anchors and margins." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:228 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:226 msgid "Swaps left and right text alignment." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:229 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:227 msgid "" "Mirrors horizontal order of the child controls in the containers, and items " "in Tree/ItemList controls." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:230 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:228 msgid "" "Uses mirrored order of the internal control elements (e.g. OptionButton " "dropdown button, checkbox alignment, List column order, Tree item icons and " @@ -61050,51 +61596,51 @@ msgid "" "separate theme styles." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:231 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:229 msgid "" "Coordinate system is not mirrored, and non-UI nodes (sprites, e.t.c) are not " "affected." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:233 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:231 msgid "" "It is possible to override text and control layout direction by using the " "following control properties:" msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:235 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:233 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:236 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:234 msgid "``language``, overrides current project locale." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:237 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:235 msgid "" "``structured_text_bidi_override`` property and ``_structured_text_parser`` " "callback, enables special handling for structured text." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:238 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:236 msgid "``layout_direction``, overrides control mirroring." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:244 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:242 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:248 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:246 msgid "Adding break iterator data to exported project" msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:250 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:248 msgid "" "Some languages are written without spaces, and word and line breaking " "requires more than rules over character sequences. Godot includes ICU rule " @@ -61104,18 +61650,18 @@ msgid "" "data...**. Break iterator data is about 4 MB large." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:257 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:255 msgid "Structured text BiDi override" msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:259 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:257 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:265 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:263 msgid "" "For example, the path for this shown directory structure will be displayed " "incorrectly (top \"LineEdit\" control). \"File\" type structured text " @@ -61124,17 +61670,17 @@ msgid "" "and preserve correct order of the folders (bottom \"LineEdit\" control)." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:270 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:268 msgid "" "Custom callbacks provide a way to override BiDi for the other types of " "structured text." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:273 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:271 msgid "Localizing numbers" msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:275 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:273 msgid "" "Controls specifically designed for number input or output (e.g. ProgressBar, " "SpinBox) will use localized numbering system automatically, for the other " @@ -61145,28 +61691,28 @@ msgid "" "convert it back." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:283 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:281 msgid "Localizing icons and images" msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:285 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:283 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:290 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:288 msgid "Testing translations" msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:292 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:290 msgid "" "You may want to test a project's translation before releasing it. Godot " "provides two ways to do this." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:295 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:293 msgid "" "First, in the Project Settings, under **Internationalization > Locale** " "(with advanced settings enabled), there is a **Test** property. Set this " @@ -61175,25 +61721,25 @@ msgid "" "or when exported)." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:302 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:300 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:306 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:304 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:315 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:313 msgid "Translating the project name" msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:317 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:315 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 " @@ -61205,7 +61751,7 @@ msgid "" "in the localized name." msgstr "" -#: ../../docs/tutorials/i18n/internationalizing_games.rst:328 +#: ../../docs/tutorials/i18n/internationalizing_games.rst:326 msgid "" "If you are unsure about the language code to use, refer to the :ref:`list of " "locale codes `." @@ -71610,7 +72156,7 @@ msgid "The formula for dot product takes two common forms:" msgstr "" #: ../../docs/tutorials/math/vector_math.rst:272 -#: ../../docs/tutorials/scripting/singletons_autoload.rst:282 +#: ../../docs/tutorials/scripting/singletons_autoload.rst:283 msgid "and" msgstr "" @@ -74892,7 +75438,7 @@ msgid "" "the resulting polygon being flipped." msgstr "" -#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:285 +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:287 msgid "Navigation mesh appears inside geometry in 3D." msgstr "" @@ -74905,18 +75451,34 @@ msgid "" "possible so the cells are occupied with something." msgstr "" -#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:288 +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:287 +msgid "" +"A :ref:`NavigationObstacle3D` shape set to bake " +"with navigation mesh can be used to discard geometry as well." +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:293 +msgid "NavigationObstacle3D unwanted geometry discard" +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:293 +msgid "" +"A NavigationObstacle3D shape can be used to discard unwanted navigation mesh " +"parts." +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:296 msgid "Navigation mesh script templates" msgstr "" -#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:290 +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:298 msgid "" "The following script uses the NavigationServer to parse source geometry from " "the scene tree, bakes a navigation mesh, and updates a navigation region " "with the updated navigation mesh." msgstr "" -#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:405 +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:413 msgid "" "The following script uses the NavigationServer to update a navigation region " "with procedurally generated navigation mesh data." @@ -75809,10 +76371,10 @@ msgstr "" #: ../../docs/tutorials/navigation/navigation_using_navigationlinks.rst:18 msgid "" "Different NavigationRegions can connect their navigation meshes without the " -"need for a NavigationLink as long as they are within navigation map " -"``edge_connection_margin`` and have compatible ``navigation_layers``. As " -"soon as the distance becomes too large, building valid connections becomes a " -"problem - a problem that NavigationLinks can solve." +"need for a NavigationLink as long as they have overlapping edges or edges " +"that are within navigation map ``edge_connection_margin``. As soon as the " +"distance becomes too large, building valid connections becomes a problem - a " +"problem that NavigationLinks can solve." msgstr "" #: ../../docs/tutorials/navigation/navigation_using_navigationlinks.rst:22 @@ -75892,9 +76454,9 @@ msgstr "" #: ../../docs/tutorials/navigation/navigation_using_navigationlayers.rst:6 msgid "" "NavigationLayers are an optional feature to further control which navigation " -"meshes are considered in a path query and which regions can be connected. " -"They work similar to how physics layers control collision between collision " -"objects or how visual layers control what is rendered to the Viewport." +"meshes are considered in a path query. They work similar to how physics " +"layers control collision between collision objects or how visual layers " +"control what is rendered to the Viewport." msgstr "" #: ../../docs/tutorials/navigation/navigation_using_navigationlayers.rst:9 @@ -75905,13 +76467,6 @@ msgstr "" #: ../../docs/tutorials/navigation/navigation_using_navigationlayers.rst:13 msgid "" -"If two regions have not a single compatible layer they will not be merged by " -"the NavigationServer. See :ref:`doc_navigation_connecting_navmesh` for more " -"information on merging navigation meshes." -msgstr "" - -#: ../../docs/tutorials/navigation/navigation_using_navigationlayers.rst:15 -msgid "" "If a region has not a single compatible navigation layer with the " "``navigation_layers`` parameter of a path query this regions navigation mesh " "will be skipped in pathfinding. See :ref:" @@ -75919,7 +76474,7 @@ msgid "" "NavigationServer for paths." msgstr "" -#: ../../docs/tutorials/navigation/navigation_using_navigationlayers.rst:18 +#: ../../docs/tutorials/navigation/navigation_using_navigationlayers.rst:16 msgid "" "NavigationLayers are a single ``int`` value that is used as a **bitmask**. " "Many navigation related nodes have ``set_navigation_layer_value()`` and " @@ -75927,13 +76482,13 @@ msgid "" "directly without the need for more complex bitwise operations." msgstr "" -#: ../../docs/tutorials/navigation/navigation_using_navigationlayers.rst:23 +#: ../../docs/tutorials/navigation/navigation_using_navigationlayers.rst:21 msgid "" "In scripts the following helper functions can be used to work with the " "``navigation_layers`` bitmask." msgstr "" -#: ../../docs/tutorials/navigation/navigation_using_navigationlayers.rst:92 +#: ../../docs/tutorials/navigation/navigation_using_navigationlayers.rst:90 msgid "" "Changing navigation layers for path queries is a performance friendly " "alternative to enabling / disabling entire navigation regions. Compared to " @@ -75941,12 +76496,11 @@ msgid "" "not trigger large scale updates on the NavigationServer." msgstr "" -#: ../../docs/tutorials/navigation/navigation_using_navigationlayers.rst:97 +#: ../../docs/tutorials/navigation/navigation_using_navigationlayers.rst:95 msgid "" "Changing the navigation layers of NavigationAgent nodes will have an " "immediate effect on the next path query. Changing the navigation layers of " -"regions will have an immediate effect on the region but any new region " -"connect or disconnect will only be in effect after the next physics frame." +"regions will have an effect after the next NavigationServer sync." msgstr "" #: ../../docs/tutorials/navigation/navigation_debug_tools.rst:4 @@ -84445,9 +84999,9 @@ msgstr "" #: ../../docs/tutorials/platform/android/android_plugin.rst:365 msgid "" "This may involve creating dummy plugins for the host OS just so the API is " -"published to the editor. You can use the [godot-cpp-template](https://github." -"com/godotengine/godot-cpp-template) github template for reference on how to " -"do so." +"published to the editor. You can use the `godot-cpp-template `__ github template for reference on how " +"to do so." msgstr "" #: ../../docs/tutorials/platform/android/android_plugin.rst:370 @@ -86749,6 +87303,13 @@ msgid "" "Xbox Series, PlayStation 4 & PlayStation 5 porting of Godot games." msgstr "" +#: ../../docs/tutorials/platform/consoles.rst:84 +msgid "" +"`Sickhead Games `_ offers console porting to " +"Nintendo Switch, PlayStation 4, PlayStation 5, Xbox One, and Xbox Series X/S " +"for Godot games." +msgstr "" + #: ../../docs/tutorials/platform/consoles.rst:86 msgid "" "If your company offers porting, or porting *and* publishing services for " @@ -87573,7 +88134,10 @@ msgstr "" #: ../../docs/tutorials/plugins/editor/import_plugins.rst:250 #: ../../docs/tutorials/plugins/editor/import_plugins.rst:256 #: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:367 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:633 +#: ../../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:639 #: ../../docs/contributing/development/core_and_modules/core_types.rst:174 msgid "String" msgstr "" @@ -89336,7 +89900,7 @@ msgid "" msgstr "" #: ../../docs/tutorials/rendering/multiple_resolutions.rst:337 -#: ../../docs/tutorials/rendering/jitter_stutter.rst:103 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:97 msgid "" "Games should use the **Exclusive Fullscreen** window mode, as opposed to " "**Fullscreen** which is designed to prevent Windows from automatically " @@ -89344,7 +89908,7 @@ msgid "" msgstr "" #: ../../docs/tutorials/rendering/multiple_resolutions.rst:341 -#: ../../docs/tutorials/rendering/jitter_stutter.rst:107 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:101 msgid "" "**Fullscreen** is meant to be used by GUI applications that want to use per-" "pixel transparency without a risk of having it disabled by the OS. It " @@ -89787,33 +90351,25 @@ msgid "" "timer." msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:58 -msgid "" -"You can use physics interpolation to mitigate physics-related jittering. See " -"`lawnjelly's smoothing-addon `__ for an add-on that can be dropped into any project to enable " -"physics interpolation." -msgstr "" - -#: ../../docs/tutorials/rendering/jitter_stutter.rst:63 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:57 msgid "Stutter" msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:65 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:59 msgid "" "Stutter may happen due to two different reasons. The first, and most obvious " "one, is the game not being able to keep full framerate performance. Solving " "this is game specific and will require optimization." msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:69 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:63 msgid "" "The second is more complicated, because it is often not associated to the " "engine or game but the underlying operating system. Here is some information " "regarding stutter on different OSs." msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:73 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:67 msgid "" "On platforms that support disabling V-Sync, stuttering can be made less " "noticeable by disabling V-Sync in the project settings. This will however " @@ -89823,13 +90379,13 @@ msgid "" "stuttering without introducing tearing." msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:80 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:74 msgid "" "Forcing your graphics card to use the maximum performance profile can also " "help reduce stuttering, at the cost of increased GPU power draw." msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:86 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:80 msgid "" "Windows is known to cause stutter in windowed games. This mostly depends on " "the hardware installed, drivers version and processes running in parallel (e." @@ -89838,7 +90394,7 @@ msgid "" "Normal\". This helps considerably but may not completely eliminate stutter." msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:92 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:86 msgid "" "Eliminating this completely requires giving your game full privileges to " "become \"time critical\", which is not advised. Some games may do it, but it " @@ -89847,13 +90403,13 @@ msgid "" "window, e.g. puzzle games, will usually not exhibit this problem anyway)." msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:98 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:92 msgid "" "For fullscreen, Windows gives special priority to the game so stutter is no " "longer visible and very rare. This is how most games are played." msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:116 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:110 msgid "" "Stutter may be visible on desktop Linux, but this is usually associated with " "different video drivers and compositors. Some compositors may also trigger " @@ -89863,7 +90419,7 @@ msgid "" "cost of tearing)." msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:123 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:117 msgid "" "There is no workaround for driver or compositor stuttering, other than " "reporting it as an issue to the driver or compositor developers. Stutter may " @@ -89871,21 +90427,21 @@ msgid "" "with compositing disabled." msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:128 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:122 msgid "" "`Feral GameMode `__ can be " "used to automatically apply optimizations (such as forcing the GPU " "performance profile) when running specific processes." msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:135 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:129 msgid "" "Generally, macOS is stutter-free, although recently some bugs were reported " "when running on fullscreen (this is a macOS bug). If you have a machine " "exhibiting this behavior, please let us know." msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:142 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:136 msgid "" "Generally, Android is stutter and jitter-free because the running activity " "gets all the priority. That said, there may be problematic devices (older " @@ -89893,29 +90449,29 @@ msgid "" "let us know." msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:149 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:143 msgid "" "iOS devices are generally stutter-free, but older devices running newer " "versions of the operating system may exhibit problems. This is generally " "unavoidable." msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:153 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:147 msgid "Input lag" msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:156 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:150 msgid "Project configuration" msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:158 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:152 msgid "" "On platforms that support disabling V-Sync, input lag can be made less " "noticeable by disabling V-Sync in the project settings. This will however " "cause tearing to appear, especially on monitors with low refresh rates." msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:162 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:156 msgid "" "Increasing the number of physics iterations per second can also reduce " "physics-induced input latency. This is especially noticeable when using " @@ -89929,7 +90485,7 @@ msgid "" "and physics instability issues less likely to occur." msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:173 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:167 msgid "" "The downside of increasing physics FPS is that CPU usage will increase, " "which can lead to performance bottlenecks in games that have heavy physics " @@ -89942,7 +90498,7 @@ msgid "" "FPS themselves should be avoided for competitive multiplayer games." msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:183 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:177 msgid "" "Lastly, you can disable input buffering on a per-rendered frame basis by " "calling ``Input.set_use_accumulated_input(false)`` in a script. This will " @@ -89952,11 +90508,11 @@ msgid "" "increase CPU usage, so it should be done with caution." msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:191 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:185 msgid "Hardware/OS-specific" msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:193 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:187 msgid "" "If your monitor supports it, consider enabling variable refresh rate (G-Sync/" "FreeSync) while leaving V-Sync enabled, then cap the framerate in the " @@ -89970,13 +90526,13 @@ msgid "" "greater), but without any tearing." msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:204 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:198 msgid "" "This can be done by changing the **Application > Run > Max FPS** project " "setting or assigning ``Engine.max_fps`` at run-time in a script." msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:207 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:201 msgid "" "On some platforms, you can also opt into a low-latency mode in the graphics " "driver options (such as the NVIDIA Control Panel on Windows). The **Ultra** " @@ -89986,13 +90542,13 @@ msgid "" "consumption (and resulting heat/fan noise)." msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:214 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:208 msgid "" "Finally, make sure your monitor is running at its highest possible refresh " "rate in the OS' display settings." msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:217 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:211 msgid "" "Also, ensure that your mouse is configured to use its highest polling rate " "(typically 1,000 Hz for gaming mice, sometimes more). High USB polling rates " @@ -90003,17 +90559,17 @@ msgid "" "v=6AoRfv9W110>`__." msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:223 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:217 msgid "" "On Linux, disabling compositing in window managers that allow it (such as " "KWin or Xfwm) can reduce input lag significantly." msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:227 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:221 msgid "Reporting jitter, stutter or input lag problems" msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:229 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:223 msgid "" "If you are reporting a stutter or jitter problem (opening an issue) not " "caused by any of the above reasons, please specify very clearly all the " @@ -90021,7 +90577,7 @@ msgid "" "This may help to better troubleshoot it." msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:234 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:228 msgid "" "If you are reporting input lag problems, please include a capture made with " "a high speed camera (such as your phone's slow motion video mode). The " @@ -90031,7 +90587,7 @@ msgid "" "input device's polling rate (especially for mice)." msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:241 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:235 msgid "" "Also, make sure to use the correct term (jitter, stutter, input lag) based " "on the exhibited behavior. This will help understand your issue much faster. " @@ -90518,7 +91074,7 @@ msgid "else" msgstr "" #: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:162 -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1533 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1579 msgid "for" msgstr "" @@ -90527,7 +91083,7 @@ msgid "See for_." msgstr "" #: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:164 -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1521 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1567 msgid "while" msgstr "" @@ -90536,7 +91092,7 @@ msgid "See while_." msgstr "" #: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:166 -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1592 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1638 #: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:438 msgid "match" msgstr "" @@ -91181,7 +91737,7 @@ msgid "Null value" msgstr "" #: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:346 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:623 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:629 msgid "``false``, ``true``" msgstr "" @@ -92186,64 +92742,68 @@ msgstr "" #: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1035 msgid "" "The specified values are assigned in the order of the variables in the " -"script, from top to bottom. - *(Only for ``Node``-derived classes)* If the " -"``@onready`` annotation is applied to a variable, its initialization is " -"deferred to step 5." +"script, from top to bottom." msgstr "" #: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1038 +msgid "" +"(Only for ``Node``-derived classes) If the ``@onready`` annotation is " +"applied to a variable, its initialization is deferred to step 5." +msgstr "" + +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1041 msgid "If defined, the ``_init()`` method is called." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1039 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1042 msgid "" "When instantiating scenes and resources, the exported values are assigned." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1040 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1043 msgid "" -"*(Only for ``Node``-derived classes)* ``@onready`` variables are initialized." +"(Only for ``Node``-derived classes) ``@onready`` variables are initialized." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1041 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1044 msgid "" -"*(Only for ``Node``-derived classes)* If defined, the ``_ready()`` method is " +"(Only for ``Node``-derived classes) If defined, the ``_ready()`` method is " "called." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1045 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1048 msgid "" "You can specify a complex expression as a variable initializer, including " "function calls. Make sure the variables are initialized in the correct " "order, otherwise your values may be overwritten. For example::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1061 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1064 msgid "Will print::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1067 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1070 msgid "" "To fix this, move the ``_data`` variable definition above the ``a`` " "definition or remove the empty dictionary assignment (``= {}``)." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1071 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1074 msgid "Static variables" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1073 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1076 msgid "A class member variable can be declared static::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1077 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1080 msgid "" "Static variables belong to the class, not instances. This means that static " "variables share values between multiple instances, unlike regular member " "variables." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1080 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1083 msgid "" "From inside a class, you can access static variables from any function, both " "static and non-static. From outside the class, you can access static " @@ -92251,13 +92811,13 @@ msgid "" "it is less readable)." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1086 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1089 msgid "" "The ``@export`` and ``@onready`` annotations cannot be applied to a static " "variable. Local variables cannot be static." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1089 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1092 msgid "" "The following example defines a ``Person`` class with a static variable " "named ``max_id``. We increment the ``max_id`` in the ``_init()`` function. " @@ -92265,26 +92825,26 @@ msgid "" "our game." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1108 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1111 msgid "" "In this code, we create two instances of our ``Person`` class and check that " "the class and every instance have the same ``max_id`` value, because the " "variable is static and accessible to every instance." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1127 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1130 msgid "Static variables can have type hints, setters and getters::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1137 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1140 msgid "A base class static variable can also be accessed via a child class::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1153 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1156 msgid "``@static_unload`` annotation" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1155 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1158 msgid "" "Since GDScript classes are resources, having static variables in a script " "prevents it from being unloaded even if there are no more instances of that " @@ -92295,60 +92855,60 @@ msgid "" "annotation if static variables don't store important data and can be reset." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1163 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1166 msgid "" "Currently, due to a bug, scripts are never freed, even if ``@static_unload`` " "annotation is used." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1165 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1168 msgid "" "Note that ``@static_unload`` applies to the entire script (including inner " "classes) and must be placed at the top of the script, before ``class_name`` " "and ``extends``::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1172 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1175 msgid "See also `Static functions`_ and `Static constructor`_." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1175 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1178 #: ../../docs/tutorials/shaders/shader_reference/shading_language.rst:126 msgid "Casting" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1177 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1180 msgid "" "Values assigned to typed variables must have a compatible type. If it's " "needed to coerce a value to be of a certain type, in particular for object " "types, you can use the casting operator ``as``." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1181 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1184 msgid "" "Casting between object types results in the same object if the value is of " "the same type or a subtype of the cast type." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1189 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1192 msgid "" "If the value is not a subtype, the casting operation will result in a " "``null`` value." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1196 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1199 msgid "" "For built-in types, they will be forcibly converted if possible, otherwise " "the engine will raise an error." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1205 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1208 msgid "" "Casting is also useful to have better type-safe variables when interacting " "with the scene tree::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1215 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1218 #: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:36 #: ../../docs/tutorials/scripting/how_to_read_the_godot_api.rst:129 #: ../../docs/tutorials/shaders/shader_reference/shading_language.rst:334 @@ -92357,7 +92917,7 @@ msgstr "" msgid "Constants" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1217 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1220 msgid "" "Constants are values you cannot change when the game is running. Their value " "must be known at compile-time. Using the ``const`` keyword allows you to " @@ -92365,55 +92925,55 @@ msgid "" "it's declared will give you an error." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1222 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1225 msgid "We recommend using constants whenever a value is not meant to change." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1235 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1238 msgid "" "Although the type of constants is inferred from the assigned value, it's " "also possible to add explicit type specification::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1241 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1244 msgid "Assigning a value of an incompatible type will raise an error." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1243 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1246 msgid "" "You can also create constants inside a function, which is useful to name " "local magic values." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1247 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1250 msgid "Enums" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1249 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1252 msgid "" "Enums are basically a shorthand for constants, and are pretty useful if you " "want to assign consecutive integers to some constant." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1263 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1266 msgid "" "If you pass a name to the enum, it will put all the keys inside a constant :" "ref:`Dictionary ` of that name. This means all constant " "methods of a dictionary can also be used with a named enum." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1267 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1270 msgid "" "Keys in a named enum are not registered as global constants. They should be " "accessed prefixed by the enum's name (``Name.KEY``)." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1292 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1295 #: ../../docs/tutorials/shaders/shader_reference/shading_language.rst:601 msgid "Functions" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1294 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1297 msgid "" "Functions always belong to a `class `_. The scope priority for " "variable look-up is: local → class member → global. The ``self`` variable is " @@ -92422,35 +92982,35 @@ msgid "" "argument, unlike Python)." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1307 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1310 msgid "" "A function can ``return`` at any point. The default return value is ``null``." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1309 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1312 msgid "" "If a function contains only one line of code, it can be written on one line::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1317 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1320 msgid "" "Functions can also have type specification for the arguments and for the " "return value. Types for arguments can be added in a similar way to " "variables::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1323 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1326 msgid "" "If a function argument has a default value, it's possible to infer the type::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1328 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1331 msgid "" "The return type of the function can be specified after the arguments list " "using the arrow token (``->``)::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1334 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1337 msgid "" "Functions that have a return type **must** return a proper value. Setting " "the type as ``void`` means the function doesn't return anything. Void " @@ -92458,7 +93018,7 @@ msgid "" "return any value." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1343 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1346 msgid "" "Non-void functions must **always** return a value, so if your code has " "branching statements (such as an ``if``/``else`` construct), all the " @@ -92467,65 +93027,91 @@ msgid "" "block is not executed, the function won't have a valid value to return." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1351 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1354 msgid "Referencing functions" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1353 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1356 msgid "" -"Functions are first-class items in terms of the :ref:`Callable " +"Functions are first-class values in terms of the :ref:`Callable " "` object. Referencing a function by name without calling it " "will automatically generate the proper callable. This can be used to pass " "functions as arguments." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1373 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1378 msgid "" -"Callables **must** be called with the ``call`` method. You cannot use the " -"``()`` operator directly. This behavior is implemented to avoid performance " -"issues on direct function calls." +"Callables **must** be called with the :ref:`call() " +"` method. You cannot use the ``()`` operator " +"directly. This behavior is implemented to avoid performance issues on direct " +"function calls." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1378 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1383 msgid "Lambda functions" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1380 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1385 msgid "" "Lambda functions allow you to declare functions that do not belong to a " -"class. Instead a :ref:`Callable ` object is created and " -"assigned to a variable directly. This can be useful to create Callables to " +"class. Instead, a :ref:`Callable ` object is created and " +"assigned to a variable directly. This can be useful to create callables to " "pass around without polluting the class scope." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1388 -msgid "Lambda functions can be named for debugging purposes::" +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1394 +msgid "" +"To call the created lambda you can use the :ref:`call() " +"` method::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1393 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1398 msgid "" -"Note that if you want to return a value from a lambda, an explicit " +"Lambda functions can be named for debugging purposes (the name is displayed " +"in the Debugger)::" +msgstr "" + +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1403 +msgid "" +"You can specify type hints for lambda functions in the same way as for " +"regular ones::" +msgstr "" + +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1408 +msgid "" +"Note that if you want to return a value from a lambda function, an explicit " "``return`` is required (you can't omit ``return``)::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1399 -msgid "" -"Lambda functions capture the local environment. Local variables are passed " -"by value, so they won't be updated in the lambda if changed in the local " -"function::" +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1414 +msgid "Lambda functions capture the local environment::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1407 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1423 msgid "" -"The values of the outer scope behave like constants. Therefore, if you " -"declare an array or dictionary, it can still be modified afterwards." +"Local variables are captured by value once, when the lambda is created. So " +"they won't be updated in the lambda if reassigned in the outer function::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1410 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1432 +msgid "" +"Also, a lambda cannot reassign an outer local variable. After exiting the " +"lambda, the variable will be unchanged, because the lambda capture " +"implicitly shadows it::" +msgstr "" + +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1443 +msgid "" +"However, if you use pass-by-reference data types (arrays, dictionaries, and " +"objects), then the content changes are shared until you reassign the " +"variable::" +msgstr "" + +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1456 msgid "Static functions" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1412 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1458 msgid "" "A function can be declared static. When a function is static, it has no " "access to the instance member variables or ``self``. A static function has " @@ -92533,30 +93119,30 @@ msgid "" "libraries of helper functions::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1418 -msgid "Lambdas cannot be declared static." +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1464 +msgid "Lambda functions cannot be declared static." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1420 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1466 msgid "See also `Static variables`_ and `Static constructor`_." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1423 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1469 msgid "Statements and control flow" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1425 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1471 msgid "" "Statements are standard and can be assignments, function calls, control flow " "structures, etc (see below). ``;`` as a statement separator is entirely " "optional." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1430 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1476 msgid "Expressions" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1432 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1478 msgid "" "Expressions are sequences of operators and their operands in orderly " "fashion. An expression by itself can be a statement too, though only calls " @@ -92564,28 +93150,28 @@ msgid "" "effects." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1435 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1481 msgid "" "Expressions return values that can be assigned to valid targets. Operands to " "some operator can be another expression. An assignment is not an expression " "and thus does not return any value." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1438 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1484 msgid "Here are some examples of expressions::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1454 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1500 msgid "" "Identifiers, attributes, and subscripts are valid assignment targets. Other " "expressions cannot be on the left side of an assignment." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1458 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1504 msgid "if/else/elif" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1460 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1506 msgid "" "Simple conditions are created by using the ``if``/``else``/``elif`` syntax. " "Parenthesis around conditions are allowed, but not required. Given the " @@ -92593,31 +93179,31 @@ msgid "" "``else``/``if`` to maintain a level of indentation." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1474 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1520 msgid "Short statements can be written on the same line as the condition::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1481 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1527 msgid "" "Sometimes, you might want to assign a different initial value based on a " "boolean expression. In this case, ternary-if expressions come in handy::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1487 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1533 msgid "" "Ternary-if expressions can be nested to handle more than 2 cases. When " "nesting ternary-if expressions, it is recommended to wrap the complete " "expression over multiple lines to preserve readability::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1510 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1556 msgid "" "You may also wish to check if a value is contained within something. You can " "use an ``if`` statement combined with the ``in`` operator to accomplish " "this::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1523 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1569 msgid "" "Simple loops are created by using ``while`` syntax. Loops can be broken " "using ``break`` or continued using ``continue`` (which skips to the next " @@ -92625,7 +93211,7 @@ msgid "" "iteration):" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1535 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1581 msgid "" "To iterate through a range, such as an array or table, a *for* loop is used. " "When iterating over an array, the current array element is stored in the " @@ -92633,27 +93219,27 @@ msgid "" "loop variable." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1570 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1616 msgid "" "If you want to assign values on an array as it is being iterated through, it " "is best to use ``for i in array.size()``." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1579 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1625 msgid "" "The loop variable is local to the for-loop and assigning to it will not " "change the value on the array. Objects passed by reference (such as nodes) " "can still be manipulated by calling methods on the loop variable." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1594 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1640 msgid "" "A ``match`` statement is used to branch execution of a program. It's the " "equivalent of the ``switch`` statement found in many other languages, but " "offers some additional features." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1599 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1645 msgid "" "``match`` is more type strict than the ``==`` operator. For example ``1`` " "will **not** match ``1.0``. The only exception is ``String`` vs " @@ -92661,170 +93247,170 @@ msgid "" "equal to the StringName ``&\"hello\"``." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1603 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1649 msgid "Basic syntax" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1615 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1661 msgid "Crash-course for people who are familiar with switch statements" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1617 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1663 msgid "Replace ``switch`` with ``match``." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1618 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1664 msgid "Remove ``case``." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1619 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1665 msgid "Remove any ``break``\\ s." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1620 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1666 msgid "Change ``default`` to a single underscore." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1623 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1669 msgid "Control flow" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1625 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1671 msgid "" "The patterns are matched from top to bottom. If a pattern matches, the first " "corresponding block will be executed. After that, the execution continues " "below the ``match`` statement." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1630 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1676 msgid "" "The special ``continue`` behavior in ``match`` supported in 3.x was removed " "in Godot 4.0." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1632 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1678 msgid "The following pattern types are available:" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1643 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1689 msgid "Literal pattern" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1635 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1681 msgid "Matches a `literal `_::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1654 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1700 msgid "Expression pattern" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1646 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1692 msgid "" "Matches a constant expression, an identifier, or an attribute access (``A." "B``)::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1667 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1713 msgid "Wildcard pattern" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1657 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1703 msgid "This pattern matches everything. It's written as a single underscore." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1659 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1705 msgid "" "It can be used as the equivalent of the ``default`` in a ``switch`` " "statement in other languages::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1679 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1725 msgid "Binding pattern" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1670 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1716 msgid "" "A binding pattern introduces a new variable. Like the wildcard pattern, it " "matches everything - and also gives that value a name. It's especially " "useful in array and dictionary patterns::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1700 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1746 msgid "Array pattern" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1682 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1728 msgid "" "Matches an array. Every single element of the array pattern is a pattern " "itself, so you can nest them." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1684 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1730 msgid "" "The length of the array is tested first, it has to be the same size as the " "pattern, otherwise the pattern doesn't match." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1686 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1732 msgid "" "**Open-ended array**: An array can be bigger than the pattern by making the " "last subpattern ``..``." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1688 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1734 msgid "Every subpattern has to be comma-separated." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1727 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1773 msgid "Dictionary pattern" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1703 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1749 msgid "" "Works in the same way as the array pattern. Every key has to be a constant " "pattern." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1705 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1751 msgid "" "The size of the dictionary is tested first, it has to be the same size as " "the pattern, otherwise the pattern doesn't match." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1707 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1753 msgid "" "**Open-ended dictionary**: A dictionary can be bigger than the pattern by " "making the last subpattern ``..``." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1709 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1755 msgid "Every subpattern has to be comma separated." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1711 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1757 msgid "" "If you don't specify a value, then only the existence of the key is checked." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1713 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1759 msgid "A value pattern is separated from the key pattern with a ``:``." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1738 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1784 msgid "Multiple patterns" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1730 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1776 msgid "" "You can also specify multiple patterns separated by a comma. These patterns " "aren't allowed to have any bindings in them." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1741 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1787 msgid "Pattern guards" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1743 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1789 msgid "" "Only one branch can be executed per ``match``. Once a branch is chosen, the " "rest are not checked. If you want to use the same pattern for multiple " @@ -92833,41 +93419,41 @@ msgid "" "keyword::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1761 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1807 msgid "" "If there is no matching pattern for the current branch, the guard expression " "is **not** evaluated and the patterns of the next branch are checked." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1763 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1809 msgid "If a matching pattern is found, the guard expression is evaluated." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1765 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1811 msgid "" "If it's true, then the body of the branch is executed and ``match`` ends." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1766 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1812 msgid "If it's false, then the patterns of the next branch are checked." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1769 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1815 msgid "Classes" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1771 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1817 msgid "" "By default, all script files are unnamed classes. In this case, you can only " "reference them using the file's path, using either a relative or an absolute " "path. For example, if you name a script file ``character.gd``::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1787 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1833 msgid "Registering named classes" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1789 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1835 msgid "" "You can give your class a name to register it as a new type in Godot's " "editor. For that, you use the ``class_name`` keyword. You can optionally use " @@ -92875,7 +93461,7 @@ msgid "" "class will then appear with its new icon in the editor::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1804 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1850 msgid "" "SVG images that are used as custom node icons should have the **Editor > " "Scale With Editor Scale** and **Editor > Convert Icons With Editor Theme** :" @@ -92884,16 +93470,16 @@ msgid "" "icons are designed with the same color palette as Godot's own icons." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1810 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1856 msgid "Here's a class file example:" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1831 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1877 msgid "" "If you want to use ``extends`` too, you can keep both on the same line::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1837 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1883 msgid "" "Godot initializes non-static variables every time you create an instance, " "and this includes arrays and dictionaries. This is in the spirit of thread " @@ -92901,82 +93487,82 @@ msgid "" "user knowing." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1842 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1888 #: ../../docs/tutorials/scripting/how_to_read_the_godot_api.rst:13 #: ../../docs/tutorials/scripting/cross_language_scripting.rst:227 msgid "Inheritance" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1844 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1890 msgid "A class (stored as a file) can inherit from:" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1846 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1892 msgid "A global class." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1847 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1893 msgid "Another class file." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1848 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1894 msgid "An inner class inside another class file." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1850 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1896 msgid "Multiple inheritance is not allowed." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1852 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1898 msgid "Inheritance uses the ``extends`` keyword::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1865 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1911 msgid "" "If inheritance is not explicitly defined, the class will default to " "inheriting :ref:`class_RefCounted`." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1868 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1914 msgid "" "To check if a given instance inherits from a given class, the ``is`` keyword " "can be used::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1880 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1926 msgid "" "To call a function in a *super class* (i.e. one ``extend``-ed in your " "current class), use the ``super`` keyword::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1885 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1931 msgid "" "This is especially useful because functions in extending classes replace " "functions with the same name in their super classes. If you still want to " "call them, you can use ``super``::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1892 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1938 msgid "" "If you need to call a different function from the super class, you can " "specify the function name with the attribute operator::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1903 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1949 msgid "" "One of the common misconceptions is trying to override *non-virtual* engine " "methods such as ``get_class()``, ``queue_free()``, etc. This is not " "supported for technical reasons." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1906 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1952 msgid "" "In Godot 3, you can *shadow* engine methods in GDScript, and it will work if " "you call this method in GDScript. However, the engine will **not** execute " "your code if the method is called inside the engine on some event." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1909 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1955 msgid "" "In Godot 4, even shadowing may not always work, as GDScript optimizes native " "method calls. Therefore, we added the ``NATIVE_METHOD_OVERRIDE`` warning, " @@ -92984,7 +93570,7 @@ msgid "" "disabling or ignoring the warning." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1913 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1959 msgid "" "Note that this does not apply to virtual methods such as ``_ready()``, " "``_process()`` and others (marked with the ``virtual`` qualifier in the " @@ -92993,28 +93579,28 @@ msgid "" "GDScript. Signals and notifications can also be useful for these purposes." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1919 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1965 msgid "Class constructor" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1921 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1967 msgid "" "The class constructor, called on class instantiation, is named ``_init``. If " "you want to call the base class constructor, you can also use the ``super`` " -"syntax. Note that every class has an implicit constructor that it's always " +"syntax. Note that every class has an implicit constructor that is always " "called (defining the default values of class variables). ``super`` is used " "to call the explicit constructor::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1930 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1976 msgid "This is better explained through examples. Consider this scenario::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1954 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2000 msgid "There are a few things to keep in mind here:" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1956 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2002 msgid "" "If the inherited class (``state.gd``) defines a ``_init`` constructor that " "takes arguments (``e`` in this case), then the inheriting class (``idle." @@ -93022,19 +93608,19 @@ msgid "" "``_init`` from ``state.gd``." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1959 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2005 msgid "" "``idle.gd`` can have a different number of arguments than the base class " "``state.gd``." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1960 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2006 msgid "" "In the example above, ``e`` passed to the ``state.gd`` constructor is the " "same ``e`` passed in to ``idle.gd``." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1962 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2008 msgid "" "If ``idle.gd``'s ``_init`` constructor takes 0 arguments, it still needs to " "pass some value to the ``state.gd`` base class, even if it does nothing. " @@ -93042,37 +93628,37 @@ msgid "" "constructor as well, not just variables, e.g.::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1972 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2018 msgid "Static constructor" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1974 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2020 msgid "" "A static constructor is a static function ``_static_init`` that is called " "automatically when the class is loaded, after the static variables have been " "initialized::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1982 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2028 msgid "" "A static constructor cannot take arguments and must not return any value." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1987 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2033 msgid "Inner classes" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1989 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2035 msgid "" "A class file can contain inner classes. Inner classes are defined using the " "``class`` keyword. They are instanced using the ``ClassName.new()`` function." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2014 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2060 msgid "Classes as resources" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2016 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2062 msgid "" "Classes stored as files are treated as :ref:`GDScripts `. " "They must be loaded from disk to access them in other classes. This is done " @@ -93081,27 +93667,27 @@ msgid "" "class object::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2033 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2079 msgid "Exports" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2037 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2083 msgid "" "Documentation about exports has been moved to :ref:`doc_gdscript_exports`." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2043 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2089 msgid "Properties (setters and getters)" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2045 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2091 msgid "" "Sometimes, you want a class' member variable to do more than just hold data " "and actually perform some validation or computation whenever its value " "changes. It may also be desired to encapsulate its access in some way." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2049 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2095 msgid "" "For this, GDScript provides a special syntax to define properties using the " "``set`` and ``get`` keywords after a variable declaration. Then you can " @@ -93109,25 +93695,25 @@ msgid "" "assigned." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2053 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2099 #: ../../docs/tutorials/scripting/gdscript/static_typing.rst:175 msgid "Example::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2064 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2110 msgid "" -"Unlike ``setget`` in previous Godot versions, the properties setter and " -"getter are **always** called (except as noted below), even when accessed " -"inside the same class (with or without prefixing with ``self.``). This makes " -"the behavior consistent. If you need direct access to the value, use another " +"Unlike ``setget`` in previous Godot versions, ``set`` and ``get`` methods " +"are **always** called (except as noted below), even when accessed inside the " +"same class (with or without prefixing with ``self.``). This makes the " +"behavior consistent. If you need direct access to the value, use another " "variable for direct access and make the property code use that name." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2070 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2116 msgid "Alternative syntax" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2072 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2118 msgid "" "Also there is another notation to use existing class functions if you want " "to split the code from the variable declaration or you need to reuse the " @@ -93135,17 +93721,17 @@ msgid "" "the setter/getter is being called for)::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2078 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2124 msgid "This can also be done in the same line::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2082 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2128 msgid "" "The setter and getter must use the same notation, mixing styles for the same " "variable is not allowed." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2086 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2132 msgid "" "You cannot specify type hints for *inline* setters and getters. This is done " "on purpose to reduce the boilerplate. If the variable is typed, then the " @@ -93154,18 +93740,18 @@ msgid "" "and the type must match the variable's type or be a wider type." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2091 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2137 msgid "When setter/getter is not called" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2093 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2139 msgid "" "When a variable is initialized, the value of the initializer will be written " "directly to the variable. Including if the ``@onready`` annotation is " "applied to the variable." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2096 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2142 msgid "" "Using the variable's name to set it inside its own setter or to get it " "inside its own getter will directly access the underlying member, so it " @@ -93173,22 +93759,22 @@ msgid "" "another variable::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2107 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2153 msgid "This also applies to the alternative syntax::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2116 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2162 msgid "" "The exception does **not** propagate to other functions called in the setter/" "getter. For example, the following code **will** cause an infinite " "recursion::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2129 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2175 msgid "Tool mode" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2131 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2177 msgid "" "By default, scripts don't run inside the editor and only the exported " "properties can be changed. In some cases, it is desired that they do run " @@ -93197,22 +93783,22 @@ msgid "" "the top of the file::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2144 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2190 msgid "See :ref:`doc_running_code_in_the_editor` for more information." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2146 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2192 msgid "" "Be cautious when freeing nodes with ``queue_free()`` or ``free()`` in a tool " "script (especially the script's owner itself). As tool scripts run their " "code in the editor, misusing them may lead to crashing the editor." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2154 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2200 msgid "Memory management" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2156 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2202 msgid "" "Godot implements reference counting to free certain instances that are no " "longer used, instead of a garbage collector, or requiring purely manual " @@ -93224,13 +93810,13 @@ msgid "" "``free()`` (or ``queue_free()`` for Nodes)." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2167 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2213 msgid "" "If a :ref:`class_Node` is deleted via ``free()`` or ``queue_free()``, all of " "its children will also recursively be deleted." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2170 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2216 msgid "" "To avoid reference cycles that can't be freed, a :ref:`class_WeakRef` " "function is provided for creating weak references, which allow access to the " @@ -93238,20 +93824,20 @@ msgid "" "example:" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2195 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2241 msgid "" "Alternatively, when not using references, the " "``is_instance_valid(instance)`` can be used to check if an object has been " "freed." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2204 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2250 msgid "" "Signals are a tool to emit messages from an object that other objects can " "react to. To create custom signals for a class, use the ``signal`` keyword." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2217 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2263 msgid "" "Signals are a `Callback `_ mechanism. They also fill the role of " @@ -93260,31 +93846,31 @@ msgid "" "the Game Programming Patterns ebook." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2224 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2270 msgid "" "You can connect these signals to methods the same way you connect built-in " "signals of nodes like :ref:`class_Button` or :ref:`class_RigidBody3D`." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2227 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2273 msgid "" "In the example below, we connect the ``health_depleted`` signal from a " "``Character`` node to a ``Game`` node. When the ``Character`` node emits the " "signal, the game node's ``_on_character_health_depleted`` is called::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2241 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2287 msgid "You can emit as many arguments as you want along with a signal." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2243 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2289 msgid "" "Here is an example where this is useful. Let's say we want a life bar on " "screen to react to health changes with an animation, but we want to keep the " "user interface separate from the player in our scene tree." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2247 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2293 msgid "" "In our ``character.gd`` script, we define a ``health_changed`` signal and " "emit it with :ref:`Signal.emit() `, and from a " @@ -93292,26 +93878,26 @@ msgid "" "using the :ref:`Signal.connect() ` method::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2286 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2332 msgid "" "In the ``Game`` node, we get both the ``Character`` and ``Lifebar`` nodes, " "then connect the character, that emits the signal, to the receiver, the " "``Lifebar`` node in this case." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2300 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2346 msgid "" "This allows the ``Lifebar`` to react to health changes without coupling it " "to the ``Character`` node." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2303 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2349 msgid "" "You can write optional argument names in parentheses after the signal's " "definition::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2309 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2355 msgid "" "These 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 " @@ -93319,7 +93905,7 @@ msgid "" "values." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2315 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2361 msgid "" "GDScript can bind an array of values to connections between a signal and a " "method. When the signal is emitted, the callback method receives the bound " @@ -93327,14 +93913,14 @@ msgid "" "will stay the same." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2320 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2366 msgid "" "You can use this array of values to add extra constant information to the " "connection if the emitted signal itself doesn't give you access to all the " "data that you need." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2324 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2370 msgid "" "Building on the example above, let's say we want to display a log of the " "damage taken by each character on the screen, like ``Player1 took 22 damage." @@ -93343,17 +93929,17 @@ msgid "" "can add the character's name in the binds array argument::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2338 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2384 msgid "" "Our ``BattleLog`` node receives each element in the binds array as an extra " "argument::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2351 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2397 msgid "Awaiting signals or coroutines" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2353 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2399 msgid "" "The ``await`` keyword can be used to create `coroutines `_ which wait until a signal is emitted before " @@ -93363,45 +93949,45 @@ msgid "" "it will resume execution from the point on where it stopped." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2358 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2404 msgid "" "For example, to stop execution until the user presses a button, you can do " "something like this::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2366 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2412 msgid "" "In this case, the ``wait_confirmation`` becomes a coroutine, which means " "that the caller also needs to await it::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2376 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2422 msgid "" "Note that requesting a coroutine's return value without ``await`` will " "trigger an error::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2381 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2427 msgid "" "However, if you don't depend on the result, you can just call it " "asynchronously, which won't stop execution and won't make the current " "function a coroutine::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2388 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2434 msgid "" "If you use await with an expression that isn't a signal nor a coroutine, the " "value will be returned immediately and the function won't give the control " "back to the caller::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2398 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2444 msgid "" "This also means that returning a signal from a function that isn't a " "coroutine will make the caller await that signal::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2407 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2453 msgid "" "Unlike ``yield`` in previous Godot versions, you cannot obtain the function " "state object. This is done to ensure type safety. With this type safety in " @@ -93409,11 +93995,11 @@ msgid "" "returns a function state object during runtime." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2413 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2459 msgid "Assert keyword" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2415 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2461 msgid "" "The ``assert`` keyword can be used to check conditions in debug builds. " "These assertions are ignored in non-debug builds. This means that the " @@ -93423,13 +94009,13 @@ msgid "" "depending on whether the project is run in a debug build." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2427 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2473 msgid "" "When running a project from the editor, the project will be paused if an " "assertion error occurs." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2430 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2476 msgid "" "You can optionally pass a custom error message to be shown if the assertion " "fails::" @@ -95614,10 +96200,10 @@ msgstr "" #: ../../docs/tutorials/scripting/gdscript/gdscript_styleguide.rst:846 msgid "" -"The GDScript compiler evaluates onready variables right before the " -"``_ready`` callback. You can use that to cache node dependencies, that is to " -"say, to get child nodes in the scene that your class relies on. This is what " -"the example above shows." +"GDScript evaluates ``@onready`` variables right before the ``_ready`` " +"callback. You can use that to cache node dependencies, that is to say, to " +"get child nodes in the scene that your class relies on. This is what the " +"example above shows." msgstr "" #: ../../docs/tutorials/scripting/gdscript/gdscript_styleguide.rst:852 @@ -103227,7 +103813,7 @@ msgid "" msgstr "" #: ../../docs/tutorials/scripting/gdextension/index.rst:4 -#: ../../docs/contributing/development/compiling/compiling_for_web.rst:69 +#: ../../docs/contributing/development/compiling/compiling_for_web.rst:75 msgid "GDExtension" msgstr "" @@ -103816,34 +104402,10 @@ msgid "We're finally ready to run the project:" msgstr "" #: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:441 -msgid "Custom editor icon" -msgstr "" - -#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:442 -msgid "" -"By default, Godot uses the node icon in the scene dock for GDExtension " -"nodes. The custom icon can be added via the ``gdextension`` file. The node's " -"icon is set by reference to its name and resource path of an SVG file." -msgstr "" - -#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:446 -#: ../../docs/tutorials/scripting/creating_script_templates.rst:74 -#: ../../docs/contributing/development/core_and_modules/object_class.rst:143 -#: ../../docs/contributing/documentation/class_reference_primer.rst:248 -msgid "For example:" -msgstr "" - -#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:454 -msgid "" -"The path should point to a 16 by 16 pixel SVG image. Read the guide for :ref:" -"`creating icons ` for more information." -msgstr "" - -#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:458 msgid "Adding properties" msgstr "" -#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:460 +#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:443 msgid "" "GDScript allows you to add properties to your script using the ``export`` " "keyword. In GDExtension you have to register the properties with a getter " @@ -103852,25 +104414,25 @@ msgid "" "scope of this tutorial)." msgstr "" -#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:466 +#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:449 msgid "" "Lets add a property that allows us to control the amplitude of our wave." msgstr "" -#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:468 +#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:451 msgid "" "In our ``gdexample.h`` file we need to add a member variable and getter and " "setter functions:" msgstr "" -#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:483 +#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:466 msgid "" "In our ``gdexample.cpp`` file we need to make a number of changes, we will " "only show the methods we end up changing, don't remove the lines we're " "omitting:" msgstr "" -#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:519 +#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:502 msgid "" "Once you compile the module with these changes in place, you will see that a " "property has been added to our interface. You can now change this property " @@ -103878,21 +104440,21 @@ msgid "" "along a larger figure." msgstr "" -#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:524 +#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:507 msgid "" "Let's do the same but for the speed of our animation and use a setter and " "getter function. Our ``gdexample.h`` header file again only needs a few more " "lines of code:" msgstr "" -#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:539 +#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:522 msgid "" "This requires a few more changes to our ``gdexample.cpp`` file, again we're " "only showing the methods that have changed so don't remove anything we're " "omitting:" msgstr "" -#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:578 +#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:561 msgid "" "Now when the project is compiled, we'll see another property called speed. " "Changing its value will make the animation go faster or slower. Furthermore, " @@ -103901,14 +104463,14 @@ msgid "" "the step size." msgstr "" -#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:585 +#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:568 msgid "" "For simplicity, we've only used the hint_range of the property method. There " "are a lot more options to choose from. These can be used to further " "configure how properties are displayed and set on the Godot side." msgstr "" -#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:592 +#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:575 msgid "" "Last but not least, signals fully work in GDExtension as well. Having your " "extension react to a signal given out by another object requires you to call " @@ -103916,11 +104478,11 @@ msgid "" "wobbling Godot icon, we would need to showcase a far more complete example." msgstr "" -#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:597 +#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:580 msgid "This is the required syntax:" msgstr "" -#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:603 +#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:586 msgid "" "To connect our signal ``the_signal`` from some other node with our method " "``my_method``, we need to provide the ``connect`` method with the name of " @@ -103932,20 +104494,20 @@ msgid "" "method of which object it needs to call." msgstr "" -#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:611 +#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:594 msgid "" "Note that you can only call ``my_method`` if you've previously registered it " "in your ``_bind_methods`` method. Otherwise Godot will not know about the " "existence of ``my_method``." msgstr "" -#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:615 +#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:598 msgid "" "To learn more about ``Callable``, check out the class reference here: :ref:" "`Callable `." msgstr "" -#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:617 +#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:600 msgid "" "Having your object sending out signals is more common. For our wobbling " "Godot icon, we'll do something silly just to show how it works. We're going " @@ -103953,26 +104515,26 @@ msgid "" "along." msgstr "" -#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:621 +#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:604 msgid "" "In our ``gdexample.h`` header file, we need to define a new member " "``time_emit``:" msgstr "" -#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:631 +#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:614 msgid "" "This time, the changes in ``gdexample.cpp`` are more elaborate. First, " "you'll need to set ``time_emit = 0.0;`` in either our ``_init`` method or in " "our constructor. We'll look at the other 2 needed changes one by one." msgstr "" -#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:635 +#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:618 msgid "" "In our ``_bind_methods`` method, we need to declare our signal. This is done " "as follows:" msgstr "" -#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:647 +#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:630 msgid "" "Here, our ``ADD_SIGNAL`` macro can be a single call with a ``MethodInfo`` " "argument. ``MethodInfo``'s first parameter will be the signal's name, and " @@ -103982,7 +104544,7 @@ msgid "" "parameter will have by default." msgstr "" -#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:653 +#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:636 msgid "" "So here, we add a signal, with a ``MethodInfo`` which names the signal " "\"position_changed\". The ``PropertyInfo`` parameters describe two essential " @@ -103990,17 +104552,17 @@ msgid "" "respectively named \"node\" and \"new_pos\"." msgstr "" -#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:657 +#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:640 msgid "Next, we'll need to change our ``_process`` method:" msgstr "" -#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:679 +#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:662 msgid "" "After a second has passed, we emit our signal and reset our counter. We can " "add our parameter values directly to ``emit_signal``." msgstr "" -#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:682 +#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:665 msgid "" "Once the GDExtension library is compiled, we can go into Godot and select " "our sprite node. In the **Node** dock, we can find our new signal and link " @@ -104008,16 +104570,262 @@ msgid "" "We've added a script on our main node and implemented our signal like this:" msgstr "" -#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:694 +#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:677 msgid "Every second, we output our position to the console." msgstr "" -#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:699 +#: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:682 msgid "" "We hope the above example showed you the basics. You can build upon this " "example to create full-fledged scripts to control nodes in Godot using C++." msgstr "" +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:4 +msgid "The .gdextension file" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:9 +msgid "" +"The ``.gdextension`` file in your project contains the instructions for how " +"to load the GDExtension. The instructions are separated into specific " +"sections. This page should give you a quick overview of the different " +"options available to you. For an introduction how to get started with " +"GDExtensions take a look at the :ref:`GDExtension C++ Example " +"`." +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:15 +msgid "Configuration section" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:18 +msgid "Property" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:20 +msgid "**entry_symbol**" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:20 +msgid "" +"Name of the entry function for initializing the GDExtension. This function " +"should be defined in the ``register_types.cpp`` file when using godot-cpp. " +"Adding this is necessary for the extension to work." +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:24 +msgid "**compatibility_minimum**" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:24 +msgid "" +"Minimum compatible version. This prevents older versions of Godot from " +"loading extensions that depend on features from newer versions of Godot. " +"**Only supported in Godot 4.1 or later**" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:27 +msgid "**compatibility_maximum**" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:27 +msgid "" +"Maximum compatible version. This prevents newer versions of Godot from " +"loading the extension. **Only supported in Godot 4.3 or later**" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:30 +msgid "**reloadable**" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:30 +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:34 +#: ../../docs/tutorials/shaders/visual_shaders.rst:127 +msgid "Boolean" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:30 +msgid "" +"Reloads the extension upon recompilation. Reloading is supported for the " +"godot-cpp binding in Godot 4.2 or later. Other language bindings may or may " +"not support it as well. This flag should be mainly used for developing or " +"debugging an extension." +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:34 +msgid "**android_aar_plugin**" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:34 +msgid "" +"The GDExtension is part of a :ref:`v2 Android plugin `. " +"During export this flag will indicate to the editor that the GDExtension " +"native shared libraries are exported by the Android plugin AAR binaries." +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:40 +msgid "Libraries section" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:42 +msgid "" +"In this section you can set the paths to the compiled binaries of your " +"GDExtension libraries. By specifying feature flags you can filter which " +"version should be loaded and exported with your game depending on which " +"feature flags are active. Every feature flag must match to Godot's feature " +"flags or your custom export flags to be loaded in an exported game. For " +"instance ``macos.debug`` means that it will be loaded if Godot has both the " +"``macos`` and ``debug`` flag active. Each line of the section is evaluated " +"from top to bottom." +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:49 +msgid "Here is an example of what that can look like:" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:69 +msgid "" +"Here are lists of some of the available built-in options (for more look at " +"the :ref:`feature tags `):" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:72 +msgid "Running system" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:75 +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:98 +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:111 +msgid "Flag" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:77 +msgid "Windows operating system" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:79 +msgid "Mac operating system" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:81 +msgid "Linux operating system" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:83 +msgid "BSD operating system" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:85 +msgid "Linux or BSD operating system" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:87 +msgid "Android operating system" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:89 +msgid "iOS operating system" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:91 +msgid "Web browser" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:95 +msgid "Build" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:100 +msgid "Build with debug symbols" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:102 +msgid "Optimized build without debug symbols" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:104 +msgid "Editor build" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:108 +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:243 +msgid "Architecture" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:113 +msgid "double-precision build" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:115 +msgid "single-precision build" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:117 +msgid "64-bit x86 build" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:119 +msgid "64-bit ARM build" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:121 +msgid "64-bit RISC-V build" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:123 +msgid "RISC-V build (any bitness)" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:125 +msgid "32-bit WebAssembly build" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:129 +msgid "Icons section" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:131 +msgid "" +"By default, Godot uses the Node icon in the scene dock for GDExtension " +"nodes. A custom icon can be set by reference to its name and resource path " +"of an SVG file." +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:134 +#: ../../docs/tutorials/scripting/creating_script_templates.rst:74 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:143 +#: ../../docs/contributing/documentation/class_reference_primer.rst:248 +msgid "For example:" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:142 +msgid "" +"The path should point to a 16 by 16 pixel SVG image. Read the guide for :ref:" +"`creating icons ` for more information." +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:146 +msgid "Dependencies section" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:148 +msgid "" +"In this section you set the paths of the GDExtension dependencies. This is " +"used internally to export the dependencies when exporting your game " +"executable. You are able to set which dependency is loaded depending on the " +"feature flags of the exported executable. In addition, you are able to set " +"an optional subdirectory to move your dependencies into. If no path is " +"supplied Godot will move the libraries into the same directory as your game " +"executable." +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/gdextension_file.rst:154 +msgid "" +"In MacOS it is necessary to have shared libraries inside a folder called " +"``Frameworks`` with a directory structure like this: ``Game.app/Contents/" +"Frameworks``." +msgstr "" + #: ../../docs/tutorials/scripting/how_to_read_the_godot_api.rst:4 msgid "How to read the Godot API" msgstr "" @@ -107631,8 +108439,8 @@ msgstr "" #: ../../docs/tutorials/scripting/singletons_autoload.rst:63 msgid "" -"To autoload a scene or script, select **Project > Project Settings** from " -"the menu and switch to the **Autoload** tab." +"To autoload a scene or script, start from the menu and navigate to **Project " +"> Project Settings > Globals > Autoload**." msgstr "" #: ../../docs/tutorials/scripting/singletons_autoload.rst:68 @@ -107716,19 +108524,19 @@ msgstr "" #: ../../docs/tutorials/scripting/singletons_autoload.rst:148 msgid "" -"The next step is to add this script to the autoLoad list. Open **Project > " -"Project Settings** from the menu, switch to the **Autoload** tab and select " +"The next step is to add this script to the autoLoad list. Starting from the " +"menu, open **Project > Project Settings > Globals > Autoload** and select " "the script by clicking the browse button or typing its path: ``res://global." "gd``. Press **Add** to add it to the autoload list:" msgstr "" -#: ../../docs/tutorials/scripting/singletons_autoload.rst:155 +#: ../../docs/tutorials/scripting/singletons_autoload.rst:156 msgid "" "Now whenever we run any scene in the project, this script will always be " "loaded." msgstr "" -#: ../../docs/tutorials/scripting/singletons_autoload.rst:157 +#: ../../docs/tutorials/scripting/singletons_autoload.rst:158 msgid "" "Returning to the script, it needs to fetch the current scene in the " "`_ready()` function. Both the current scene (the one with the button) and " @@ -107736,13 +108544,13 @@ msgid "" "This means that the last child of root is always the loaded scene." msgstr "" -#: ../../docs/tutorials/scripting/singletons_autoload.rst:188 +#: ../../docs/tutorials/scripting/singletons_autoload.rst:189 msgid "" "Now we need a function for changing the scene. This function needs to free " "the current scene and replace it with the requested one." msgstr "" -#: ../../docs/tutorials/scripting/singletons_autoload.rst:257 +#: ../../docs/tutorials/scripting/singletons_autoload.rst:258 msgid "" "Using :ref:`Object.call_deferred() `, the " "second function will only run once all code from the current scene has " @@ -107750,18 +108558,18 @@ msgid "" "being used (i.e. its code is still running)." msgstr "" -#: ../../docs/tutorials/scripting/singletons_autoload.rst:262 +#: ../../docs/tutorials/scripting/singletons_autoload.rst:263 msgid "" "Finally, we need to fill the empty callback functions in the two scenes:" msgstr "" -#: ../../docs/tutorials/scripting/singletons_autoload.rst:302 +#: ../../docs/tutorials/scripting/singletons_autoload.rst:303 msgid "" "Run the project and test that you can switch between scenes by pressing the " "button." msgstr "" -#: ../../docs/tutorials/scripting/singletons_autoload.rst:307 +#: ../../docs/tutorials/scripting/singletons_autoload.rst:308 msgid "" "When scenes are small, the transition is instantaneous. However, if your " "scenes are more complex, they may take a noticeable amount of time to " @@ -107769,7 +108577,7 @@ msgid "" "`doc_background_loading`." msgstr "" -#: ../../docs/tutorials/scripting/singletons_autoload.rst:311 +#: ../../docs/tutorials/scripting/singletons_autoload.rst:312 msgid "" "Alternatively, if the loading time is relatively short (less than 3 seconds " "or so), you can display a \"loading plaque\" by showing some kind of 2D " @@ -111740,8 +112548,8 @@ msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:100 #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:155 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:254 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:423 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:258 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:427 #: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:54 #: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:101 #: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:163 @@ -111893,38 +112701,38 @@ msgid "" msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:157 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:256 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:425 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:260 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:429 msgid "in vec2 **VIEWPORT_SIZE**" msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:157 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:256 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:425 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:260 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:429 msgid "Size of viewport (in pixels)." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:159 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:281 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:436 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:285 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:440 msgid "in mat4 **VIEW_MATRIX**" msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:159 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:281 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:436 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:285 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:440 msgid "World space to view space transform." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:161 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:283 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:434 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:287 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:438 msgid "in mat4 **INV_VIEW_MATRIX**" msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:161 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:283 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:434 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:287 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:438 msgid "View space to world space transform." msgstr "" @@ -111939,19 +112747,19 @@ msgid "" msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:166 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:287 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:440 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:291 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:444 msgid "in mat4 **INV_PROJECTION_MATRIX**" msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:166 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:287 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:440 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:291 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:444 msgid "Clip space to view space transform." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:168 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:289 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:293 msgid "in vec3 **NODE_POSITION_WORLD**" msgstr "" @@ -111960,7 +112768,7 @@ msgid "Node world space position." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:170 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:291 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:295 msgid "in vec3 **NODE_POSITION_VIEW**" msgstr "" @@ -111969,7 +112777,7 @@ msgid "Node view space position." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:172 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:293 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:297 msgid "in vec3 **CAMERA_POSITION_WORLD**" msgstr "" @@ -111978,7 +112786,7 @@ msgid "Camera world space position." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:174 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:295 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:299 msgid "in vec3 **CAMERA_DIRECTION_WORLD**" msgstr "" @@ -111987,24 +112795,24 @@ msgid "Camera world space direction." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:176 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:297 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:301 msgid "in uint **CAMERA_VISIBLE_LAYERS**" msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:176 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:297 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:301 msgid "Cull layers of the camera rendering the current pass." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:178 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:274 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:473 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:278 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:477 msgid "in bool **OUTPUT_IS_SRGB**" msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:178 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:274 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:473 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:278 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:477 msgid "" "``true`` when output is in sRGB color space (this is ``true`` in the " "Compatibility renderer, ``false`` in Forward+ and Forward Mobile)." @@ -112029,44 +112837,44 @@ msgid "Instance custom data (for particles, mostly)." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:186 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:304 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:308 msgid "in int **VIEW_INDEX**" msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:186 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:304 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:308 msgid "" "The view that we are rendering. ``VIEW_MONO_LEFT`` (``0``) for Mono (not " "multiview) or left eye, ``VIEW_RIGHT`` (``1``) for right eye." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:190 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:308 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:312 msgid "in int **VIEW_MONO_LEFT**" msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:190 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:308 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:312 msgid "Constant for Mono or left eye, always ``0``." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:192 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:310 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:314 msgid "in int **VIEW_RIGHT**" msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:192 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:310 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:314 msgid "Constant for right eye, always ``1``." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:194 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:312 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:316 msgid "in vec3 **EYE_OFFSET**" msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:194 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:312 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:316 msgid "" "Position offset for the eye being rendered. Only applicable for multiview " "rendering." @@ -112091,7 +112899,7 @@ msgid "The index of the current vertex in the vertex buffer." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:201 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:324 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:328 #: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:191 msgid "inout vec3 **NORMAL**" msgstr "" @@ -112101,7 +112909,7 @@ msgid "Normal in local coordinates." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:203 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:326 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:330 msgid "inout vec3 **TANGENT**" msgstr "" @@ -112110,7 +112918,7 @@ msgid "Tangent in local coordinates." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:205 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:328 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:332 msgid "inout vec3 **BINORMAL**" msgstr "" @@ -112155,7 +112963,7 @@ msgid "Color from vertices." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:215 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:350 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:354 msgid "out float **ROUGHNESS**" msgstr "" @@ -112185,20 +112993,20 @@ msgid "inout mat3 **MODELVIEW_NORMAL_MATRIX**" msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:223 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:277 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:432 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:281 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:436 #: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:103 msgid "in mat4 **MODEL_MATRIX**" msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:223 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:277 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:432 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:281 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:436 msgid "Model space to world space transform." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:225 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:279 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:283 msgid "in mat3 **MODEL_NORMAL_MATRIX**" msgstr "" @@ -112207,8 +113015,8 @@ msgid "inout mat4 **PROJECTION_MATRIX**" msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:227 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:285 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:438 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:289 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:442 msgid "View space to clip space transform." msgstr "" @@ -112246,12 +113054,20 @@ msgid "" "point issues when using the separated ``MODEL_MATRIX`` and ``VIEW_MATRIX``." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:247 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:248 +msgid "" +"``INV_VIEW_MATRIX`` is the matrix used for rendering the object in that " +"pass, not like ``MAIN_CAM_INV_VIEW_MATRIX``, which is the matrix of the " +"camera in the scene. In the shadow pass, ``INV_VIEW_MATRIX``'s view is based " +"on the camera that is located at the position of the light." +msgstr "" + +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:251 #: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:141 msgid "Fragment built-ins" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:249 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:253 msgid "" "The default use of a Godot fragment processor function is to set up the " "material properties of your object and to let the built-in renderer handle " @@ -112260,389 +113076,389 @@ msgid "" "corresponding functionality." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:258 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:427 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:262 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:431 #: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:165 #: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:238 msgid "in vec4 **FRAGCOORD**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:258 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:427 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:262 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:431 msgid "" "Coordinate of pixel center in screen space. ``xy`` specifies position in " "window, ``z`` specifies fragment depth if ``DEPTH`` is not used. Origin is " "lower-left." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:261 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:265 msgid "in bool **FRONT_FACING**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:261 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:265 msgid "``true`` if current face is front facing." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:263 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:448 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:267 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:452 msgid "in vec3 **VIEW**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:263 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:267 msgid "" "Normalized vector from fragment position to camera (in view space). This is " "the same for both perspective and orthogonal cameras." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:266 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:444 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:270 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:448 #: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:184 #: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:245 msgid "in vec2 **UV**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:266 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:444 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:270 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:448 msgid "UV that comes from vertex function." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:268 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:446 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:272 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:450 msgid "in vec2 **UV2**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:268 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:446 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:272 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:450 msgid "UV2 that comes from vertex function." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:270 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:274 #: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:243 msgid "in vec4 **COLOR**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:270 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:274 msgid "COLOR that comes from vertex function." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:272 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:276 #: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:170 #: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:255 msgid "in vec2 **POINT_COORD**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:272 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:276 msgid "Point Coordinate for drawing points with POINT_SIZE." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:285 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:438 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:289 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:442 msgid "in mat4 **PROJECTION_MATRIX**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:289 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:293 msgid "Node position, in world space." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:291 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:295 msgid "Node position, in view space." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:293 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:297 msgid "Camera position, in world space." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:295 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:299 msgid "Camera direction, in world space." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:299 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:303 msgid "in vec3 **VERTEX**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:299 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:303 msgid "Vertex that comes from vertex function (default, in view space)." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:301 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:305 #: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:204 msgid "inout vec3 **LIGHT_VERTEX**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:301 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:305 msgid "" "A writable version of ``VERTEX`` that can be used to alter light and " "shadows. Writing to this will not change the position of the fragment." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:314 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:318 #: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:188 msgid "sampler2D **SCREEN_TEXTURE**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:314 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:318 #: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:188 msgid "" "Removed in Godot 4. Use a ``sampler2D`` with ``hint_screen_texture`` instead." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:316 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:320 #: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:186 #: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:253 #: ../../docs/tutorials/shaders/shader_reference/sky_shader.rst:198 msgid "in vec2 **SCREEN_UV**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:316 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:320 #: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:186 #: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:253 msgid "Screen UV coordinate for current pixel." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:318 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:322 msgid "sampler2D **DEPTH_TEXTURE**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:318 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:322 msgid "" "Removed in Godot 4. Use a ``sampler2D`` with ``hint_depth_texture`` instead." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:320 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:324 msgid "out float **DEPTH**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:320 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:324 msgid "" "Custom depth value (0..1). If ``DEPTH`` is being written to in any shader " "branch, then you are responsible for setting the ``DEPTH`` for **all** other " "branches. Otherwise, the graphics API will leave them uninitialized." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:324 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:328 msgid "Normal that comes from vertex function (default, in view space)." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:326 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:330 msgid "Tangent that comes from vertex function." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:328 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:332 msgid "Binormal that comes from vertex function." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:330 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:334 #: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:195 msgid "out vec3 **NORMAL_MAP**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:330 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:334 msgid "Set normal here if reading normal from a texture instead of NORMAL." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:332 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:336 #: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:198 msgid "out float **NORMAL_MAP_DEPTH**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:332 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:336 msgid "Depth from variable above. Defaults to 1.0." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:334 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:338 #: ../../docs/tutorials/shaders/shader_reference/fog_shader.rst:72 msgid "out vec3 **ALBEDO**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:334 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:338 msgid "Albedo (default white)." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:336 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:481 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:340 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:485 #: ../../docs/tutorials/shaders/shader_reference/sky_shader.rst:208 msgid "out float **ALPHA**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:336 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:340 msgid "" "Alpha (0..1); if read from or written to, the material will go to the " "transparent pipeline." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:338 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:342 msgid "out float **ALPHA_SCISSOR_THRESHOLD**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:338 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:342 msgid "If written to, values below a certain amount of alpha are discarded." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:340 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:344 msgid "out float **ALPHA_HASH_SCALE**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:342 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:346 msgid "out float **ALPHA_ANTIALIASING_EDGE**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:344 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:348 msgid "out vec2 **ALPHA_TEXTURE_COORDINATE**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:346 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:350 msgid "out float **METALLIC**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:346 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:350 msgid "Metallic (0..1)." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:348 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:352 msgid "out float **SPECULAR**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:348 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:352 msgid "" "Specular. Defaults to 0.5, best not to modify unless you want to change IOR." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:350 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:354 msgid "Roughness (0..1)." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:352 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:356 msgid "out float **RIM**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:352 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:356 msgid "Rim (0..1). If used, Godot calculates rim lighting." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:354 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:358 msgid "out float **RIM_TINT**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:354 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:358 msgid "" "Rim Tint, goes from 0 (white) to 1 (albedo). If used, Godot calculates rim " "lighting." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:356 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:360 msgid "out float **CLEARCOAT**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:356 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:360 msgid "Small added specular blob. If used, Godot calculates Clearcoat." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:358 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:362 msgid "out float **CLEARCOAT_GLOSS**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:358 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:362 msgid "Gloss of Clearcoat. If used, Godot calculates Clearcoat." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:360 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:364 msgid "out float **ANISOTROPY**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:360 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:364 msgid "For distorting the specular blob according to tangent space." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:362 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:366 msgid "out vec2 **ANISOTROPY_FLOW**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:362 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:366 msgid "Distortion direction, use with flowmaps." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:364 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:368 msgid "out float **SSS_STRENGTH**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:364 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:368 msgid "" "Strength of Subsurface Scattering. If used, Subsurface Scattering will be " "applied to object." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:366 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:370 msgid "out vec4 **SSS_TRANSMITTANCE_COLOR**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:368 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:372 msgid "out float **SSS_TRANSMITTANCE_DEPTH**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:370 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:374 msgid "out float **SSS_TRANSMITTANCE_BOOST**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:372 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:376 msgid "inout vec3 **BACKLIGHT**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:374 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:378 msgid "out float **AO**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:374 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:378 msgid "Strength of Ambient Occlusion. For use with pre-baked AO." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:376 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:380 msgid "out float **AO_LIGHT_AFFECT**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:376 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:380 msgid "How much AO affects lights (0..1; default 0)." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:378 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:382 #: ../../docs/tutorials/shaders/shader_reference/fog_shader.rst:78 msgid "out vec3 **EMISSION**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:378 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:382 msgid "Emission color (can go over 1,1,1 for HDR)." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:380 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:384 #: ../../docs/tutorials/shaders/shader_reference/sky_shader.rst:210 msgid "out vec4 **FOG**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:380 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:384 msgid "If written to, blends final pixel color with FOG.rgb based on FOG.a." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:382 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:386 msgid "out vec4 **RADIANCE**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:382 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:386 msgid "" "If written to, blends environment map radiance with RADIANCE.rgb based on " "RADIANCE.a." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:384 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:388 msgid "out vec4 **IRRADIANCE**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:384 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:388 msgid "" "If written to, blends environment map IRRADIANCE with IRRADIANCE.rgb based " "on IRRADIANCE.a." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:389 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:487 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:393 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:491 msgid "" "Shaders going through the transparent pipeline when ``ALPHA`` is written to " "may exhibit transparency sorting issues. Read the :ref:`transparency sorting " @@ -112651,12 +113467,12 @@ msgid "" "and ways to avoid issues." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:395 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:399 #: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:212 msgid "Light built-ins" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:397 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:401 msgid "" "Writing light processor functions is completely optional. You can skip the " "light function by setting render_mode to ``unshaded``. If no light function " @@ -112665,25 +113481,25 @@ msgid "" "render_mode)." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:402 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:406 msgid "" "The light function is called for every light in every pixel. It is called " "within a loop for each light type." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:405 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:409 msgid "" "Below is an example of a custom light function using a Lambertian lighting " "model:" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:413 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:417 msgid "" "If you want the lights to add together, add the light contribution to " "``DIFFUSE_LIGHT`` using ``+=``, rather than overwriting it." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:417 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:421 msgid "" "The ``light()`` function won't be run if the ``vertex_lighting`` render mode " "is enabled, or if **Rendering > Quality > Shading > Force Vertex Shading** " @@ -112691,116 +113507,116 @@ msgid "" "platforms.)" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:442 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:446 #: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:241 msgid "in vec3 **NORMAL**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:442 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:446 msgid "Normal vector, in view space." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:448 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:452 msgid "View vector, in view space." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:450 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:454 msgid "in vec3 **LIGHT**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:450 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:454 msgid "Light Vector, in view space." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:452 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:456 msgid "in vec3 **LIGHT_COLOR**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:452 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:456 msgid "" "Color of light multiplied by ``energy * PI``. The ``PI`` multiplication is " "present because physically-based lighting models include a division by " "``PI``." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:457 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:461 msgid "in float **SPECULAR_AMOUNT**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:457 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:461 msgid "" "2.0 * ``light_specular`` property for ``OmniLight3D`` and ``SpotLight3D``. " "1.0 for ``DirectionalLight3D``." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:461 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:465 #: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:266 msgid "in bool **LIGHT_IS_DIRECTIONAL**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:461 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:465 msgid "``true`` if this pass is a ``DirectionalLight3D``." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:463 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:467 msgid "in float **ATTENUATION**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:463 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:467 msgid "Attenuation based on distance or shadow." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:465 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:469 msgid "in vec3 **ALBEDO**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:465 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:469 msgid "Base albedo." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:467 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:471 msgid "in vec3 **BACKLIGHT**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:469 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:473 msgid "in float **METALLIC**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:469 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:473 msgid "Metallic." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:471 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:475 msgid "in float **ROUGHNESS**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:471 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:475 msgid "Roughness." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:477 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:481 msgid "out vec3 **DIFFUSE_LIGHT**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:477 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:481 msgid "Diffuse light result." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:479 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:483 msgid "out vec3 **SPECULAR_LIGHT**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:479 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:483 msgid "Specular light result." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:481 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:485 msgid "" "Alpha (0..1); if written to, the material will go to the transparent " "pipeline." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:492 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:496 msgid "" "Transparent materials also cannot cast shadows or appear in " "``hint_screen_texture`` and ``hint_depth_texture`` uniforms. This in turn " @@ -112967,6 +113783,11 @@ msgstr "" msgid "Point size for point drawing." msgstr "" +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:135 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:137 +msgid "Custom value from vertex primitive." +msgstr "" + #: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:143 msgid "" "Certain Nodes (for example, :ref:`Sprite2Ds `) display a " @@ -115570,10 +116391,6 @@ msgstr "" msgid "|vector|" msgstr "" -#: ../../docs/tutorials/shaders/visual_shaders.rst:127 -msgid "Boolean" -msgstr "" - #: ../../docs/tutorials/shaders/visual_shaders.rst:128 msgid "Blue" msgstr "" @@ -120911,7 +121728,14 @@ msgstr "" msgid "Reference" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:231 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:228 +msgid "" +"*Some* of these BBCode tags can be used in tooltips for ``@export`` script " +"variables as well as in the XML source of the class reference. For more " +"information, see :ref:`Class reference BBCode `." +msgstr "" + +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:237 msgid "Tag" msgstr "" @@ -120924,7 +121748,7 @@ msgid "" "Makes ``{text}`` use the bold (or bold italics) font of ``RichTextLabel``." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:237 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:243 msgid "``[b]{text}[/b]``" msgstr "" @@ -120937,7 +121761,7 @@ msgid "" "Makes ``{text}`` use the italics (or bold italics) font of ``RichTextLabel``." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:242 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:248 msgid "``[i]{text}[/i]``" msgstr "" @@ -120949,7 +121773,7 @@ msgstr "" msgid "Makes ``{text}`` underlined." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:247 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:253 msgid "``[u]{text}[/u]``" msgstr "" @@ -120961,7 +121785,7 @@ msgstr "" msgid "Makes ``{text}`` strikethrough." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:252 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:258 msgid "``[s]{text}[/s]``" msgstr "" @@ -120973,7 +121797,7 @@ msgstr "" msgid "Makes ``{text}`` use the mono font of ``RichTextLabel``." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:257 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:263 msgid "``[code]{text}[/code]``" msgstr "" @@ -120985,7 +121809,7 @@ msgstr "" msgid "Adds Unicode character with hexadecimal UTF-32 ``{codepoint}``." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:262 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:268 msgid "``[char={codepoint}]``" msgstr "" @@ -121019,7 +121843,7 @@ msgstr "" msgid "Same as ``[p align=center]``." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:275 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:281 msgid "``[center]{text}[/center]``" msgstr "" @@ -121035,7 +121859,7 @@ msgstr "" msgid "Same as ``[p align=left]``." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:281 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:287 msgid "``[left]{text}[/left]``" msgstr "" @@ -121051,7 +121875,7 @@ msgstr "" msgid "Same as ``[p align=right]``." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:287 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:293 msgid "``[right]{text}[/right]``" msgstr "" @@ -121067,7 +121891,7 @@ msgstr "" msgid "Same as ``[p align=fill]``." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:293 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:299 msgid "``[fill]{text}[/fill]``" msgstr "" @@ -121081,7 +121905,7 @@ msgid "" "or ``[ol]``, but without a bullet point." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:299 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:305 msgid "``[indent]{text}[/indent]``" msgstr "" @@ -121215,7 +122039,7 @@ msgstr "" msgid "Use custom font size for ``{text}``." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:341 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:347 msgid "``[font_size={size}]{text}[/font_size]``" msgstr "" @@ -121238,7 +122062,7 @@ msgid "" "useful to allow the rest of the paragraph to display below the dropcap." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:352 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:358 msgid "" "``[dropcap font={font} font_size={size} color={color} outline_size={size} " "outline_color={color} margins={left},{top},{right},{bottom}]{text}[/" @@ -121281,12 +122105,12 @@ msgid "" "used." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:369 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:375 msgid "``[lang={code}]{text}[/lang]``" msgstr "" #: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:0 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:580 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:586 msgid "**color**" msgstr "" @@ -121297,7 +122121,7 @@ msgid "" "format (e.g. ``#ff00ff``, see :ref:`doc_bbcode_in_richtextlabel_hex_colors`)." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:376 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:382 msgid "``[color={code/name}]{text}[/color]``" msgstr "" @@ -121311,7 +122135,7 @@ msgid "" "Accepts same values as the ``color`` tag." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:382 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:388 msgid "``[bgcolor={code/name}]{text}[/bgcolor]``" msgstr "" @@ -121326,7 +122150,7 @@ msgid "" "tag." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:388 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:394 msgid "``[fgcolor={code/name}]{text}[/fgcolor]``" msgstr "" @@ -121466,7 +122290,7 @@ msgid "" "by putting one item per line of text." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:438 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:444 msgid "``[ol type={type}]{items}[/ol]``" msgstr "" @@ -121536,7 +122360,7 @@ msgstr "" msgid "``[shy]`` (soft hyphen)" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:460 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:466 msgid "" "Tags for bold (``[b]``) and italics (``[i]``) formatting work best if the " "appropriate custom fonts are set up in the RichTextLabelNode's theme " @@ -121546,126 +122370,126 @@ msgid "" "rarely look good in comparison to hand-made bold/italic font variants." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:466 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:472 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:469 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:475 msgid "There are no BBCode tags to control vertical centering of text yet." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:471 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:477 msgid "Options can be skipped for all tags." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:476 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:482 msgid "Paragraph options" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:478 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:484 msgid "**align**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:481 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:491 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:502 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:514 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:524 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:534 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:583 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:593 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:603 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:613 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:623 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:633 -#: ../../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:725 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:735 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:745 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:755 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:765 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:775 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:791 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:836 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:847 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:857 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:868 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:487 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:497 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:508 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:520 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:530 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:540 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:589 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:599 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:609 +#: ../../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:691 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:701 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:711 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:721 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:731 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:741 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:751 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:761 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:771 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:781 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:797 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:842 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:853 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:863 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:874 msgid "`Values`" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:481 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:487 msgid "" "``left`` (or ``l``), ``center`` (or ``c``), ``right`` (or ``r``), ``fill`` " "(or ``f``)" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:483 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:494 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:506 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:516 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:526 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:536 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:585 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:595 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:605 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:615 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:625 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:635 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:687 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:697 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:707 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:717 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:727 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:737 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:747 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:757 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:767 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:777 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:793 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:838 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:849 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:859 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:870 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:489 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:500 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:512 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:522 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:532 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:542 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:591 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:601 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:611 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:621 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:631 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:641 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:693 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:703 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:713 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:723 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:733 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:743 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:753 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:763 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:773 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:783 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:799 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:844 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:855 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:865 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:876 msgid "`Default`" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:483 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:489 msgid "``left``" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:486 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:492 msgid "Text horizontal alignment." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:488 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:494 msgid "**bidi_override**, **st**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:491 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:497 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:494 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:500 msgid "``default``" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:497 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:503 msgid "Structured text override." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:499 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:505 msgid "**justification_flags**, **jst**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:502 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:508 msgid "" "Comma-separated list of the following values: ``kashida`` (or ``k``), " "``word`` (or ``w``), ``trim`` (or ``tr``), ``after_last_tab`` (or ``lt``), " @@ -121673,72 +122497,72 @@ msgid "" "``do_not_skip_single`` (or ``ns``)." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:506 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:512 msgid "``word,kashida,skip_last,do_not_skip_single``" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:509 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:515 msgid "" "Justification (fill alignment) option. See :ref:`class_TextServer` for more " "details." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:511 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:517 msgid "**direction**, **dir**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:514 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:520 msgid "``ltr`` (or ``l``), ``rtl`` (or ``r``), ``auto`` (or ``a``)" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:516 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:526 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:585 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:595 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:605 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:615 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:687 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:697 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:707 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:717 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:727 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:737 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:849 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:859 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:522 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:532 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:591 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:601 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:611 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:621 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:693 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:703 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:713 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:723 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:733 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:743 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:855 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:865 msgid "Inherit" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:519 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:525 msgid "Base BiDi direction." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:521 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:527 msgid "**language**, **lang**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:524 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:530 msgid "ISO language codes. See :ref:`doc_locales`" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:529 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:535 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:531 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:537 msgid "**tab_stops**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:534 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:540 msgid "List of floating-point numbers, e.g. ``10.0,30.0``" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:536 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:542 msgid "Width of the space character in the font" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:539 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:545 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 " @@ -121747,119 +122571,119 @@ msgid "" "``10 + 30 + 10 = 50`` pixels from the origin of the RichTextLabel." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:548 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:554 msgid "Handling ``[url]`` tag clicks" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:550 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:556 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:553 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:559 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:556 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:562 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:566 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:572 msgid "" "For more advanced use cases, it's also possible to store JSON in an " "``[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:578 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:584 msgid "Image options" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:583 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:847 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:857 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:589 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:853 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:863 msgid "Color name or color in HEX format" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:588 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:594 msgid "Color tint of the image (modulation)." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:590 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:596 msgid "**height**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:593 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:603 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:836 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:599 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:609 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:842 msgid "Integer number" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:598 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:604 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:600 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:606 msgid "**width**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:608 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:614 msgid "" "Target width of the image, 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:610 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:616 msgid "**region**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:613 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:619 msgid "x,y,width,height in pixels" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:618 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:624 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:620 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:626 msgid "**pad**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:625 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:631 msgid "``false``" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:628 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:634 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:630 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:636 msgid "**tootip**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:638 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:644 msgid "Image tooltip." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:643 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:649 msgid "Image and table vertical alignment" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:645 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:651 msgid "" "When a vertical alignment value is provided with the ``[img]`` or " "``[table]``` tag the image/table will try to align itself against the " @@ -121870,174 +122694,174 @@ msgid "" "in any combination." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:652 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:658 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:669 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:675 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:673 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:679 msgid "" "Short names for the values are ``t`` (``top``), ``c`` (``center``), ``l`` " "(``baseline``), and ``b`` (``bottom``)." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:680 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:686 msgid "Font options" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:682 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:688 msgid "**name**, **n**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:685 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:691 msgid "A valid Font resource path." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:690 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:696 msgid "Font resource path." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:692 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:698 msgid "**size**, **s**" msgstr "" -#: ../../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:725 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:735 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:701 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:711 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:721 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:731 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:741 msgid "Number in pixels." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:700 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:706 msgid "Custom font size." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:702 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:708 msgid "**glyph_spacing**, **gl**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:710 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:716 msgid "Extra spacing for each glyph." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:712 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:718 msgid "**glyph_spacing**, **sp**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:720 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:726 msgid "Extra spacing for the space character." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:722 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:728 msgid "**top_spacing**, **top**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:730 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:736 msgid "Extra spacing at the top of the line." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:732 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:738 msgid "**bottom_spacing**, **bt**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:740 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:746 msgid "Extra spacing at the bottom of the line." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:742 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:748 msgid "**embolden**, **emb**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:745 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:765 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:751 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:771 msgid "Floating-point number." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:747 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:767 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:753 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:773 msgid "``0.0``" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:750 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:756 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:752 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:758 msgid "**face_index**, **fi**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:755 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:761 msgid "Integer number." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:757 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:763 msgid "``0``" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:760 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:766 msgid "An active face index in the TrueType / OpenType collection." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:762 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:768 msgid "**slant**, **sln**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:770 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:776 msgid "" "Font slant strength, positive values slant glyphs to the right. Negative " "values to the left." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:772 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:778 msgid "**opentype_variation**, **otv**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:775 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:781 msgid "Comma-separated list of the OpenType variation tags." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:780 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:786 msgid "" "Font OpenType variation coordinates. See `OpenType variation tags `__." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:782 -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:798 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:788 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:804 msgid "" "Note: The value should be enclosed in ``\"`` to allow using ``=`` inside it:" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:788 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:794 msgid "**opentype_features**, **otf**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:791 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:797 msgid "Comma-separated list of the OpenType feature tags." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:796 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:802 msgid "" "Font OpenType features. See `OpenType features tags `__." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:807 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:813 msgid "Named colors" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:809 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:815 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 " @@ -122045,18 +122869,18 @@ msgid "" "``DarkRed``, and ``darkred`` will give the same exact result." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:817 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:823 msgid "Hexadecimal color codes" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:819 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:825 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:823 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:829 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 " @@ -122065,59 +122889,59 @@ msgid "" "supported as well." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:831 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:837 msgid "Cell options" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:833 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:839 msgid "**expand**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:841 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:847 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:844 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:850 msgid "**border**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:852 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:858 msgid "Cell border color." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:854 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:860 msgid "**bg**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:862 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:868 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:865 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:871 msgid "**padding**" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:868 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:874 msgid "4 comma-separated floating-point numbers" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:870 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:876 msgid "0, 0, 0, 0" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:873 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:879 msgid "Left, top, right, and bottom cell padding." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:878 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:884 msgid "Unordered list bullet" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:880 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:886 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 " @@ -122127,40 +122951,40 @@ msgid "" "bullet character's width does not affect the list's formatting." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:887 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:893 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:893 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:899 msgid "Ordered list types" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:895 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:901 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:899 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:905 msgid "``1`` - Numbers, using language specific numbering system if possible." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:900 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:906 msgid "``a``, ``A`` - Lower and upper case Latin letters." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:901 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:907 msgid "``i``, ``I`` - Lower and upper case Roman numerals." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:904 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:910 msgid "Text effects" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:906 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:912 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 " @@ -122169,19 +122993,19 @@ msgid "" "behavior by adjusting the RichTextLabel's **Process > Mode** property." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:912 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:918 msgid "" "All examples below mention the default values for options in the listed tag " "format." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:916 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:922 msgid "" "Text effects that move characters' position may result in characters being " "clipped by the RichTextLabel node bounds." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:919 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:925 msgid "" "You can resolve this by disabling **Control > Layout > Clip Contents** in " "the inspector after selecting the RichTextLabel node, or ensuring there is " @@ -122189,18 +123013,18 @@ msgid "" "line using the effect." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:925 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:931 msgid "Pulse" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:929 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:935 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:933 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:939 msgid "" "``freq`` controls the frequency of the half-pulsing cycle (higher is " "faster). A full pulsing cycle takes ``2 * (1.0 / freq)`` seconds. ``color`` " @@ -122209,17 +123033,17 @@ msgid "" "Negative values provide in-out easing, which is why the default is ``-2.0``." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:940 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:946 msgid "Wave" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:944 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:950 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:947 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:953 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 " @@ -122230,17 +123054,17 @@ msgid "" "issues with font ligatures." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:956 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:962 msgid "Tornado" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:960 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:966 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:963 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:969 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 " @@ -122251,17 +123075,17 @@ msgid "" "issues with font ligatures." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:972 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:978 msgid "Shake" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:976 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:982 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:979 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:985 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 " @@ -122270,34 +123094,34 @@ msgid "" "around certain rendering issues with font ligatures." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:986 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:992 msgid "Fade" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:990 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:996 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:993 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:999 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:998 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1004 msgid "Rainbow" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1002 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1008 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]{text}[/rainbow]``." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1005 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1011 msgid "" "``freq`` is the number of full rainbow cycles per second, ``sat`` is the " "saturation of the rainbow, ``val`` is the value of the rainbow. A ``freq`` " @@ -122305,7 +123129,7 @@ msgid "" "the animation backwards." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1010 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1016 msgid "" "Font outlines are *not* affected by the rainbow effect (they keep their " "original color). Existing font colors are overridden by the rainbow effect. " @@ -122314,11 +123138,11 @@ msgid "" "colors." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1016 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1022 msgid "Custom BBCode tags and text effects" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1018 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1024 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:" @@ -122332,20 +123156,20 @@ msgid "" "` method:" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1031 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1037 msgid "" "Selecting a custom RichTextEffect after saving a script that extends " "RichTextEffect with a ``class_name``" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1035 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1041 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:1039 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1045 msgid "" "There is only one function that you need to extend: " "``_process_custom_fx(char_fx)``. Optionally, you can also provide a custom " @@ -122354,11 +123178,11 @@ msgid "" "to determine what the BBCode tag should be." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1045 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1051 msgid "``_process_custom_fx``" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1047 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1053 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:" @@ -122366,51 +123190,51 @@ msgid "" "the associated glyph is rendered:" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1051 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1057 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:1053 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1059 msgid "``outline`` is ``true`` if effect is called for drawing text outline." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1054 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1060 msgid "" "``range`` tells you how far into a given custom effect block you are in as " "an index." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1056 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1062 msgid "" "``elapsed_time`` is the total amount of time the text effect has been " "running." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1057 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1063 msgid "" "``visible`` will tell you whether the glyph is visible or not and will also " "allow you to hide a given portion of text." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1059 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1065 msgid "" "``offset`` is an offset position relative to where the given glyph should " "render under normal circumstances." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1061 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1067 msgid "``color`` is the color of a given glyph." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1062 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1068 msgid "" "``glyph_index`` and ``font`` is glyph being drawn and font data resource " "used to draw it." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1063 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1069 msgid "" "Finally, ``env`` is a :ref:`class_Dictionary` of parameters assigned to a " "given custom effect. You can use :ref:`get() ` " @@ -122420,7 +123244,7 @@ msgid "" "its ``env`` Dictionary. See below for more usage examples." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1069 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1075 msgid "" "The last thing to note about this function is that it is necessary to return " "a boolean ``true`` value to verify that the effect processed correctly. This " @@ -122429,19 +123253,19 @@ msgid "" "cropped up in their custom effect logic." msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1074 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1080 msgid "Here are some examples of custom effects:" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1077 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1083 msgid "Ghost" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1100 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1106 msgid "Matrix" msgstr "" -#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1138 +#: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:1144 msgid "This will add a few new BBCode commands, which can be used like so:" msgstr "" @@ -122455,7 +123279,7 @@ msgstr "" msgid "Basic Tutorial" msgstr "" -#: ../../docs/tutorials/xr/index.rst:36 +#: ../../docs/tutorials/xr/index.rst:37 msgid "Godot XR Tools" msgstr "" @@ -122873,7 +123697,7 @@ msgstr "" #: ../../docs/tutorials/xr/deploying_to_android.rst:81 msgid "" -"If the loader plugins were installed correctly you should find entries for " +"If the vendors plugins were installed correctly you should find entries for " "the different headsets, select the entry for meta:" msgstr "" @@ -125468,505 +126292,723 @@ msgid "" msgstr "" #: ../../docs/tutorials/xr/openxr_hand_tracking.rst:4 -msgid "The OpenXR hand tracking" +msgid "OpenXR hand tracking" msgstr "" -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:6 +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:11 msgid "" -"Hand tracking is the process by which the position and orientation of the " -"players hands are tracked, including the orientation of the players fingers. " -"We can identify 3 categories of this:" +"This page focuses specifically on the feature set exposed through OpenXR. " +"Parts of the functionality presented here also applies to WebXR and can by " +"provided by other XR interfaces." msgstr "" -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:10 +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:15 msgid "" -"One, hand tracking through external sensors such as cameras. This is what " -"Hololens, Quest, UltraLeap and similar devices do. This often results in " -"very accurate tracking of all fingers of the players hands." -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:14 -msgid "" -"Two, hand tracking through VR gloves. This method is still mostly " -"experimental but is likely to gain popularity soon. Gloves often have good " -"finger tracking capabilities but their real selling point is the ability to " -"restrict movement. This allows the sensation of touch. Gloves are often also " -"recognised as controllers and often will have additional controls such as " -"buttons embedded." +"When discussing hand tracking it is important to know that there are " +"differences of opinion as to where lines are drawn. The practical result of " +"this is that there are differences in implementation between the different " +"OpenXR runtimes. You may find yourself in a place where chosen hardware " +"doesn't support a piece of the puzzle or does things differently enough from " +"the other platforms that you need to do extra work." msgstr "" #: ../../docs/tutorials/xr/openxr_hand_tracking.rst:20 msgid "" -"Three, inferred hand tracking. This has been the de facto approach since the " -"early days of VR. As we know the player is holding a controller and we know " -"the position of this controller, we can infer where to render the players " -"hand. Fingers can be positioned based on the controls the player is " -"interacting with. Many modern VR controllers have additional sensors to help " -"determine finger positions on the controller." +"That said, recent improvements to the OpenXR specification are closing these " +"gaps and as platforms implement these improvements we are getting closer to " +"a future where we have either full portability between platforms or at least " +"a clear way to detect the capabilities of a platform." msgstr "" -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:29 +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:24 msgid "" -"Traditionally inferred hand tracking has been the responsibility of the " -"game. However the principles behind the action map have somewhat limited the " -"viable options here. Valve is currently the only XR Runtime that has " -"implemented inferred hand tracking as part of the hand tracking extension. " -"There is an expectation that other XR Runtimes will follow this example in " -"the near future." +"When we look at the early days of VR the focus of the major platforms was on " +"tracked controller based input. Here we are tracking a physical device that " +"also has buttons for further input. From the tracking data we can infer the " +"location of the player's hands but no further information is known, " +"traditionally it was left up to the game to implement a mechanism to display " +"the player's hand and animate the fingers based on further input from the " +"controller, be it due to buttons being pressed or through proximity sensors. " +"Often fingers are also placed based on context, what the user is holding, " +"and what action a user is performing." msgstr "" -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:34 +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:32 msgid "" -"Until then we recommend that if your game depends on inferred hand tracking, " -"to use the hand assets that are part of Godot XR Tools." +"More recently optical hand tracking has become a popular solution, where " +"cameras track the user's hands and full tracking data for the hand and " +"finger positions becomes available. Many vendors saw this as completely " +"separate from controller tracking and introduced independent APIs to access " +"hand and finger positions and orientation data. When handling input, it was " +"up to the game developer to implement a gesture detection mechanism." msgstr "" #: ../../docs/tutorials/xr/openxr_hand_tracking.rst:38 -msgid "Tracking through interaction profiles" +msgid "" +"This split also exists in OpenXR, where controller tracking is handled " +"primarily by the action map system, while optical hand tracking is primarily " +"handled by the hand tracking API extension." msgstr "" -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:40 +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:41 msgid "" -"Tracking the location and state of controllers are performed through " -"interaction profiles. Bindings can be set within the :ref:`action map " -"`." +"However, the world is not that black and white and we're seeing a number of " +"scenarios where we cross the line:" msgstr "" -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:43 +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:44 msgid "" -"However it is important to realise that in OpenXR controllers are bound to " -"paths indicating the usage of these controllers. I.e. the controller held in " -"the players left hand is bound to ``/user/hand/left`` while the controller " -"in the players right hand is bound to ``/user/hand/right``. And while not " -"yet supported outside of the HTC tracker extension, it is likely OpenXR will " -"be extended with paths such as ``/user/foot/left`` and ``/user/foot/right`` " -"at some point." +"Devices that fit in both categories, such as tracked gloves and controllers " +"such as the Index controller that also perform finger tracking." +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:46 +msgid "" +"XR Runtimes that implement inferred hand tracking from controller data as a " +"means to solve proper finger placement for multiple controllers." +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:48 +msgid "" +"XR applications that wish to seamlessly switch between controller and hand " +"tracking offering the same user experience regardless of approach used." msgstr "" #: ../../docs/tutorials/xr/openxr_hand_tracking.rst:51 msgid "" -"This paradigm therefore begs the question what happens to a controller that " -"is not being held by a user. There is no answer to this question yet, this " -"is still being debated and the specification may change in the near future. " -"The behavior is thus undefined and can be different for different platforms." -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:55 -msgid "" -"The most common is that the controller will remain bound regardless of " -"whether the player is actually holding the controller." -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:57 -msgid "" -"However there are runtimes, such as the Quest, that can unbind a controller " -"when it is not being held by the user." +"OpenXR is answering this call by introducing further extensions that lets us " +"query the capabilities of the XR runtime/hardware or that add further " +"functionality across this divide. The problem that currently does remain is " +"that there are gaps in adopting these extensions, with some platforms thus " +"not reporting capabilities to their full extent. As such you may need to " +"test for the features available on specific hardware and adjust your " +"approach accordingly." msgstr "" #: ../../docs/tutorials/xr/openxr_hand_tracking.rst:59 -msgid "" -"This may become the norm in the future and the expectation is that the " -"action map system will be enhanced accordingly." +msgid "Demo project" msgstr "" -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:62 -msgid "The hand tracking extension" +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:61 +msgid "" +"The information presented on this page was used to create a demo project " +"that can be found `here `_." msgstr "" -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:64 -msgid "" -"OpenXR has an extension that exposes hand tracking functionality. This " -"extension allows a game to request the hand skeleton with all bone positions " -"for each hand." +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:66 +msgid "The Hand Tracking API" msgstr "" -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:70 +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:68 msgid "" -"Copyright (c) 2017-2022, The Khronos Group Inc. SPDX-License-Identifier: CC-" -"BY-4.0" +"As mentioned in our introduction, the hand tracking API is primarily used " +"with optical hand tracking and on many platforms only works when the user is " +"not holding a controller. Some platforms support controller inferred hand " +"tracking meaning that you will get hand tracking data even if the user is " +"holding a controller. This includes SteamVR, Meta Quest (currently native " +"only but Meta link support is likely coming), and hopefully soon others as " +"well." msgstr "" -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:72 +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:75 msgid "" -"The above image shows the joints that have to be provided by each XR runtime " -"that implements this extension." -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:74 -msgid "" -"Currently Godot exposes this functionality through the :ref:`OpenXRHand " -"` node. This is a helper node that will retrieve the hand " -"tracking data from OpenXR and apply it to a skeleton in Godot. You select " -"either the left or right hand through the ``hand`` property on this node." +"The hand tracking implementation in Godot has been standardized around the " +"Godot Humanoid Skeleton and works both in OpenXR and WebXR. The instructions " +"below will thus work in both environments." msgstr "" #: ../../docs/tutorials/xr/openxr_hand_tracking.rst:78 msgid "" -"The hand asset itself has to be provided by the developer and is thus " -"separate from the OpenXRHand node. You set the ``hand_skeleton`` on the " -"OpenXRHand node to the skeleton it needs to apply the tracking data to." -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:81 -msgid "" -"If supported by the XR runtime you can also set the ``motion_range`` " -"property to limit how far the hand can close." +"In order to use the hand tracking API with OpenXR you first need to enable " +"it. This can be done in the project settings:" msgstr "" #: ../../docs/tutorials/xr/openxr_hand_tracking.rst:83 -msgid "The skeleton for this asset has to have the following bones:" +msgid "" +"For some standalone XR devices you also need to configure the hand tracking " +"extension in export settings, for instance for Meta Quest:" msgstr "" -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:85 -msgid "OpenXR hand skeleton" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:89 -msgid "Left hand" +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:88 +msgid "Now you need to add 3 components into your scene for each hand:" msgstr "" #: ../../docs/tutorials/xr/openxr_hand_tracking.rst:90 -msgid "Right hand" +msgid "A tracked node to position the hand." msgstr "" #: ../../docs/tutorials/xr/openxr_hand_tracking.rst:91 -msgid "Palm_L" +msgid "A properly skinned hand mesh with skeleton." msgstr "" #: ../../docs/tutorials/xr/openxr_hand_tracking.rst:92 -msgid "Palm_R" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:93 -msgid "Wrist_L" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:94 -msgid "Wrist_R" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:95 -msgid "Thumb_Metacarpal_L" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:96 -msgid "Thumb_Metacarpal_R" +msgid "A skeleton modifier that applies finger tracking data to the skeleton." msgstr "" #: ../../docs/tutorials/xr/openxr_hand_tracking.rst:97 -msgid "Thumb_Proximal_L" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:98 -msgid "Thumb_Proximal_R" +msgid "Hand tracking node" msgstr "" #: ../../docs/tutorials/xr/openxr_hand_tracking.rst:99 -msgid "Thumb_Distal_L" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:100 -msgid "Thumb_Distal_R" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:101 -msgid "Thumb_Tip_L" +msgid "" +"The hand tracking system uses separate hand trackers to track the position " +"of the player's hands within our tracking space." msgstr "" #: ../../docs/tutorials/xr/openxr_hand_tracking.rst:102 -msgid "Thumb_Tip_R" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:103 -msgid "Index_Metacarpal_L" +msgid "This information has been separated out for the following use cases:" msgstr "" #: ../../docs/tutorials/xr/openxr_hand_tracking.rst:104 -msgid "Index_Metacarpal_R" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:105 -msgid "Index_Proximal_L" +msgid "" +"Tracking happens in the local space of the :ref:`XROrigin3D " +"` node. This node must be a child of the `XROrigin3D` node " +"in order to be correctly placed." msgstr "" #: ../../docs/tutorials/xr/openxr_hand_tracking.rst:106 -msgid "Index_Proximal_R" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:107 -msgid "Index_Intermediate_L" +msgid "" +"This node can be used as an IK target when an upper body mesh with arms is " +"used instead of separate hand meshes." msgstr "" #: ../../docs/tutorials/xr/openxr_hand_tracking.rst:108 -msgid "Index_Intermediate_R" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:109 -msgid "Index_Distal_L" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:110 -msgid "Index_Distal_R" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:111 -msgid "Index_Tip_L" +msgid "" +"Actual placement of the hands may be loosely bound to the tracking in " +"scenarios such as avatar creation UIs, fake mirrors, or similar situations " +"resulting in the hand mesh and finger tracking being localized elsewhere." msgstr "" #: ../../docs/tutorials/xr/openxr_hand_tracking.rst:112 -msgid "Index_Tip_R" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:113 -msgid "Middle_Metacarpal_L" +msgid "We'll concentrate on the first use case only." msgstr "" #: ../../docs/tutorials/xr/openxr_hand_tracking.rst:114 -msgid "Middle_Metacarpal_R" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:115 -msgid "Middle_Proximal_L" +msgid "" +"For this you need to add an :ref:`XRNode3D ` node to your " +"``XROrigin3D`` node." msgstr "" #: ../../docs/tutorials/xr/openxr_hand_tracking.rst:116 -msgid "Middle_Proximal_R" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:117 -msgid "Middle_Intermediate_L" +msgid "" +"On this node the ``tracker`` should be set to ``/user/hand_tracker/left`` or " +"``/user/hand_tracker/right`` for the left or right hand respectively." msgstr "" #: ../../docs/tutorials/xr/openxr_hand_tracking.rst:118 -msgid "Middle_Intermediate_R" +msgid "" +"The ``pose`` should remain set to ``default``, no other option will work " +"here." msgstr "" #: ../../docs/tutorials/xr/openxr_hand_tracking.rst:119 -msgid "Middle_Distal_L" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:120 -msgid "Middle_Distal_R" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:121 -msgid "Middle_Tip_L" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:122 -msgid "Middle_Tip_R" +msgid "" +"The checkbox ``Show When Tracked`` will automatically hide this node if no " +"tracking data is available, or make this node visible if tracking data is " +"available." msgstr "" #: ../../docs/tutorials/xr/openxr_hand_tracking.rst:123 -msgid "Ring_Metacarpal_L" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:124 -msgid "Ring_Metacarpal_R" +msgid "Rigged hand mesh" msgstr "" #: ../../docs/tutorials/xr/openxr_hand_tracking.rst:125 -msgid "Ring_Proximal_L" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:126 -msgid "Ring_Proximal_R" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:127 -msgid "Ring_Intermediate_L" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:128 -msgid "Ring_Intermediate_R" +msgid "" +"In order to display our hand we need a hand mesh that is properly rigged and " +"skinned. For this Godot uses the hand bone structure as defined for the :ref:" +"`Godot Humanoid ` but optionally supporting " +"an extra tip bone for each finger." msgstr "" #: ../../docs/tutorials/xr/openxr_hand_tracking.rst:129 -msgid "Ring_Distal_L" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:130 -msgid "Ring_Distal_R" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:131 -msgid "Ring_Tip_L" +msgid "" +"The `OpenXR hand tracking demo `_ contains example GLTF " +"files of properly rigged hands." msgstr "" #: ../../docs/tutorials/xr/openxr_hand_tracking.rst:132 -msgid "Ring_Tip_R" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:133 -msgid "Little_Metacarpal_L" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:134 -msgid "Little_Metacarpal_R" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:135 -msgid "Little_Proximal_L" +msgid "" +"We will be using those here and add them as a child to our ``XRNode3D`` " +"node. We also need to enable editable children to gain access to our :ref:" +"`Skeleton3D ` node." msgstr "" #: ../../docs/tutorials/xr/openxr_hand_tracking.rst:136 -msgid "Little_Proximal_R" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:137 -msgid "Little_Intermediate_L" +msgid "The hand skeleton modifier" msgstr "" #: ../../docs/tutorials/xr/openxr_hand_tracking.rst:138 -msgid "Little_Intermediate_R" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:139 -msgid "Little_Distal_L" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:140 -msgid "Little_Distal_R" +msgid "" +"Finally we need to add a :ref:`XRHandModifier3D ` " +"node as a child to our ``Skeleton3D`` node. This node will obtain the finger " +"tracking data from OpenXR and apply it the hand model." msgstr "" #: ../../docs/tutorials/xr/openxr_hand_tracking.rst:141 -msgid "Little_Tip_L" +msgid "" +"You need to set the ``Hand Tracker`` property to either ``/user/hand_tracker/" +"left`` or ``/user/hand_tracker/right`` depending on whether we are apply the " +"tracking data of respectively the left or right hand." msgstr "" -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:142 -msgid "Little_Tip_R" +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:144 +msgid "You can also set the ``Bone Update`` mode on this node." msgstr "" #: ../../docs/tutorials/xr/openxr_hand_tracking.rst:146 msgid "" -"The skeleton data returned from different XR runtimes are often not " -"compatible which poses a problem for cross platform development." +"``Full`` applies the hand tracking data fully. This does mean that the " +"skeleton positioning will potentially reflect the size of the actual hand of " +"the user. This can lead to scrunching effect if meshes aren't weighted " +"properly to account for this. Make sure you test your game with players of " +"all sizes when optical hand tracking is used!" msgstr "" -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:148 +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:150 msgid "" -"For instance both Microsoft and Meta runtimes base the skeleton on the " -"actual hands of the player. These skeletons will thus conform to the size of " -"the players hand." -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:151 -msgid "" -"Contrast that to Valve where a fixed skeleton is used if inferred hand " -"tracking is applied." +"``Rotation Only`` will only apply rotation to the bones of the hands and " +"keep the bone length as is. In this mode the size of the hand mesh doesn't " +"change." msgstr "" #: ../../docs/tutorials/xr/openxr_hand_tracking.rst:153 msgid "" -"We are still gathering experience on how best to deal with these differences " -"in the platforms." +"With this added, when we run the project we should see the hand correctly " +"displayed if hand tracking is supported." msgstr "" -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:155 -msgid "When exporting to Meta Quest you need to enable the following setting:" +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:156 +msgid "The hand tracking data source" msgstr "" -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:160 -msgid "Body tracking" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:162 +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:158 msgid "" -"At the time of writing, OpenXR does not support body tracking as part of the " -"core spec. We are expecting this to change in the near future as more and " -"more body tracking solutions are hitting the market." +"This is an OpenXR extension that provides information about the source of " +"the hand tracking data. At this moment only a few runtimes implement it but " +"if it is available, Godot will activate it." msgstr "" -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:165 +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:161 msgid "" -"For now the only option available here is through HTC trackers. There is an " -"extension that becomes available if HTC trackers are supported by the XR " -"runtime. These are fully exposed through the action map system." +"If this extension is not supported and thus unknown is returned, you can " +"make the following assumptions:" msgstr "" -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:169 +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:163 msgid "" -"Godot has full support for these and you can setup the trackers in the " -"action map. Each tracker is assigned a usage within the SteamVR interface." +"If you are using SteamVR (including Steam link), only controller based hand " +"tracking is supported." msgstr "" -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:172 -msgid "These are exposed through the following trackers:" +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:164 +msgid "" +"For any other runtime, if hand tracking is supported, only optical hand " +"tracking is supported (Note, Meta Link currently fall into this category)." msgstr "" -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:174 -msgid "HTC trackers" +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:166 +msgid "In all other cases, no hand tracking is supported at all." msgstr "" -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:178 -msgid "/user/vive_tracker_htcx/role/handheld_object" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:179 -msgid "/user/vive_tracker_htcx/role/left_foot" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:180 -msgid "/user/vive_tracker_htcx/role/right_foot" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:181 -msgid "/user/vive_tracker_htcx/role/left_shoulder" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:182 -msgid "/user/vive_tracker_htcx/role/right_shoulder" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:183 -msgid "/user/vive_tracker_htcx/role/left_elbow" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:184 -msgid "/user/vive_tracker_htcx/role/right_elbow" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:185 -msgid "/user/vive_tracker_htcx/role/left_knee" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:186 -msgid "/user/vive_tracker_htcx/role/right_knee" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:187 -msgid "/user/vive_tracker_htcx/role/waist" +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:168 +msgid "You can access this information through code:" msgstr "" #: ../../docs/tutorials/xr/openxr_hand_tracking.rst:188 -msgid "/user/vive_tracker_htcx/role/chest" -msgstr "" - -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:189 -msgid "/user/vive_tracker_htcx/role/camera" +msgid "This example simply logs the state for the left hand." msgstr "" #: ../../docs/tutorials/xr/openxr_hand_tracking.rst:190 -msgid "/user/vive_tracker_htcx/role/keyboard" +msgid "" +"If in this example no hand tracker is returned by ``get_tracker``, this " +"means the hand tracking API is not supported on the XR runtime at all." msgstr "" -#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:194 -msgid "Some final words" +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:193 +msgid "" +"If there is a tracker but `has_tracking_data` is false, the user's hand is " +"currently not being tracked. This is likely caused by one of the following " +"reasons:" msgstr "" #: ../../docs/tutorials/xr/openxr_hand_tracking.rst:196 msgid "" -"Hand tracking is an area that is still under active development and we are " -"expecting improvements in the near future." +"The player's hand is not visible by any of the tracking cameras on the " +"headset" +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:197 +msgid "" +"The player is currently using a controller and the headset only supports " +"optical hand tracking" msgstr "" #: ../../docs/tutorials/xr/openxr_hand_tracking.rst:198 msgid "" -"The underlying principle that we're hoping will eventuate is that the action " -"map will be used to handle interactions, while the hand tracking extension " -"will primarily be a means for visualising the players hand. The hope here is " -"that improvements to the OpenXR specification will ensure better portability " -"between platforms." +"The controller is turned off and only controller hand tracking is supported." +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:201 +msgid "Handling user input" +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:203 +msgid "" +"Reacting to actions performed by the user is handled through :ref:" +"`doc_xr_action_map` if controllers are used. In the action map you can map " +"various inputs like the trigger or joystick on the controller to an action. " +"This can then drive logic in your game." +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:208 +msgid "" +"When hand tracking is used we originally had no such inputs, inputs are " +"driven by gestures made by the user such as making a fist to grab or " +"pinching the thumb and index finger together to select something. It was up " +"to the game developer to implement this." +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:213 +msgid "" +"Recognizing that there is an increasing demand for applications that can " +"switch seamlessly between controller and hand tracking and the need some " +"form of basic input capability, a number of extensions were added to the " +"specification that provide some basic gesture recognition and can be used " +"with the action map." +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:219 +msgid "The hand interaction profile" +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:221 +msgid "" +"The `hand interaction profile extension `_ is a new core " +"extension which supports pinch, grasp, and poke gestures and related poses. " +"There is still limited support for this extension but it should become " +"available in more runtimes in the near future." +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:228 +msgid "" +"The pinch gesture is triggered by pinching your thumb and index finger " +"together. This is often used as a select gesture for menu systems, similar " +"to using your controller to point at an object and press the trigger to " +"select and is thus often mapped as such." +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:232 +msgid "" +"The ``pinch pose`` is a pose positioned in the middle between the tip of the " +"thumb and the tip of the index finger and oriented such that a ray cast can " +"be used to identify a target." +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:234 +msgid "" +"The ``pinch`` float input is a value between 0.0 (the tip of the thumb and " +"index finger are apart) and 1.0 (the tip of the thumb and index finger are " +"touching)." +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:236 +msgid "" +"The ``pinch ready`` input is true when the tips of the fingers are (close " +"to) touching." +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:238 +msgid "" +"The grasp gesture is triggered by making a fist and is often used to pick " +"items up, similar to engaging the squeeze input on controllers." +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:241 +msgid "" +"The ``grasp`` float input is a value between 0.0 (open hand) and 1.0 (fist)." +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:242 +msgid "The ``grasp ready`` input is true when the user made a fist." +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:244 +msgid "" +"The poke gesture is triggered by extending your index finger, this one is a " +"bit of an exception as the pose at the tip of your index finger is often " +"used to poke an interactable object. The ``poke pose`` is a pose positioned " +"on the tip of the index finger." +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:248 +msgid "" +"Finally the ``aim activate (ready)`` input is defined as an input that is " +"1.0/true when the index finger is extended and pointing at a target that can " +"be activated. How runtimes interpret this, is not clear." +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:252 +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:279 +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:321 +msgid "" +"With this setup the normal ``left_hand`` and ``right_hand`` trackers are " +"used and you can thus seamlessly switch between controller and hand tracking " +"input." +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:257 +msgid "" +"You need to enable the hand interaction profile extension in the OpenXR " +"project settings." +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:260 +msgid "Microsoft hand interaction profile" +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:262 +msgid "" +"The `Microsoft hand interaction profile extension `_ was " +"introduced by Microsoft and loosely mimics the simple controller profile. " +"Meta has also added support for this extension but only on their native " +"OpenXR client, it is currently not available over Meta Link." +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:269 +msgid "" +"Pinch support is exposed through the ``select`` input, the value of which is " +"0.0 when the tip of the thumb and index finger are apart and 1.0 when they " +"are together." +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:273 +msgid "" +"Note that in this profile the ``aim pose`` is redefined as a pose between " +"thumb and index finger, oriented so a ray cast can be used to identify a " +"target." +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:276 +msgid "" +"Grasp support is exposed through the ``squeeze`` input, the value of which " +"is 0.0 when the hand is open, and 1.0 when a fist is made." +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:283 +msgid "HTC hand interaction profile" +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:285 +msgid "" +"The `HTC hand interaction profile extension `_ was " +"introduced by HTC and is defined similarly to the Microsoft extension. It is " +"only supported by HTC for the Focus 3 and Elite XR headsets." +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:291 +msgid "See the Microsoft hand interaction profile for the gesture support." +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:293 +msgid "" +"The defining difference is that this extension introduces two new trackers, " +"``/user/hand_htc/left`` and ``/user/hand_htc/right``. This means that extra " +"logic needs to be implemented to switch between the default trackers and the " +"HTC specific trackers when the user puts down, or picks up, their controller." +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:299 +msgid "Simple controller profile" +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:301 +msgid "" +"The simple controller profile is a standard core profile defined as a " +"fallback profile when a controller is used for which no profile exists." +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:304 +msgid "" +"There are a number of OpenXR runtimes that will mimic controllers through " +"the simple controller profile when hand tracking is used." +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:307 +msgid "" +"Unfortunately there is no sound way to determine whether an unknown " +"controller is used or whether hand tracking is emulating a controller " +"through this profile." +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:312 +msgid "" +"XR runtimes are free to define how the simple controller profile operates, " +"so there is also no certainty to how this profile is mapped to gestures." +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:315 +msgid "" +"The most common mapping seems to be that ``select click`` is true when the " +"tip of the thumb and index fingers are touching while the user's palm is " +"facing away from the user. ``menu click`` will be true when tip of the thumb " +"and index fingers are touching while the user's palm is facing towards the " +"user." +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:326 +msgid "" +"As some of these interaction profiles have overlap it is important to know " +"that you can add each profile to your action map and the XR runtime will " +"choose the best fitting profile." +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:330 +msgid "" +"For instance, a Meta Quest supports both the Microsoft hand interaction " +"profile and simple controller profile. If both are specified the Microsoft " +"hand interaction profile will take precedence and will be used." +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:335 +msgid "" +"The expectation is that once Meta supports the core hand interaction profile " +"extension, that profile will take precedence over both Microsoft and simple " +"controller profiles." +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:340 +msgid "Gesture based input" +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:342 +msgid "" +"If the platform doesn't support any interaction profiles when hand tracking " +"is used, or if you're building an application where you need more " +"complicated gesture support you're going to need to build your own gesture " +"recognition system." +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:346 +msgid "" +"You can obtain the full hand tracking data through the :ref:`XRHandTracker " +"` resource for each hand. You can obtain the hand " +"tracker by calling ``XRServer.get_tracker`` and using either ``/user/" +"hand_tracker/left`` or ``/user/hand_tracker/left`` as the tracker. This " +"resource provides access to all the joint information for the given hand." +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:351 +msgid "" +"Detailing out a full gesture recognition algorithm goes beyond the scope of " +"this manual however there are a number of community projects you can look at:" +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:354 +msgid "" +"`Julian Todd's Auto hands library `_" +msgstr "" + +#: ../../docs/tutorials/xr/openxr_hand_tracking.rst:355 +msgid "" +"`Malcolm Nixons Hand Pose Detector `_" +msgstr "" + +#: ../../docs/tutorials/xr/openxr_body_tracking.rst:4 +msgid "OpenXR body tracking" +msgstr "" + +#: ../../docs/tutorials/xr/openxr_body_tracking.rst:6 +msgid "" +"Support for full body tracking in OpenXR is only just becoming available for " +"a select few platforms. As support solidifies information will be added to " +"this page." +msgstr "" + +#: ../../docs/tutorials/xr/openxr_body_tracking.rst:10 +msgid "HTC Tracker support" +msgstr "" + +#: ../../docs/tutorials/xr/openxr_body_tracking.rst:12 +msgid "" +"An option that has been available for some time is doing full body tracking " +"using HTC trackers. These are currently supported through SteamVR and on HTC " +"Elite XR headsets. They are exposed through the action map system." +msgstr "" + +#: ../../docs/tutorials/xr/openxr_body_tracking.rst:16 +msgid "" +"These trackers are identified by their roles which are assigned to them when " +"configured. Simply add :ref:`XRController3D ` nodes as " +"children to the :ref:`XROrigin3D ` node and assign one of " +"the following trackers:" +msgstr "" + +#: ../../docs/tutorials/xr/openxr_body_tracking.rst:20 +msgid "HTC trackers" +msgstr "" + +#: ../../docs/tutorials/xr/openxr_body_tracking.rst:24 +msgid "/user/vive_tracker_htcx/role/handheld_object" +msgstr "" + +#: ../../docs/tutorials/xr/openxr_body_tracking.rst:25 +msgid "/user/vive_tracker_htcx/role/left_foot" +msgstr "" + +#: ../../docs/tutorials/xr/openxr_body_tracking.rst:26 +msgid "/user/vive_tracker_htcx/role/right_foot" +msgstr "" + +#: ../../docs/tutorials/xr/openxr_body_tracking.rst:27 +msgid "/user/vive_tracker_htcx/role/left_shoulder" +msgstr "" + +#: ../../docs/tutorials/xr/openxr_body_tracking.rst:28 +msgid "/user/vive_tracker_htcx/role/right_shoulder" +msgstr "" + +#: ../../docs/tutorials/xr/openxr_body_tracking.rst:29 +msgid "/user/vive_tracker_htcx/role/left_elbow" +msgstr "" + +#: ../../docs/tutorials/xr/openxr_body_tracking.rst:30 +msgid "/user/vive_tracker_htcx/role/right_elbow" +msgstr "" + +#: ../../docs/tutorials/xr/openxr_body_tracking.rst:31 +msgid "/user/vive_tracker_htcx/role/left_knee" +msgstr "" + +#: ../../docs/tutorials/xr/openxr_body_tracking.rst:32 +msgid "/user/vive_tracker_htcx/role/right_knee" +msgstr "" + +#: ../../docs/tutorials/xr/openxr_body_tracking.rst:33 +msgid "/user/vive_tracker_htcx/role/waist" +msgstr "" + +#: ../../docs/tutorials/xr/openxr_body_tracking.rst:34 +msgid "/user/vive_tracker_htcx/role/chest" +msgstr "" + +#: ../../docs/tutorials/xr/openxr_body_tracking.rst:35 +msgid "/user/vive_tracker_htcx/role/camera" +msgstr "" + +#: ../../docs/tutorials/xr/openxr_body_tracking.rst:36 +msgid "/user/vive_tracker_htcx/role/keyboard" +msgstr "" + +#: ../../docs/tutorials/xr/openxr_body_tracking.rst:38 +msgid "" +"You can now use these as targets for IK modifiers on a full body avatar." msgstr "" #: ../../docs/tutorials/xr/introducing_xr_tools.rst:4 @@ -126291,277 +127333,217 @@ msgid "" "at Godot XR Tools own help pages for details." msgstr "" -#: ../../docs/contributing/ways_to_contribute.rst:4 -msgid "Ways to contribute" +#: ../../docs/contributing/how_to_contribute.rst:4 +msgid "How to contribute" msgstr "" -#: ../../docs/contributing/ways_to_contribute.rst:6 +#: ../../docs/contributing/how_to_contribute.rst:6 msgid "" -"Godot Engine is a non-profit, community-driven free and open source project. " -"Almost all (but our lead dev Juan, more on that below) developers are " -"working *pro bono* on their free time, out of personal interest and for the " -"love of creating a libre engine of exceptional quality." +"The Godot Engine is free and open-source. Like any community-driven project, " +"we rely on volunteer contributions. On this page we want to showcase the " +"various ways you as users can participate - to help you find the right " +"starting place with the skillset you have. Because contrary to popular " +"opinion, we need more than just programmers on the project!" msgstr "" -#: ../../docs/contributing/ways_to_contribute.rst:11 +#: ../../docs/contributing/how_to_contribute.rst:12 +msgid "Fundraising" +msgstr "" + +#: ../../docs/contributing/how_to_contribute.rst:14 +msgid "**Donate**" +msgstr "" + +#: ../../docs/contributing/how_to_contribute.rst:16 msgid "" -"This means that to thrive, Godot needs as many users as possible to get " -"involved by contributing to the engine. There are many ways to contribute to " -"such a big project, making it possible for everybody to bring something " -"positive to the engine, regardless of their skill set:" +"We created the non-profit `Godot Foundation `_ to " +"be able to support the Godot Engine in both matters of finance and " +"administration. In practice, this means the Foundation hires people to work " +"part-time or full-time on the project. These jobs include engine development " +"as well as related tasks like code reviews, production management, community " +"& marketing efforts, and more." msgstr "" -#: ../../docs/contributing/ways_to_contribute.rst:16 +#: ../../docs/contributing/how_to_contribute.rst:20 msgid "" -"**Be part of the community.** The best way to contribute to Godot and help " -"it become ever better is simply to use the engine and promote it by word-of-" -"mouth, in the credits or splash screen of your games, blog posts, tutorials, " -"videos, demos, gamedev or free software events, support on the Q&A, forums, " -"Contributors Chat, Discord, etc. Participate! Being a user and advocate " -"helps spread the word about our great engine, which has no marketing budget " -"and can therefore only rely on its community to become more mainstream." +"With as little as 5 EUR per month, you can help us keep going strong. " +"Currently, we are intending to hire more core developers, as to cover more " +"ground with full-time specialists that supplement and guide volunteer work." msgstr "" -#: ../../docs/contributing/ways_to_contribute.rst:25 +#: ../../docs/contributing/how_to_contribute.rst:23 +msgid "`Join the Development Fund `_" +msgstr "" + +#: ../../docs/contributing/how_to_contribute.rst:25 msgid "" -"**Make games.** It's no secret that, to convince new users and especially " -"the industry at large that Godot is a relevant market player, we need great " -"games made with Godot. We know that the engine has a lot of potential, both " -"for 2D and 3D games, but given its young age we still lack big releases that " -"will draw attention to Godot. So keep working on your awesome projects, each " -"new game increases our credibility on the gamedev market!" +"**Donation Drives** Think about your followers on social media, or other " +"communities you are active in. Use that reach to remind your social " +"environment that even small contributions can make a difference, especially " +"when done by a great number of people at the same time." msgstr "" -#: ../../docs/contributing/ways_to_contribute.rst:32 +#: ../../docs/contributing/how_to_contribute.rst:29 msgid "" -"**Get involved in the engine's development.** This can be by contributing " -"code via pull requests, testing the development snapshots or directly the " -"git *master* branch, report bugs or suggest enhancements on the issue " -"tracker, improve the official documentation (both the class reference and " -"tutorials) and its translations. The following sections will cover each of " -"those \"direct\" ways of contributing to the engine." +"Are you a content creator? Consider adding a link to the `Godot Development " +"Fund `_ to your descriptions. If you do live streams, " +"perhaps think about organizing a stream with donation incentives." msgstr "" -#: ../../docs/contributing/ways_to_contribute.rst:40 +#: ../../docs/contributing/how_to_contribute.rst:34 msgid "" -"**Donate.** Godot is a non-profit project, but it can still benefit from " -"user donations for many things. Apart from usual expenses such as hosting " -"costs or promotional material on events, we also use donation money to " -"acquire hardware when necessary (e.g. we used donation money to buy a " -"MacBook Pro to implement Retina/HiDPI support and various other macOS-" -"related features). Most importantly, we also used donation money to hire " -"core developers so they can work full-time on the engine. Even with a low " -"monthly wage, we need a steady donation income to continue doing this, which " -"has been very beneficial to the project so far. So if you want to donate " -"some money to the project, check `our website `_ for details." +"**Publish Godot Games.** You heard right, simply publishing a game " +"#MadeWithGodot can positively impact the well-being of this project. Your " +"personal success elevates the engine to a viable alternative for other " +"developers, growing the community further. Additionally, it opens the doors " +"for us to approach industry contacts about possible cooperations." msgstr "" -#: ../../docs/contributing/ways_to_contribute.rst:54 -msgid "Contributing code" +#: ../../docs/contributing/how_to_contribute.rst:41 +msgid "Technical contributions" msgstr "" -#: ../../docs/contributing/ways_to_contribute.rst:56 +#: ../../docs/contributing/how_to_contribute.rst:43 msgid "" -"The possibility to study, use, modify and redistribute modifications of the " -"engine's source code are the fundamental rights that Godot's `MIT `_ license grants you, making it `free and " -"open source software `_." +"**Report bugs & other issues** As active users of the engine, you are better " +"equipped to identify bugs and other issues than anyone else. To let us know " +"about your findings, fill out this `bug report form `_ on our GitHub. Make sure to include " +"as much information as possible to ensure these issues can easily be " +"reproduced by others." msgstr "" -#: ../../docs/contributing/ways_to_contribute.rst:61 +#: ../../docs/contributing/how_to_contribute.rst:48 msgid "" -"As such, everyone is entitled to modify `Godot's source code `_, and send those modifications back to the upstream " -"project in the form of a patch (a text file describing the changes in a " -"ready-to-apply manner) or - in the modern workflow that we use - via a so-" -"called \"pull request\" (PR), i.e. a proposal to directly merge one or more " -"Git commits (patches) into the main development branch." +"If you are interested in helping keep our bug tracker organized, you can " +"even join the `bugsquad `_!" msgstr "" -#: ../../docs/contributing/ways_to_contribute.rst:68 -msgid "Contributing code changes upstream has two big advantages:" -msgstr "" - -#: ../../docs/contributing/ways_to_contribute.rst:70 +#: ../../docs/contributing/how_to_contribute.rst:50 msgid "" -"Your own code will be reviewed and improved by other developers, and will be " -"further maintained directly in the upstream project, so you won't have to " -"reapply your own changes every time you move to a newer version. On the " -"other hand it comes with a responsibility, as your changes have to be " -"generic enough to be beneficial to all users, and not just your project; so " -"in some cases it might still be relevant to keep your changes only for your " -"own project, if they are too specific." +"**Test Development Versions** While it is recommended to use the stable " +"releases for your projects, you can help us test dev releases, betas, and " +"release candidates by opening a copy of your project in them and checking " +"what problems this introduces or maybe even solves. Make sure to have a " +"backup ready, since this can produce irreversible changes." msgstr "" -#: ../../docs/contributing/ways_to_contribute.rst:78 +#: ../../docs/contributing/how_to_contribute.rst:55 msgid "" -"The whole community will benefit from your work, and other contributors will " -"behave the same way, contributing code that will be beneficial to you. At " -"the time of this writing, over 2,000 developers have contributed code " -"changes to the engine!" +"Find recent `development versions `_ directly on our download page, or linked in their own blog posts." msgstr "" -#: ../../docs/contributing/ways_to_contribute.rst:83 +#: ../../docs/contributing/how_to_contribute.rst:57 msgid "" -"To ensure good collaboration and overall quality, the Godot developers " -"enforce some rules for code contributions, for example regarding the style " -"to use in the C++ code (indentation, brackets, etc.) or the Git and PR " -"workflow." +"**Contribute Engine Code (mainly C++)** The engine development is mainly " +"coordinated on our `Contributor RocketChat `_, so if you are serious about making PRs you should join us there!" msgstr "" -#: ../../docs/contributing/ways_to_contribute.rst:87 +#: ../../docs/contributing/how_to_contribute.rst:61 msgid "" -"A good place to start is by searching for issues tagged as `good first issue " -"`_ on GitHub." +"Read more about the **technical submission process**: :ref:`doc_first_steps`" msgstr "" -#: ../../docs/contributing/ways_to_contribute.rst:91 +#: ../../docs/contributing/how_to_contribute.rst:63 msgid "" -"Technical details about the PR workflow are outlined in a specific section, :" -"ref:`doc_pr_workflow`." +"For each subject area of the engine, there is a corresponding team to " +"coordinate the work. Join the linked chat to get more eyes on your related " +"PR, learn about open todos, or partake in meetings. For some areas, " +"specialists might even be encouraged to step up as maintainer! `List of " +"teams `_" msgstr "" -#: ../../docs/contributing/ways_to_contribute.rst:94 +#: ../../docs/contributing/how_to_contribute.rst:68 msgid "" -"Details about the code style guidelines and the ``clang-format`` tool used " -"to enforce them are outlined in :ref:`doc_code_style_guidelines`." +"**Review Code Contributions** All pull requests need to be thoroughly " +"reviewed before they can be merged into the master branch. Help us get a " +"headstart by participating in the code review process." msgstr "" -#: ../../docs/contributing/ways_to_contribute.rst:98 +#: ../../docs/contributing/how_to_contribute.rst:72 msgid "" -"All pull requests must go through a review process before being accepted. " -"Depending on the scope of the changes, it may take some time for a " -"maintainer responsible for the modified part of the engine to provide their " -"review. We value all of our contributors and ask them to be patient in the " -"meantime, as it is expected that in an open source project like Godot, there " -"is going to be way more contributions than people validating them." +"To get started, chose any `open pull request `_ and reference our **style guide**: :ref:" +"`doc_pr_review_guidelines`" msgstr "" -#: ../../docs/contributing/ways_to_contribute.rst:105 +#: ../../docs/contributing/how_to_contribute.rst:74 msgid "" -"To make sure that your time and efforts aren't wasted, it is recommended to " -"vet the idea first before implementing it and putting it for a review as a " -"PR. To that end, Godot has a `proposal system `_. Its usage is encouraged to plan changes and " -"discuss them with the community. Implementation details can also be " -"discussed with other contributors on the `Godot Contributors Chat `_." +"**Write Plugins (GDScript, C#, & more)** Community addons are not directly " +"included in the core engine download or repository, yet they provide " +"essential quality of life upgrades for your fellow game developers. Upload " +"your plugins to the `Godot Asset Library `_ to make them available to others. .. update to talk about " +"Asset Store later" msgstr "" -#: ../../docs/contributing/ways_to_contribute.rst:111 +#: ../../docs/contributing/how_to_contribute.rst:79 msgid "" -"Proposals are only required when working on an enhancement or a new feature. " -"Bug reports are sufficient for fixing issues." +"**Demo projects (GDScript, C#, and making Assets)** We provide new users " +"with `demo projects `_ " +"so they can quickly test new features or get familiar with the engine in the " +"first place. At industry events, we might even exhibit these demo projects " +"to showcase what Godot can do! Help improve existing projects or supply your " +"own to be added to the pool, and join the `demo channel `_ in the Contributor RocketChat to " +"talk about it." msgstr "" -#: ../../docs/contributing/ways_to_contribute.rst:115 -msgid "Testing and reporting issues" -msgstr "" - -#: ../../docs/contributing/ways_to_contribute.rst:117 +#: ../../docs/contributing/how_to_contribute.rst:84 msgid "" -"Another great way of contributing to the engine is to test development " -"releases or the development branch and to report issues. It is also helpful " -"to report issues discovered in stable releases, so that they can be fixed in " -"the development branch and in future maintenance releases." +"**Documentation** The documentation is one of the most essential parts of " +"any tech project, yet the need to document new features and substantial " +"changes often gets overlooked. Join the `documentation team `_ to improve the Godot Engine with " +"your technical writing skills." msgstr "" -#: ../../docs/contributing/ways_to_contribute.rst:123 -msgid "Testing development versions" -msgstr "" - -#: ../../docs/contributing/ways_to_contribute.rst:125 -msgid "To help with the testing, you have several possibilities:" -msgstr "" - -#: ../../docs/contributing/ways_to_contribute.rst:127 +#: ../../docs/contributing/how_to_contribute.rst:88 msgid "" -"Compile the engine from source yourself, following the instructions of the :" -"ref:`Compiling ` page for your platform." +"**Translations (spoken languages other than English)** Are you interested in " +"making the Godot Engine more accessible to non-English speakers? Contribute " +"to our `community-translations `_." msgstr "" -#: ../../docs/contributing/ways_to_contribute.rst:130 +#: ../../docs/contributing/how_to_contribute.rst:93 +msgid "Community support" +msgstr "" + +#: ../../docs/contributing/how_to_contribute.rst:95 msgid "" -"Test official pre-release binaries when they are announced (usually on the " -"blog and other community platforms), such as alpha, beta and release " -"candidate (RC) builds." +"**Call for Moderators** With a community of our size, we need people to step " +"up as volunteer moderators in all kinds of places. These teams are organized " +"by the Godot Foundation, but would not function without the dedication of " +"active community members like you." msgstr "" -#: ../../docs/contributing/ways_to_contribute.rst:133 +#: ../../docs/contributing/how_to_contribute.rst:99 msgid "" -"Test \"trusted\" unofficial builds of the development branch; just ask " -"community members for reliable providers. Whenever possible, it's best to " -"use official binaries or to compile yourself though, to be sure about the " -"provenance of your binaries." +"Have a look around your favorite community platform and you might come " +"across open application calls." msgstr "" -#: ../../docs/contributing/ways_to_contribute.rst:138 +#: ../../docs/contributing/how_to_contribute.rst:101 msgid "" -"As mentioned previously, it is also helpful to keep your eyes peeled for " -"potential bugs that might still be present in the stable releases, " -"especially when using some niche features of the engine which might get less " -"testing by the developers." +"**Answer tech-support questions** With many new people discovering the Godot " +"Engine recently, the need for peer-to-peer tech-support has never been " +"greater. Be it on the `Forum `_, our " +"`subreddit `_, or on `Discord `_, you can always brighten someone's day by helping " +"them get their personal projects back on track." msgstr "" -#: ../../docs/contributing/ways_to_contribute.rst:144 -msgid "Filing an issue on GitHub" -msgstr "" - -#: ../../docs/contributing/ways_to_contribute.rst:146 +#: ../../docs/contributing/how_to_contribute.rst:105 msgid "" -"Godot uses `GitHub's issue tracker `_ for bug reports. When you start filing a bug report, you’ll be " -"given a form to fill out. Please try to follow it so that all issues are " -"consistent and provide the required information." -msgstr "" - -#: ../../docs/contributing/ways_to_contribute.rst:152 -#: ../../docs/contributing/documentation/contributing_to_the_documentation.rst:4 -msgid "Contributing to the documentation" -msgstr "" - -#: ../../docs/contributing/ways_to_contribute.rst:154 -msgid "" -"There are two separate resources referred to as \"documentation\" in Godot:" -msgstr "" - -#: ../../docs/contributing/ways_to_contribute.rst:156 -msgid "" -"**The class reference.** This is the documentation for the complete Godot " -"API as exposed to GDScript and the other scripting languages. It can be " -"consulted offline, directly in Godot's code editor, or online at Godot :ref:" -"`Class Reference `. To contribute to the class " -"reference, you have to edit the XML file corresponding to the class and make " -"a pull request. See :ref:`doc_updating_the_class_reference` and :ref:" -"`doc_class_reference_primer` for more details." -msgstr "" - -#: ../../docs/contributing/ways_to_contribute.rst:164 -msgid "" -"**The tutorials and engine documentation and its translations.** This is the " -"part you are reading now, which is distributed in the HTML format. Its " -"contents are generated from plain text files in the reStructured Text (rst) " -"format, to which you can contribute via pull requests on the `godot-docs " -"`_ GitHub repository. See :ref:" -"`doc_contributing_to_the_documentation` for more details." -msgstr "" - -#: ../../docs/contributing/ways_to_contribute.rst:172 -msgid "Contributing translations" -msgstr "" - -#: ../../docs/contributing/ways_to_contribute.rst:174 -msgid "" -"To make Godot accessible to everyone, including users who may prefer " -"resources in their native language instead of English, our community helps " -"translate both the Godot editor and its documentation in many languages." -msgstr "" - -#: ../../docs/contributing/ways_to_contribute.rst:178 -msgid "See :ref:`doc_editor_and_docs_localization` for more details." +"**Create tutorials & more** How did you get started with the Godot Engine? " +"Chances are you looked for learning materials outside of what the " +"documentation provides. Without content creators covering the game " +"development process, there would not be this big of a community today. " +"Therefore it seemed only right to mention them in a page about important " +"contributions to the project." msgstr "" #: ../../docs/contributing/workflow/index.rst:6 @@ -126576,6 +127558,213 @@ msgid "" "approach the project." msgstr "" +#: ../../docs/contributing/workflow/first_steps.rst:4 +msgid "Contributing code" +msgstr "" + +#: ../../docs/contributing/workflow/first_steps.rst:6 +msgid "" +"The possibility to study, use, modify and redistribute modifications of the " +"engine's source code are the fundamental rights that Godot's `MIT `_ license grants you, making it `free and " +"open source software `_." +msgstr "" + +#: ../../docs/contributing/workflow/first_steps.rst:11 +msgid "" +"As such, everyone is entitled to modify `Godot's source code `_, and send those modifications back to the upstream " +"project in the form of a patch (a text file describing the changes in a " +"ready-to-apply manner) or - in the modern workflow that we use - via a so-" +"called \"pull request\" (PR), i.e. a proposal to directly merge one or more " +"Git commits (patches) into the main development branch." +msgstr "" + +#: ../../docs/contributing/workflow/first_steps.rst:18 +msgid "Contributing code changes upstream has two big advantages:" +msgstr "" + +#: ../../docs/contributing/workflow/first_steps.rst:20 +msgid "" +"Your own code will be reviewed and improved by other developers, and will be " +"further maintained directly in the upstream project, so you won't have to " +"reapply your own changes every time you move to a newer version. On the " +"other hand it comes with a responsibility, as your changes have to be " +"generic enough to be beneficial to all users, and not just your project; so " +"in some cases it might still be relevant to keep your changes only for your " +"own project, if they are too specific." +msgstr "" + +#: ../../docs/contributing/workflow/first_steps.rst:28 +msgid "" +"The whole community will benefit from your work, and other contributors will " +"behave the same way, contributing code that will be beneficial to you. At " +"the time of this writing, over 2,000 developers have contributed code " +"changes to the engine!" +msgstr "" + +#: ../../docs/contributing/workflow/first_steps.rst:33 +msgid "" +"To ensure good collaboration and overall quality, the Godot developers " +"enforce some rules for code contributions, for example regarding the style " +"to use in the C++ code (indentation, brackets, etc.) or the Git and PR " +"workflow." +msgstr "" + +#: ../../docs/contributing/workflow/first_steps.rst:37 +msgid "" +"A good place to start is by searching for issues tagged as `good first issue " +"`_ on GitHub." +msgstr "" + +#: ../../docs/contributing/workflow/first_steps.rst:41 +msgid "" +"Technical details about the PR workflow are outlined in a specific section, :" +"ref:`doc_pr_workflow`." +msgstr "" + +#: ../../docs/contributing/workflow/first_steps.rst:44 +msgid "" +"Details about the code style guidelines and the ``clang-format`` tool used " +"to enforce them are outlined in :ref:`doc_code_style_guidelines`." +msgstr "" + +#: ../../docs/contributing/workflow/first_steps.rst:48 +msgid "" +"All pull requests must go through a review process before being accepted. " +"Depending on the scope of the changes, it may take some time for a " +"maintainer responsible for the modified part of the engine to provide their " +"review. We value all of our contributors and ask them to be patient in the " +"meantime, as it is expected that in an open source project like Godot, there " +"is going to be way more contributions than people validating them." +msgstr "" + +#: ../../docs/contributing/workflow/first_steps.rst:55 +msgid "" +"To make sure that your time and efforts aren't wasted, it is recommended to " +"vet the idea first before implementing it and putting it for a review as a " +"PR. To that end, Godot has a `proposal system `_. Its usage is encouraged to plan changes and " +"discuss them with the community. Implementation details can also be " +"discussed with other contributors on the `Godot Contributors Chat `_." +msgstr "" + +#: ../../docs/contributing/workflow/first_steps.rst:61 +msgid "" +"Proposals are only required when working on an enhancement or a new feature. " +"Bug reports are sufficient for fixing issues." +msgstr "" + +#: ../../docs/contributing/workflow/first_steps.rst:65 +msgid "Testing and reporting issues" +msgstr "" + +#: ../../docs/contributing/workflow/first_steps.rst:67 +msgid "" +"Another great way of contributing to the engine is to test development " +"releases or the development branch and to report issues. It is also helpful " +"to report issues discovered in stable releases, so that they can be fixed in " +"the development branch and in future maintenance releases." +msgstr "" + +#: ../../docs/contributing/workflow/first_steps.rst:73 +msgid "Testing development versions" +msgstr "" + +#: ../../docs/contributing/workflow/first_steps.rst:75 +msgid "To help with the testing, you have several possibilities:" +msgstr "" + +#: ../../docs/contributing/workflow/first_steps.rst:77 +msgid "" +"Compile the engine from source yourself, following the instructions of the :" +"ref:`Compiling ` page for your platform." +msgstr "" + +#: ../../docs/contributing/workflow/first_steps.rst:80 +msgid "" +"Test official pre-release binaries when they are announced (usually on the " +"blog and other community platforms), such as alpha, beta and release " +"candidate (RC) builds." +msgstr "" + +#: ../../docs/contributing/workflow/first_steps.rst:83 +msgid "" +"Test \"trusted\" unofficial builds of the development branch; just ask " +"community members for reliable providers. Whenever possible, it's best to " +"use official binaries or to compile yourself though, to be sure about the " +"provenance of your binaries." +msgstr "" + +#: ../../docs/contributing/workflow/first_steps.rst:88 +msgid "" +"As mentioned previously, it is also helpful to keep your eyes peeled for " +"potential bugs that might still be present in the stable releases, " +"especially when using some niche features of the engine which might get less " +"testing by the developers." +msgstr "" + +#: ../../docs/contributing/workflow/first_steps.rst:94 +msgid "Filing an issue on GitHub" +msgstr "" + +#: ../../docs/contributing/workflow/first_steps.rst:96 +msgid "" +"Godot uses `GitHub's issue tracker `_ for bug reports. When you start filing a bug report, you’ll be " +"given a form to fill out. Please try to follow it so that all issues are " +"consistent and provide the required information." +msgstr "" + +#: ../../docs/contributing/workflow/first_steps.rst:102 +#: ../../docs/contributing/documentation/contributing_to_the_documentation.rst:4 +msgid "Contributing to the documentation" +msgstr "" + +#: ../../docs/contributing/workflow/first_steps.rst:104 +msgid "" +"There are two separate resources referred to as \"documentation\" in Godot:" +msgstr "" + +#: ../../docs/contributing/workflow/first_steps.rst:106 +msgid "" +"**The class reference.** This is the documentation for the complete Godot " +"API as exposed to GDScript and the other scripting languages. It can be " +"consulted offline, directly in Godot's code editor, or online at Godot :ref:" +"`Class Reference `. To contribute to the class " +"reference, you have to edit the XML file corresponding to the class and make " +"a pull request. See :ref:`doc_updating_the_class_reference` and :ref:" +"`doc_class_reference_primer` for more details." +msgstr "" + +#: ../../docs/contributing/workflow/first_steps.rst:114 +msgid "" +"**The tutorials and engine documentation and its translations.** This is the " +"part you are reading now, which is distributed in the HTML format. Its " +"contents are generated from plain text files in the reStructured Text (rst) " +"format, to which you can contribute via pull requests on the `godot-docs " +"`_ GitHub repository. See :ref:" +"`doc_contributing_to_the_documentation` for more details." +msgstr "" + +#: ../../docs/contributing/workflow/first_steps.rst:122 +msgid "Contributing translations" +msgstr "" + +#: ../../docs/contributing/workflow/first_steps.rst:124 +msgid "" +"To make Godot accessible to everyone, including users who may prefer " +"resources in their native language instead of English, our community helps " +"translate both the Godot editor and its documentation in many languages." +msgstr "" + +#: ../../docs/contributing/workflow/first_steps.rst:128 +msgid "See :ref:`doc_editor_and_docs_localization` for more details." +msgstr "" + #: ../../docs/contributing/workflow/bisecting_regressions.rst:4 msgid "Bisecting regressions" msgstr "" @@ -131764,10 +132953,6 @@ msgid "" "using the ``cflags``, ``ccflags`` and ``cxxflags`` SCons options." msgstr "" -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:243 -msgid "Architecture" -msgstr "" - #: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:245 msgid "" "The ``arch`` option is meant to control the CPU or OS version intended to " @@ -132251,65 +133436,58 @@ msgstr "" #: ../../docs/contributing/development/compiling/compiling_for_windows.rst:170 msgid "" -"To compile Godot with Direct3D 12 support you need at least the following:" +"To compile Godot with Direct3D 12 support you need at least the following " +"item:" msgstr "" #: ../../docs/contributing/development/compiling/compiling_for_windows.rst:172 msgid "" -"`The DirectX Shader Compiler `_. The zip folder will be named \"dxc\\_\" " -"followed by the date of release. 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:176 -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:181 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:177 msgid "" "You can optionally build the godot-nir-static libraries yourself with the " "following steps:" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:184 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:180 msgid "" "Install the Python package `mako `_ which is " "needed to generate some files." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:186 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:182 msgid "" "Clone the `godot-nir-static `_ directory and navigate to it." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:188 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:184 msgid "Run the following::" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:194 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:190 msgid "" "If you are building with MinGW, add ``use_mingw=yes`` to the ``scons`` " "command, you can also specify build architecture using ``arch={architecture}" "``." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:197 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:193 msgid "" "Mesa static library should be built using the same compiler you are using " "for building Godot." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:200 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:196 msgid "Optionally, you can compile with the following for additional features:" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:202 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:198 msgid "" "`PIX `_ is a performance tuning " "and debugging application for Direct3D12 applications. If you compile-in " @@ -132321,7 +133499,7 @@ msgid "" "path." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:209 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:205 msgid "" "`Agility SDK `_ can " "be used to provide access to the latest Direct3D 12 features without relying " @@ -132331,41 +133509,29 @@ msgid "" "unzip the file to some path." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:216 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:212 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:219 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:215 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:230 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:226 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:237 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:233 msgid "Or, with all options enabled:" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:243 -msgid "" -"The build process will copy ``dxil.dll`` from the ``bin//`` directory " -"in the DXC folder to the Godot binary directory and the appropriate ``bin/" -"`` file in the Godot binary directory. Direct3D 12-enabled Godot " -"packages for distribution to end users must include the ``dxil.dll`` (and " -"relevant folders if using multi-arch), both for the editor and games. At " -"runtime, the renderer will try to load the DLL from the arch-specific " -"folders, and will fall back to the same directory as the Godot executable if " -"the appropriate arch isn't found." -msgstr "" - -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:253 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:239 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 " @@ -132374,24 +133540,24 @@ msgid "" "runtime the right one will be loaded." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:260 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:246 msgid "Compiling with ANGLE support" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:262 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:248 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:266 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:252 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:269 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:255 msgid "" "You can use dynamically linked ANGLE with export templates as well, rename " "aforementioned DLLs to ``libEGL.{architecture}.dll`` and ``libGLESv2." @@ -132399,56 +133565,56 @@ msgid "" "and libraries will be automatically copied during the export process." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:274 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:260 msgid "To compile Godot with statically linked ANGLE:" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:276 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:262 msgid "" "Download pre-built static libraries from `godot-angle-static library " "`_, and unzip " "them." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:277 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:263 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:281 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:267 msgid "" "You can optionally build the godot-angle-static libraries yourself with the " "following steps:" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:284 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:270 msgid "" "Clone the `godot-angle-static `_ directory and navigate to it." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:286 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:272 msgid "Run the following command::" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:290 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:276 msgid "" "If you are buildng with MinGW, add ``use_mingw=yes`` to the command, you can " "also specify build architecture using ``arch={architecture}``." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:293 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:279 msgid "" "ANGLE static library should be built using the same compiler you are using " "for building Godot." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:297 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:283 msgid "Development in Visual Studio" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:299 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:285 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 " @@ -132456,86 +133622,86 @@ msgid "" "IDE." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:303 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:289 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:306 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:292 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:311 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:297 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:314 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:300 msgid "See :ref:`doc_configuring_an_ide_vs` for further details." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:317 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:303 msgid "Cross-compiling for Windows from other operating systems" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:319 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:305 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. The package names may differ based on your distribution, here are " -"some known ones:" +"www.mingw-w64.org/>`__, which typically comes in 32-bit and 64-bit variants. " +"The package names may differ based on your distribution, here are some known " +"ones:" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:329 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:315 msgid "**Debian** / **Ubuntu**" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:333 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:319 #: ../../docs/contributing/development/compiling/compiling_for_linuxbsd.rst:444 msgid "**Fedora**" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:338 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:324 msgid "**macOS**" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:342 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:328 msgid "**Mageia**" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:348 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:334 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:354 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:340 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:360 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:346 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:364 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:350 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:371 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:357 msgid "" "When cross-compiling for Windows using MinGW-w64, keep in mind only " "``x86_64`` and ``x86_32`` architectures are supported. Be sure to specify " @@ -132543,50 +133709,50 @@ msgid "" "architecture." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:379 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:365 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:383 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:369 msgid "" "You can change that configuration following those instructions, for 64-bit::" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:391 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:377 msgid "And for 32-bit::" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:399 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:385 msgid "Creating Windows export templates" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:401 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:387 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:411 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:397 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:419 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:405 msgid "With the following names::" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:430 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:416 msgid "" "However, if you are using custom modules or custom engine code, you may " "instead want to configure your binaries as custom export templates here:" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:436 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:422 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 " @@ -133336,7 +134502,7 @@ msgstr "" #: ../../docs/contributing/development/compiling/compiling_for_android.rst:41 msgid "" -"You can download a build from `ojdkbuild `_." msgstr "" @@ -133768,8 +134934,8 @@ msgstr "" #: ../../docs/contributing/development/compiling/cross-compiling_for_ios_on_linux.rst:27 msgid "" -"`XCode with the iOS SDK `__ (a " -"dmg image, for newer versions a **xip** file is going to be downloaded.)" +"`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 @@ -133781,96 +134947,67 @@ msgstr "" #: ../../docs/contributing/development/compiling/cross-compiling_for_ios_on_linux.rst:32 msgid "" -"`Fuse `__ for mounting and unmounting " -"the dmg image." +"`xar `__ and `pbzx `__ (required to extract the ``.xip`` archive Xcode " +"comes in)." msgstr "" -#: ../../docs/contributing/development/compiling/cross-compiling_for_ios_on_linux.rst:34 +#: ../../docs/contributing/development/compiling/cross-compiling_for_ios_on_linux.rst:35 msgid "" -"`darling-dmg `__, which needs to " -"be built from source. The procedure for that is explained below." -msgstr "" - -#: ../../docs/contributing/development/compiling/cross-compiling_for_ios_on_linux.rst:38 -msgid "" -"For newer versions you should download `xar `__ and `pbzx `__." -msgstr "" - -#: ../../docs/contributing/development/compiling/cross-compiling_for_ios_on_linux.rst:40 -msgid "" -"For building darling-dmg, you'll need the development packages of the " -"following libraries: fuse, icu, openssl, zlib, bzip2." -msgstr "" - -#: ../../docs/contributing/development/compiling/cross-compiling_for_ios_on_linux.rst:42 -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:45 +#: ../../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:49 +#: ../../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:52 +#: ../../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:55 -msgid "darling-dmg" -msgstr "" - -#: ../../docs/contributing/development/compiling/cross-compiling_for_ios_on_linux.rst:57 -msgid "Clone the repository on your machine:" -msgstr "" - -#: ../../docs/contributing/development/compiling/cross-compiling_for_ios_on_linux.rst:63 -msgid "Build it:" -msgstr "" - -#: ../../docs/contributing/development/compiling/cross-compiling_for_ios_on_linux.rst:75 +#: ../../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:77 -msgid "Mount the XCode image:" -msgstr "" - -#: ../../docs/contributing/development/compiling/cross-compiling_for_ios_on_linux.rst:87 -msgid "For newer versions you should extract the **xip** file:" -msgstr "" - -#: ../../docs/contributing/development/compiling/cross-compiling_for_ios_on_linux.rst:97 +#: ../../docs/contributing/development/compiling/cross-compiling_for_ios_on_linux.rst:50 msgid "" -"Note that for the commands below, you may need to replace the version (`X." -"x`) with whatever iOS SDK version you're using." +"Extract the Xcode ``.xip`` file you downloaded from Apple's developer " +"website:" msgstr "" -#: ../../docs/contributing/development/compiling/cross-compiling_for_ios_on_linux.rst:99 +#: ../../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:109 -msgid "Pack the SDK:" +#: ../../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:117 +#: ../../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:119 +#: ../../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:127 +#: ../../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 " @@ -133878,17 +135015,17 @@ msgid "" "following commands:" msgstr "" -#: ../../docs/contributing/development/compiling/cross-compiling_for_ios_on_linux.rst:137 +#: ../../docs/contributing/development/compiling/cross-compiling_for_ios_on_linux.rst:104 msgid "" -"Now you should have the iOS toolchain binaries in ``/home/user/iostoolchain/" -"usr/bin``." +"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:141 +#: ../../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:143 +#: ../../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 " @@ -133896,13 +135033,13 @@ msgid "" "build command." msgstr "" -#: ../../docs/contributing/development/compiling/cross-compiling_for_ios_on_linux.rst:148 +#: ../../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:155 +#: ../../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:" @@ -133971,59 +135108,66 @@ msgstr "" #: ../../docs/contributing/development/compiling/compiling_for_web.rst:54 msgid "" +"By default, WebWorker threads support is enabled. To disable it and only use " +"a single thread, the ``threads`` option can be used to build the web " +"template without threads support::" +msgstr "" + +#: ../../docs/contributing/development/compiling/compiling_for_web.rst:60 +msgid "" "The engine will now be compiled to WebAssembly by Emscripten. Once finished, " "the resulting file will be placed in the ``bin`` subdirectory. Its name is " "``godot.web.template_release.wasm32.zip`` for release or ``godot.web." "template_debug.wasm32.zip`` for debug." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_web.rst:59 +#: ../../docs/contributing/development/compiling/compiling_for_web.rst:65 msgid "" "Finally, rename the zip archive to ``web_release.zip`` for the release " "template::" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_web.rst:64 +#: ../../docs/contributing/development/compiling/compiling_for_web.rst:70 msgid "And ``web_debug.zip`` for the debug template::" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_web.rst:71 +#: ../../docs/contributing/development/compiling/compiling_for_web.rst:77 msgid "" "The default export templates do not include GDExtension support for " "performance and compatibility reasons. See the :ref:`export page " "` for more info." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_web.rst:75 +#: ../../docs/contributing/development/compiling/compiling_for_web.rst:81 msgid "" "You can build the export templates using the option ``dlink_enabled=yes`` to " "enable GDExtension support::" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_web.rst:81 +#: ../../docs/contributing/development/compiling/compiling_for_web.rst:87 msgid "" "Once finished, the resulting file will be placed in the ``bin`` " "subdirectory. Its name will have ``_dlink`` added." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_web.rst:84 +#: ../../docs/contributing/development/compiling/compiling_for_web.rst:90 msgid "" "Finally, rename the zip archives to ``web_dlink_release.zip`` and " "``web_dlink_release.zip`` for the release template::" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_web.rst:91 +#: ../../docs/contributing/development/compiling/compiling_for_web.rst:97 msgid "Building the editor" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_web.rst:93 +#: ../../docs/contributing/development/compiling/compiling_for_web.rst:99 msgid "" "It is also possible to build a version of the Godot editor that can run in " "the browser. The editor version is not recommended over the native build. " "You can build the editor with::" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_web.rst:99 +#: ../../docs/contributing/development/compiling/compiling_for_web.rst:105 msgid "" "Once finished, the resulting file will be placed in the ``bin`` " "subdirectory. Its name will be ``godot.web.editor.wasm32.zip``. You can " @@ -134031,26 +135175,26 @@ msgid "" "use the editor." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_web.rst:103 +#: ../../docs/contributing/development/compiling/compiling_for_web.rst:109 msgid "" "Refer to the :ref:`export page ` for the web " "server requirements." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_web.rst:108 +#: ../../docs/contributing/development/compiling/compiling_for_web.rst:114 msgid "" "The Godot repository includes a `Python script to host a local web server " "`__. This can be used to test the web editor locally." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_web.rst:112 +#: ../../docs/contributing/development/compiling/compiling_for_web.rst:118 msgid "" "After compiling the editor, extract the ZIP archive that was created in the " "``bin/`` folder, then run the following command in the Godot repository root:" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_web.rst:121 +#: ../../docs/contributing/development/compiling/compiling_for_web.rst:127 msgid "" "This will serve the contents of the ``bin/`` folder and open the default web " "browser automatically. In the page that opens, access ``godot.tools.html`` " @@ -142688,10 +143832,10 @@ msgstr "" #: ../../docs/contributing/documentation/docs_image_guidelines.rst:70 msgid "" "If you've never used Krita before download it from the `official Krita " -"website `_, on Linux you may " -"also be able to download it from your distributions repository, flathub is " -"also an option. Once it's installed on your computer open Krita then open " -"the image you want to crop. This button on the left panel is the crop tool." +"website `_, on Linux you may also be able to " +"download it from your distributions repository, flathub is also an option. " +"Once it's installed on your computer open Krita then open the image you want " +"to crop. This button on the left panel is the crop tool." msgstr "" #: ../../docs/contributing/documentation/docs_image_guidelines.rst:77 @@ -145355,7 +146499,7 @@ msgid "Text tutorials" msgstr "" #: ../../docs/community/tutorials.rst:46 -msgid "`FinepointCGI website by Mitch `__" +msgid "`FinePointCGI website by Mitch `__" msgstr "" #: ../../docs/community/tutorials.rst:47 @@ -145409,9 +146553,3 @@ msgid "" "`Godot Shaders: A community-driven shader library `_" msgstr "" - -#: ../../docs/community/tutorials.rst:65 -msgid "" -"`Zeef Godot Engine: A curated directory of resources by Andre Schmitz " -"`_" -msgstr ""