From 3b12bc2d8956b3098859bc923f96803537ffc51c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Verschelde?= Date: Tue, 27 Feb 2024 19:12:50 +0100 Subject: [PATCH] Sync Sphinx and Weblate templates --- .../about/complying_with_licenses.pot | 2 +- sphinx/templates/about/docs_changelog.pot | 1121 +- sphinx/templates/about/faq.pot | 4 +- sphinx/templates/about/introduction.pot | 4 +- sphinx/templates/about/list_of_features.pot | 862 +- sphinx/templates/about/release_policy.pot | 93 +- .../templates/about/system_requirements.pot | 495 + .../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 | 80 +- sphinx/templates/community/tutorials.pot | 144 +- ...best_practices_for_engine_contributors.pot | 2 +- .../development/code_style_guidelines.pot | 2 +- .../compiling/compiling_for_android.pot | 2 +- .../compiling/compiling_for_ios.pot | 38 +- .../compiling/compiling_for_linuxbsd.pot | 2 +- .../compiling/compiling_for_macos.pot | 6 +- .../compiling/compiling_for_web.pot | 6 +- .../compiling/compiling_for_windows.pot | 2 +- .../compiling/compiling_with_dotnet.pot | 64 +- .../compiling_with_script_encryption_key.pot | 2 +- .../cross-compiling_for_ios_on_linux.pot | 2 +- .../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 | 748 +- .../core_and_modules/object_class.pot | 118 +- .../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 +- .../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 | 2 +- .../documentation/docs_writing_guidelines.pot | 2 +- .../editor_and_docs_localization.pot | 2 +- .../contributing/documentation/index.pot | 2 +- .../updating_the_class_reference.pot | 2 +- .../contributing/ways_to_contribute.pot | 2 +- .../workflow/bisecting_regressions.pot | 2 +- .../workflow/bug_triage_guidelines.pot | 2 +- .../templates/contributing/workflow/index.pot | 2 +- .../workflow/pr_review_guidelines.pot | 2 +- .../contributing/workflow/pr_workflow.pot | 36 +- .../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 | 4 +- .../first_2d_game/05.the_main_game_scene.pot | 4 +- .../first_2d_game/06.heads_up_display.pot | 4 +- .../first_2d_game/07.finishing-up.pot | 18 +- .../getting_started/first_2d_game/index.pot | 6 +- .../first_3d_game/01.game_setup.pot | 2 +- .../first_3d_game/02.player_input.pot | 2 +- .../first_3d_game/03.player_movement_code.pot | 142 +- .../first_3d_game/04.mob_scene.pot | 2 +- .../first_3d_game/05.spawning_mobs.pot | 4 +- .../first_3d_game/06.jump_and_squash.pot | 2 +- .../first_3d_game/07.killing_player.pot | 2 +- .../first_3d_game/08.score_and_replay.pot | 2 +- .../first_3d_game/09.adding_animations.pot | 2 +- .../first_3d_game/going_further.pot | 2 +- .../getting_started/first_3d_game/index.pot | 2 +- .../introduction/first_look_at_the_editor.pot | 2 +- .../introduction/godot_design_philosophy.pot | 2 +- .../getting_started/introduction/index.pot | 2 +- .../introduction/introduction_to_godot.pot | 2 +- .../introduction/key_concepts_overview.pot | 2 +- .../introduction/learning_new_features.pot | 2 +- .../getting_started/step_by_step/index.pot | 2 +- .../step_by_step/instancing.pot | 6 +- .../step_by_step/nodes_and_scenes.pot | 2 +- .../step_by_step/scripting_first_script.pot | 80 +- .../step_by_step/scripting_languages.pot | 2 +- .../step_by_step/scripting_player_input.pot | 2 +- .../getting_started/step_by_step/signals.pot | 2 +- sphinx/templates/index.pot | 12 +- 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 +- .../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 | 470 +- sphinx/templates/tutorials/2d/index.pot | 2 +- .../tutorials/2d/particle_systems_2d.pot | 2 +- .../templates/tutorials/2d/using_tilemaps.pot | 2 +- .../templates/tutorials/2d/using_tilesets.pot | 2 +- .../tutorials/3d/3d_antialiasing.pot | 2 +- .../tutorials/3d/3d_rendering_limitations.pot | 2 +- sphinx/templates/tutorials/3d/3d_text.pot | 2 +- sphinx/templates/tutorials/3d/csg_tools.pot | 4 +- .../3d/environment_and_post_processing.pot | 282 +- .../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 | 76 +- .../3d/global_illumination/using_sdfgi.pot | 2 +- .../3d/global_illumination/using_voxel_gi.pot | 10 +- .../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 | 192 +- 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 | 2 +- .../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 | 2 +- .../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 | 6 +- .../3d/procedural_geometry/immediatemesh.pot | 2 +- .../3d/procedural_geometry/index.pot | 4 +- .../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 | 118 +- .../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 | 2 +- .../import_configuration.pot | 2 +- .../importing_3d_scenes/index.pot | 2 +- .../model_export_considerations.pot | 2 +- .../node_type_customization.pot | 40 +- .../importing_audio_samples.pot | 2 +- .../assets_pipeline/importing_images.pot | 620 +- .../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 | 2 +- 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 | 126 +- .../autoloads_versus_internal_nodes.pot | 2 +- .../best_practices/data_preferences.pot | 2 +- .../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 | 2 +- .../best_practices/node_alternatives.pot | 2 +- .../best_practices/project_organization.pot | 2 +- .../best_practices/scene_organization.pot | 2 +- .../best_practices/scenes_versus_scripts.pot | 2 +- .../version_control_systems.pot | 40 +- .../best_practices/what_are_godot_classes.pot | 2 +- .../editor/command_line_tutorial.pot | 80 +- .../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 | 2 +- .../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 | 26 +- .../tutorials/export/exporting_for_linux.pot | 2 +- .../tutorials/export/exporting_for_macos.pot | 306 +- .../tutorials/export/exporting_for_web.pot | 2 +- .../export/exporting_for_windows.pot | 2 +- .../tutorials/export/exporting_pcks.pot | 2 +- .../tutorials/export/exporting_projects.pot | 96 +- .../tutorials/export/feature_tags.pot | 2 +- 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 | 2 +- sphinx/templates/tutorials/i18n/locales.pot | 2 +- .../i18n/localization_using_gettext.pot | 4 +- .../tutorials/i18n/pseudolocalization.pot | 2 +- .../inputs/controllers_gamepads_joysticks.pot | 28 +- .../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 | 102 +- .../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 | 2 +- .../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 | 2 +- .../navigation_using_navigationlinks.pot | 10 +- .../navigation_using_navigationmaps.pot | 2 +- .../navigation_using_navigationmeshes.pot | 291 +- .../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 | 96 +- .../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 | 14 +- .../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 | 6 +- .../tutorials/platform/android/index.pot | 2 +- .../templates/tutorials/platform/consoles.pot | 10 +- 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 +- .../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 | 50 +- .../plugins/editor/visual_shader_plugins.pot | 2 +- sphinx/templates/tutorials/plugins/index.pot | 2 +- .../plugins/running_code_in_the_editor.pot | 2 +- .../templates/tutorials/rendering/index.pot | 2 +- .../tutorials/rendering/jitter_stutter.pot | 64 +- .../rendering/multiple_resolutions.pot | 124 +- .../tutorials/rendering/viewports.pot | 2 +- .../scripting/c_sharp/c_sharp_basics.pot | 106 +- .../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 | 6 +- .../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/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 | 8 +- .../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 | 2 +- .../tutorials/scripting/gdextension/index.pot | 2 +- .../gdextension/what_is_gdextension.pot | 18 +- .../scripting/gdscript/gdscript_advanced.pot | 2 +- .../scripting/gdscript/gdscript_basics.pot | 464 +- .../gdscript_documentation_comments.pot | 92 +- .../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 | 52 +- .../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 | 2 +- .../shaders/advanced_postprocessing.pot | 2 +- .../tutorials/shaders/compute_shaders.pot | 2 +- .../converting_glsl_to_godot_shaders.pot | 276 +- .../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 | 184 +- .../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 | 6 +- .../shaders/shader_reference/sky_shader.pot | 2 +- .../shader_reference/spatial_shader.pot | 328 +- .../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 | 14 +- .../your_first_3d_shader.pot | 2 +- .../your_second_3d_shader.pot | 2 +- .../templates/tutorials/troubleshooting.pot | 2 +- .../tutorials/ui/bbcode_in_richtextlabel.pot | 4 +- .../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/basic_xr_locomotion.pot | 2 +- .../tutorials/xr/deploying_to_android.pot | 56 +- sphinx/templates/tutorials/xr/index.pot | 2 +- .../tutorials/xr/introducing_xr_tools.pot | 2 +- .../tutorials/xr/openxr_hand_tracking.pot | 2 +- .../tutorials/xr/openxr_passthrough.pot | 2 +- .../templates/tutorials/xr/setting_up_xr.pot | 42 +- .../templates/tutorials/xr/xr_action_map.pot | 2 +- .../templates/tutorials/xr/xr_room_scale.pot | 2 +- weblate/docs.pot | 21157 ++++++++++------ 461 files changed, 18584 insertions(+), 12409 deletions(-) create mode 100644 sphinx/templates/about/system_requirements.pot diff --git a/sphinx/templates/about/complying_with_licenses.pot b/sphinx/templates/about/complying_with_licenses.pot index 473708909b..b7df81ce35 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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 957c2004d5..9c44e59e81 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -29,771 +29,806 @@ msgid "This document only contains new pages so not all changes are reflected, m msgstr "" #: ../../docs/about/docs_changelog.rst:15 -msgid "New pages since version 4.0" +msgid "New pages since version 4.1" msgstr "" #: ../../docs/about/docs_changelog.rst:18 -#: ../../docs/about/docs_changelog.rst:67 -#: ../../docs/about/docs_changelog.rst:170 -msgid "Development" +msgid "C#" msgstr "" #: ../../docs/about/docs_changelog.rst:20 -msgid ":ref:`doc_internal_rendering_architecture`" +msgid ":ref:`doc_c_sharp_diagnostics`" msgstr "" -#: ../../docs/about/docs_changelog.rst:21 -msgid ":ref:`doc_using_sanitizers`" +#: ../../docs/about/docs_changelog.rst:23 +#: ../../docs/about/docs_changelog.rst:46 +#: ../../docs/about/docs_changelog.rst:95 +#: ../../docs/about/docs_changelog.rst:198 +msgid "Development" msgstr "" -#: ../../docs/about/docs_changelog.rst:24 -#: ../../docs/about/docs_changelog.rst:72 +#: ../../docs/about/docs_changelog.rst:25 +msgid ":ref:`doc_2d_coordinate_systems`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:28 +#: ../../docs/about/docs_changelog.rst:52 +#: ../../docs/about/docs_changelog.rst:100 msgid "Migrating" msgstr "" -#: ../../docs/about/docs_changelog.rst:26 -msgid ":ref:`doc_upgrading_to_godot_4.1`" +#: ../../docs/about/docs_changelog.rst:30 +msgid ":ref:`doc_upgrading_to_godot_4.2`" msgstr "" -#: ../../docs/about/docs_changelog.rst:29 -#: ../../docs/about/docs_changelog.rst:77 -#: ../../docs/about/docs_changelog.rst:208 -#: ../../docs/about/docs_changelog.rst:359 -msgid "Physics" +#: ../../docs/about/docs_changelog.rst:33 +msgid "I/O" msgstr "" -#: ../../docs/about/docs_changelog.rst:31 -msgid ":ref:`doc_troubleshooting_physics_issues`" +#: ../../docs/about/docs_changelog.rst:35 +msgid ":ref:`doc_runtime_loading_and_saving`" msgstr "" -#: ../../docs/about/docs_changelog.rst:34 -msgid "New pages since version 3.6" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:37 -#: ../../docs/about/docs_changelog.rst:241 -#: ../../docs/about/docs_changelog.rst:346 -msgid "2D" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:39 -msgid ":ref:`doc_2d_antialiasing`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:42 -#: ../../docs/about/docs_changelog.rst:115 -#: ../../docs/about/docs_changelog.rst:146 -#: ../../docs/about/docs_changelog.rst:352 -msgid "3D" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:44 -msgid ":ref:`doc_3d_antialiasing`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:45 -msgid ":ref:`doc_faking_global_illumination`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:46 -msgid ":ref:`doc_introduction_to_global_illumination`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:47 -msgid ":ref:`doc_mesh_lod`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:48 -msgid ":ref:`doc_occlusion_culling`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:49 -msgid ":ref:`doc_using_sdfgi`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:50 -msgid ":ref:`doc_using_decals`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:51 -msgid ":ref:`doc_visibility_ranges`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:52 -msgid ":ref:`doc_volumetric_fog`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:53 -msgid ":ref:`doc_variable_rate_shading`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:54 -msgid ":ref:`doc_physical_light_and_camera_units`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:57 -#: ../../docs/about/docs_changelog.rst:120 -#: ../../docs/about/docs_changelog.rst:365 -msgid "Animation" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:59 -msgid ":ref:`doc_creating_movies`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:62 -msgid "Assets pipeline" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:64 -msgid ":ref:`doc_retargeting_3d_skeletons`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:69 -msgid ":ref:`doc_custom_platform_ports`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:74 -msgid ":ref:`doc_upgrading_to_godot_4`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:79 -msgid ":ref:`doc_large_world_coordinates`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:82 -#: ../../docs/about/docs_changelog.rst:219 -#: ../../docs/about/docs_changelog.rst:325 -msgid "Scripting" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:84 -msgid ":ref:`doc_custom_performance_monitors`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:85 -msgid ":ref:`doc_c_sharp_collections`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:86 -msgid ":ref:`doc_c_sharp_global_classes`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:87 -msgid ":ref:`doc_c_sharp_variant`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:90 -#: ../../docs/about/docs_changelog.rst:214 -msgid "Shaders" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:92 -msgid ":ref:`doc_compute_shaders`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:95 -msgid "Workflow" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:97 -msgid ":ref:`doc_pr_review_guidelines`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:100 -msgid "XR" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:102 -msgid ":ref:`doc_introducing_xr_tools`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:103 -msgid ":ref:`doc_xr_action_map`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:104 -msgid ":ref:`doc_deploying_to_android`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:107 -msgid "New pages since version 3.5" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:109 -msgid "None." -msgstr "" - -#: ../../docs/about/docs_changelog.rst:112 -msgid "New pages since version 3.4" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:117 -msgid ":ref:`doc_3d_text`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:122 -msgid ":ref:`doc_playing_videos`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:125 -#: ../../docs/about/docs_changelog.rst:180 -msgid "Editor" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:127 -msgid ":ref:`doc_managing_editor_features`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:130 -msgid "New pages since version 3.3" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:133 -msgid "C++" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:135 -msgid ":ref:`doc_cpp_usage_guidelines`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:138 -msgid "GDScript" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:140 -msgid ":ref:`doc_gdscript_documentation_comments`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:143 -msgid "New pages since version 3.2" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:148 -msgid ":ref:`doc_3d_rendering_limitations`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:151 -msgid "About" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:153 -msgid ":ref:`doc_troubleshooting`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:154 -msgid ":ref:`doc_list_of_features`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:155 -msgid ":ref:`doc_release_policy`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:158 -msgid "Best practices" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:160 -msgid ":ref:`doc_version_control_systems`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:163 -msgid "Community" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:165 -msgid ":ref:`doc_best_practices_for_engine_contributors`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:166 -msgid ":ref:`doc_bisecting_regressions`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:167 -msgid ":ref:`doc_editor_and_docs_localization`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:172 -msgid ":ref:`doc_introduction_to_editor_development`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:173 -msgid ":ref:`doc_editor_style_guide`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:174 -msgid ":ref:`doc_common_engine_methods_and_macros`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:175 -msgid ":ref:`doc_vulkan_validation_layers`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:176 -msgid ":ref:`doc_gdscript_grammar`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:177 -msgid "Configuring an IDE: :ref:`doc_configuring_an_ide_code_blocks`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:182 -msgid ":ref:`doc_default_key_mapping`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:183 -msgid ":ref:`doc_using_the_web_editor`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:186 -msgid "Export" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:188 -msgid ":ref:`doc_exporting_for_dedicated_servers`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:191 -msgid "Input" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:193 -msgid ":ref:`doc_controllers_gamepads_joysticks`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:196 -#: ../../docs/about/docs_changelog.rst:252 -msgid "Math" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:198 -msgid ":ref:`doc_random_number_generation`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:201 -#: ../../docs/about/docs_changelog.rst:402 +#: ../../docs/about/docs_changelog.rst:38 +#: ../../docs/about/docs_changelog.rst:229 +#: ../../docs/about/docs_changelog.rst:430 msgid "Platform-specific" msgstr "" +#: ../../docs/about/docs_changelog.rst:40 +msgid ":ref:`doc_android_library`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:43 +msgid "New pages since version 4.0" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:48 +msgid ":ref:`doc_internal_rendering_architecture`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:49 +msgid ":ref:`doc_using_sanitizers`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:54 +msgid ":ref:`doc_upgrading_to_godot_4.1`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:57 +#: ../../docs/about/docs_changelog.rst:105 +#: ../../docs/about/docs_changelog.rst:236 +#: ../../docs/about/docs_changelog.rst:387 +msgid "Physics" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:59 +msgid ":ref:`doc_troubleshooting_physics_issues`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:62 +msgid "New pages since version 3.6" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:65 +#: ../../docs/about/docs_changelog.rst:269 +#: ../../docs/about/docs_changelog.rst:374 +msgid "2D" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:67 +msgid ":ref:`doc_2d_antialiasing`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:70 +#: ../../docs/about/docs_changelog.rst:143 +#: ../../docs/about/docs_changelog.rst:174 +#: ../../docs/about/docs_changelog.rst:380 +msgid "3D" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:72 +msgid ":ref:`doc_3d_antialiasing`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:73 +msgid ":ref:`doc_faking_global_illumination`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:74 +msgid ":ref:`doc_introduction_to_global_illumination`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:75 +msgid ":ref:`doc_mesh_lod`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:76 +msgid ":ref:`doc_occlusion_culling`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:77 +msgid ":ref:`doc_using_sdfgi`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:78 +msgid ":ref:`doc_using_decals`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:79 +msgid ":ref:`doc_visibility_ranges`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:80 +msgid ":ref:`doc_volumetric_fog`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:81 +msgid ":ref:`doc_variable_rate_shading`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:82 +msgid ":ref:`doc_physical_light_and_camera_units`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:85 +#: ../../docs/about/docs_changelog.rst:148 +#: ../../docs/about/docs_changelog.rst:393 +msgid "Animation" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:87 +msgid ":ref:`doc_creating_movies`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:90 +msgid "Assets pipeline" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:92 +msgid ":ref:`doc_retargeting_3d_skeletons`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:97 +msgid ":ref:`doc_custom_platform_ports`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:102 +msgid ":ref:`doc_upgrading_to_godot_4`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:107 +msgid ":ref:`doc_large_world_coordinates`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:110 +#: ../../docs/about/docs_changelog.rst:247 +#: ../../docs/about/docs_changelog.rst:353 +msgid "Scripting" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:112 +msgid ":ref:`doc_custom_performance_monitors`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:113 +msgid ":ref:`doc_c_sharp_collections`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:114 +msgid ":ref:`doc_c_sharp_global_classes`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:115 +msgid ":ref:`doc_c_sharp_variant`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:118 +#: ../../docs/about/docs_changelog.rst:242 +msgid "Shaders" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:120 +msgid ":ref:`doc_compute_shaders`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:123 +msgid "Workflow" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:125 +msgid ":ref:`doc_pr_review_guidelines`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:128 +msgid "XR" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:130 +msgid ":ref:`doc_introducing_xr_tools`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:131 +msgid ":ref:`doc_xr_action_map`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:132 +msgid ":ref:`doc_deploying_to_android`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:135 +msgid "New pages since version 3.5" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:137 +msgid "None." +msgstr "" + +#: ../../docs/about/docs_changelog.rst:140 +msgid "New pages since version 3.4" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:145 +msgid ":ref:`doc_3d_text`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:150 +msgid ":ref:`doc_playing_videos`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:153 +#: ../../docs/about/docs_changelog.rst:208 +msgid "Editor" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:155 +msgid ":ref:`doc_managing_editor_features`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:158 +msgid "New pages since version 3.3" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:161 +msgid "C++" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:163 +msgid ":ref:`doc_cpp_usage_guidelines`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:166 +msgid "GDScript" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:168 +msgid ":ref:`doc_gdscript_documentation_comments`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:171 +msgid "New pages since version 3.2" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:176 +msgid ":ref:`doc_3d_rendering_limitations`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:179 +msgid "About" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:181 +msgid ":ref:`doc_troubleshooting`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:182 +msgid ":ref:`doc_list_of_features`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:183 +msgid ":ref:`doc_release_policy`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:186 +msgid "Best practices" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:188 +msgid ":ref:`doc_version_control_systems`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:191 +msgid "Community" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:193 +msgid ":ref:`doc_best_practices_for_engine_contributors`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:194 +msgid ":ref:`doc_bisecting_regressions`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:195 +msgid ":ref:`doc_editor_and_docs_localization`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:200 +msgid ":ref:`doc_introduction_to_editor_development`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:201 +msgid ":ref:`doc_editor_style_guide`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:202 +msgid ":ref:`doc_common_engine_methods_and_macros`" +msgstr "" + #: ../../docs/about/docs_changelog.rst:203 -msgid ":ref:`doc_plugins_for_ios`" +msgid ":ref:`doc_vulkan_validation_layers`" msgstr "" #: ../../docs/about/docs_changelog.rst:204 -msgid ":ref:`doc_ios_plugin`" +msgid ":ref:`doc_gdscript_grammar`" msgstr "" #: ../../docs/about/docs_changelog.rst:205 -msgid ":ref:`doc_html5_shell_classref`" +msgid "Configuring an IDE: :ref:`doc_configuring_an_ide_code_blocks`" msgstr "" #: ../../docs/about/docs_changelog.rst:210 -msgid ":ref:`doc_collision_shapes_2d`" +msgid ":ref:`doc_default_key_mapping`" msgstr "" #: ../../docs/about/docs_changelog.rst:211 -msgid ":ref:`doc_collision_shapes_3d`" +msgid ":ref:`doc_using_the_web_editor`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:214 +msgid "Export" msgstr "" #: ../../docs/about/docs_changelog.rst:216 -msgid ":ref:`doc_shaders_style_guide`" +msgid ":ref:`doc_exporting_for_dedicated_servers`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:219 +msgid "Input" msgstr "" #: ../../docs/about/docs_changelog.rst:221 -msgid ":ref:`doc_debugger_panel`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:222 -msgid ":ref:`doc_creating_script_templates`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:223 -msgid ":ref:`doc_evaluating_expressions`" +msgid ":ref:`doc_controllers_gamepads_joysticks`" msgstr "" #: ../../docs/about/docs_changelog.rst:224 -msgid ":ref:`doc_what_is_gdextension`" +#: ../../docs/about/docs_changelog.rst:280 +msgid "Math" msgstr "" -#: ../../docs/about/docs_changelog.rst:225 -msgid ":ref:`doc_gdscript_warning_system` (split from :ref:`doc_gdscript_static_typing`)" +#: ../../docs/about/docs_changelog.rst:226 +msgid ":ref:`doc_random_number_generation`" msgstr "" -#: ../../docs/about/docs_changelog.rst:228 -msgid "User Interface (UI)" +#: ../../docs/about/docs_changelog.rst:231 +msgid ":ref:`doc_plugins_for_ios`" msgstr "" -#: ../../docs/about/docs_changelog.rst:230 -msgid ":ref:`doc_control_node_gallery`" +#: ../../docs/about/docs_changelog.rst:232 +msgid ":ref:`doc_ios_plugin`" msgstr "" #: ../../docs/about/docs_changelog.rst:233 -msgid "New pages since version 3.1" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:236 -#: ../../docs/about/docs_changelog.rst:330 -msgid "Project workflow" +msgid ":ref:`doc_html5_shell_classref`" msgstr "" #: ../../docs/about/docs_changelog.rst:238 -msgid ":ref:`doc_android_gradle_build`" +msgid ":ref:`doc_collision_shapes_2d`" msgstr "" -#: ../../docs/about/docs_changelog.rst:243 -msgid ":ref:`doc_2d_sprite_animation`" +#: ../../docs/about/docs_changelog.rst:239 +msgid ":ref:`doc_collision_shapes_3d`" msgstr "" -#: ../../docs/about/docs_changelog.rst:246 -msgid "Audio" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:248 -msgid ":ref:`doc_recording_with_microphone`" +#: ../../docs/about/docs_changelog.rst:244 +msgid ":ref:`doc_shaders_style_guide`" msgstr "" #: ../../docs/about/docs_changelog.rst:249 -msgid ":ref:`doc_sync_with_audio`" +msgid ":ref:`doc_debugger_panel`" msgstr "" -#: ../../docs/about/docs_changelog.rst:254 -msgid ":ref:`doc_beziers_and_curves`" +#: ../../docs/about/docs_changelog.rst:250 +msgid ":ref:`doc_creating_script_templates`" msgstr "" -#: ../../docs/about/docs_changelog.rst:255 -msgid ":ref:`doc_interpolation`" +#: ../../docs/about/docs_changelog.rst:251 +msgid ":ref:`doc_evaluating_expressions`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:252 +msgid ":ref:`doc_what_is_gdextension`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:253 +msgid ":ref:`doc_gdscript_warning_system` (split from :ref:`doc_gdscript_static_typing`)" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:256 +msgid "User Interface (UI)" msgstr "" #: ../../docs/about/docs_changelog.rst:258 -msgid "Inputs" +msgid ":ref:`doc_control_node_gallery`" msgstr "" -#: ../../docs/about/docs_changelog.rst:260 -msgid ":ref:`doc_input_examples`" +#: ../../docs/about/docs_changelog.rst:261 +msgid "New pages since version 3.1" msgstr "" -#: ../../docs/about/docs_changelog.rst:263 -msgid "Internationalization" +#: ../../docs/about/docs_changelog.rst:264 +#: ../../docs/about/docs_changelog.rst:358 +msgid "Project workflow" msgstr "" -#: ../../docs/about/docs_changelog.rst:265 -msgid ":ref:`doc_localization_using_gettext`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:268 -#: ../../docs/about/docs_changelog.rst:382 -msgid "Shading" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:273 -msgid "Your First Shader Series:" +#: ../../docs/about/docs_changelog.rst:266 +msgid ":ref:`doc_android_gradle_build`" msgstr "" #: ../../docs/about/docs_changelog.rst:271 -#: ../../docs/about/docs_changelog.rst:389 -msgid ":ref:`doc_introduction_to_shaders`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:272 -msgid ":ref:`doc_your_first_canvasitem_shader`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:273 -msgid ":ref:`doc_your_first_spatial_shader`" +msgid ":ref:`doc_2d_sprite_animation`" msgstr "" #: ../../docs/about/docs_changelog.rst:274 -msgid ":ref:`doc_your_second_spatial_shader`" +msgid "Audio" msgstr "" -#: ../../docs/about/docs_changelog.rst:275 -msgid ":ref:`doc_visual_shaders`" +#: ../../docs/about/docs_changelog.rst:276 +msgid ":ref:`doc_recording_with_microphone`" msgstr "" -#: ../../docs/about/docs_changelog.rst:278 -msgid "Networking" +#: ../../docs/about/docs_changelog.rst:277 +msgid ":ref:`doc_sync_with_audio`" msgstr "" -#: ../../docs/about/docs_changelog.rst:280 -msgid ":ref:`doc_webrtc`" +#: ../../docs/about/docs_changelog.rst:282 +msgid ":ref:`doc_beziers_and_curves`" msgstr "" #: ../../docs/about/docs_changelog.rst:283 -#: ../../docs/about/docs_changelog.rst:396 -msgid "Plugins" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:285 -msgid ":ref:`doc_android_plugin`" +msgid ":ref:`doc_interpolation`" msgstr "" #: ../../docs/about/docs_changelog.rst:286 -msgid ":ref:`doc_inspector_plugins`" +msgid "Inputs" msgstr "" -#: ../../docs/about/docs_changelog.rst:287 -msgid ":ref:`doc_visual_shader_plugins`" +#: ../../docs/about/docs_changelog.rst:288 +msgid ":ref:`doc_input_examples`" msgstr "" -#: ../../docs/about/docs_changelog.rst:290 -#: ../../docs/about/docs_changelog.rst:407 -msgid "Multi-threading" +#: ../../docs/about/docs_changelog.rst:291 +msgid "Internationalization" msgstr "" -#: ../../docs/about/docs_changelog.rst:292 -msgid ":ref:`doc_using_multiple_threads`" +#: ../../docs/about/docs_changelog.rst:293 +msgid ":ref:`doc_localization_using_gettext`" msgstr "" -#: ../../docs/about/docs_changelog.rst:295 -#: ../../docs/about/docs_changelog.rst:412 -msgid "Creating content" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:302 -msgid "Procedural geometry series:" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:298 -msgid ":ref:`Procedural geometry `" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:299 -msgid ":ref:`doc_arraymesh`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:300 -msgid ":ref:`doc_surfacetool`" +#: ../../docs/about/docs_changelog.rst:296 +#: ../../docs/about/docs_changelog.rst:410 +msgid "Shading" msgstr "" #: ../../docs/about/docs_changelog.rst:301 -msgid ":ref:`doc_meshdatatool`" +msgid "Your First Shader Series:" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:299 +#: ../../docs/about/docs_changelog.rst:417 +msgid ":ref:`doc_introduction_to_shaders`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:300 +msgid ":ref:`doc_your_first_canvasitem_shader`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:301 +msgid ":ref:`doc_your_first_spatial_shader`" msgstr "" #: ../../docs/about/docs_changelog.rst:302 -msgid ":ref:`doc_immediatemesh`" +msgid ":ref:`doc_your_second_spatial_shader`" msgstr "" -#: ../../docs/about/docs_changelog.rst:305 -msgid "Optimization" +#: ../../docs/about/docs_changelog.rst:303 +msgid ":ref:`doc_visual_shaders`" msgstr "" -#: ../../docs/about/docs_changelog.rst:307 -msgid ":ref:`doc_using_multimesh`" +#: ../../docs/about/docs_changelog.rst:306 +msgid "Networking" msgstr "" #: ../../docs/about/docs_changelog.rst:308 -msgid ":ref:`doc_using_servers`" +msgid ":ref:`doc_webrtc`" msgstr "" #: ../../docs/about/docs_changelog.rst:311 -msgid "Legal" +#: ../../docs/about/docs_changelog.rst:424 +msgid "Plugins" msgstr "" #: ../../docs/about/docs_changelog.rst:313 -msgid ":ref:`doc_complying_with_licenses`" +msgid ":ref:`doc_android_plugin`" msgstr "" -#: ../../docs/about/docs_changelog.rst:316 -msgid "New pages since version 3.0" +#: ../../docs/about/docs_changelog.rst:314 +msgid ":ref:`doc_inspector_plugins`" msgstr "" -#: ../../docs/about/docs_changelog.rst:319 -msgid "Step by step" +#: ../../docs/about/docs_changelog.rst:315 +msgid ":ref:`doc_visual_shader_plugins`" msgstr "" -#: ../../docs/about/docs_changelog.rst:321 -msgid ":ref:`doc_signals`" +#: ../../docs/about/docs_changelog.rst:318 +#: ../../docs/about/docs_changelog.rst:435 +msgid "Multi-threading" msgstr "" -#: ../../docs/about/docs_changelog.rst:322 -msgid "Exporting" +#: ../../docs/about/docs_changelog.rst:320 +msgid ":ref:`doc_using_multiple_threads`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:323 +#: ../../docs/about/docs_changelog.rst:440 +msgid "Creating content" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:330 +msgid "Procedural geometry series:" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:326 +msgid ":ref:`Procedural geometry `" msgstr "" #: ../../docs/about/docs_changelog.rst:327 -msgid ":ref:`doc_gdscript_static_typing`" +msgid ":ref:`doc_arraymesh`" msgstr "" -#: ../../docs/about/docs_changelog.rst:332 -msgid "Best Practices:" +#: ../../docs/about/docs_changelog.rst:328 +msgid ":ref:`doc_surfacetool`" msgstr "" -#: ../../docs/about/docs_changelog.rst:334 -msgid ":ref:`doc_introduction_best_practices`" +#: ../../docs/about/docs_changelog.rst:329 +msgid ":ref:`doc_meshdatatool`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:330 +msgid ":ref:`doc_immediatemesh`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:333 +msgid "Optimization" msgstr "" #: ../../docs/about/docs_changelog.rst:335 -msgid ":ref:`doc_what_are_godot_classes`" +msgid ":ref:`doc_using_multimesh`" msgstr "" #: ../../docs/about/docs_changelog.rst:336 -msgid ":ref:`doc_scene_organization`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:337 -msgid ":ref:`doc_scenes_versus_scripts`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:338 -msgid ":ref:`doc_autoloads_versus_internal_nodes`" +msgid ":ref:`doc_using_servers`" msgstr "" #: ../../docs/about/docs_changelog.rst:339 -msgid ":ref:`doc_node_alternatives`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:340 -msgid ":ref:`doc_godot_interfaces`" +msgid "Legal" msgstr "" #: ../../docs/about/docs_changelog.rst:341 -msgid ":ref:`doc_godot_notifications`" +msgid ":ref:`doc_complying_with_licenses`" msgstr "" -#: ../../docs/about/docs_changelog.rst:342 -msgid ":ref:`doc_data_preferences`" +#: ../../docs/about/docs_changelog.rst:344 +msgid "New pages since version 3.0" msgstr "" -#: ../../docs/about/docs_changelog.rst:343 -msgid ":ref:`doc_logic_preferences`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:348 -msgid ":ref:`doc_2d_lights_and_shadows`" +#: ../../docs/about/docs_changelog.rst:347 +msgid "Step by step" msgstr "" #: ../../docs/about/docs_changelog.rst:349 -msgid ":ref:`doc_2d_meshes`" +msgid ":ref:`doc_signals`" msgstr "" -#: ../../docs/about/docs_changelog.rst:354 -msgid ":ref:`doc_csg_tools`" +#: ../../docs/about/docs_changelog.rst:350 +msgid "Exporting" msgstr "" #: ../../docs/about/docs_changelog.rst:355 -msgid ":ref:`doc_animating_thousands_of_fish`" +msgid ":ref:`doc_gdscript_static_typing`" msgstr "" -#: ../../docs/about/docs_changelog.rst:356 -msgid ":ref:`doc_controlling_thousands_of_fish`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:361 -msgid ":ref:`doc_ragdoll_system`" +#: ../../docs/about/docs_changelog.rst:360 +msgid "Best Practices:" msgstr "" #: ../../docs/about/docs_changelog.rst:362 -msgid ":ref:`doc_soft_body`" +msgid ":ref:`doc_introduction_best_practices`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:363 +msgid ":ref:`doc_what_are_godot_classes`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:364 +msgid ":ref:`doc_scene_organization`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:365 +msgid ":ref:`doc_scenes_versus_scripts`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:366 +msgid ":ref:`doc_autoloads_versus_internal_nodes`" msgstr "" #: ../../docs/about/docs_changelog.rst:367 -msgid ":ref:`doc_2d_skeletons`" +msgid ":ref:`doc_node_alternatives`" msgstr "" #: ../../docs/about/docs_changelog.rst:368 -msgid ":ref:`doc_animation_tree`" +msgid ":ref:`doc_godot_interfaces`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:369 +msgid ":ref:`doc_godot_notifications`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:370 +msgid ":ref:`doc_data_preferences`" msgstr "" #: ../../docs/about/docs_changelog.rst:371 -msgid "GUI" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:373 -msgid ":ref:`doc_gui_containers`" +msgid ":ref:`doc_logic_preferences`" msgstr "" #: ../../docs/about/docs_changelog.rst:376 -msgid "Viewports" +msgid ":ref:`doc_2d_lights_and_shadows`" msgstr "" -#: ../../docs/about/docs_changelog.rst:378 -msgid ":ref:`doc_viewport_as_texture`" +#: ../../docs/about/docs_changelog.rst:377 +msgid ":ref:`doc_2d_meshes`" msgstr "" -#: ../../docs/about/docs_changelog.rst:379 -msgid ":ref:`doc_custom_postprocessing`" +#: ../../docs/about/docs_changelog.rst:382 +msgid ":ref:`doc_csg_tools`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:383 +msgid ":ref:`doc_animating_thousands_of_fish`" msgstr "" #: ../../docs/about/docs_changelog.rst:384 -msgid ":ref:`doc_converting_glsl_to_godot_shaders`" +msgid ":ref:`doc_controlling_thousands_of_fish`" msgstr "" -#: ../../docs/about/docs_changelog.rst:385 -msgid ":ref:`doc_advanced_postprocessing`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:387 -msgid "Shading Reference:" +#: ../../docs/about/docs_changelog.rst:389 +msgid ":ref:`doc_ragdoll_system`" msgstr "" #: ../../docs/about/docs_changelog.rst:390 -msgid ":ref:`doc_shading_language`" +msgid ":ref:`doc_soft_body`" msgstr "" -#: ../../docs/about/docs_changelog.rst:391 -msgid ":ref:`doc_spatial_shader`" +#: ../../docs/about/docs_changelog.rst:395 +msgid ":ref:`doc_2d_skeletons`" msgstr "" -#: ../../docs/about/docs_changelog.rst:392 -msgid ":ref:`doc_canvas_item_shader`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:393 -msgid ":ref:`doc_particle_shader`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:398 -msgid ":ref:`doc_making_main_screen_plugins`" +#: ../../docs/about/docs_changelog.rst:396 +msgid ":ref:`doc_animation_tree`" msgstr "" #: ../../docs/about/docs_changelog.rst:399 -msgid ":ref:`doc_3d_gizmo_plugins`" +msgid "GUI" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:401 +msgid ":ref:`doc_gui_containers`" msgstr "" #: ../../docs/about/docs_changelog.rst:404 -msgid ":ref:`doc_customizing_html5_shell`" +msgid "Viewports" msgstr "" -#: ../../docs/about/docs_changelog.rst:409 -msgid ":ref:`doc_thread_safe_apis`" +#: ../../docs/about/docs_changelog.rst:406 +msgid ":ref:`doc_viewport_as_texture`" msgstr "" -#: ../../docs/about/docs_changelog.rst:414 -msgid ":ref:`doc_making_trees`" +#: ../../docs/about/docs_changelog.rst:407 +msgid ":ref:`doc_custom_postprocessing`" msgstr "" -#: ../../docs/about/docs_changelog.rst:417 -msgid "Miscellaneous" +#: ../../docs/about/docs_changelog.rst:412 +msgid ":ref:`doc_converting_glsl_to_godot_shaders`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:413 +msgid ":ref:`doc_advanced_postprocessing`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:415 +msgid "Shading Reference:" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:418 +msgid ":ref:`doc_shading_language`" msgstr "" #: ../../docs/about/docs_changelog.rst:419 -msgid ":ref:`doc_jitter_stutter`" +msgid ":ref:`doc_spatial_shader`" msgstr "" #: ../../docs/about/docs_changelog.rst:420 -msgid ":ref:`doc_running_code_in_the_editor`" +msgid ":ref:`doc_canvas_item_shader`" msgstr "" #: ../../docs/about/docs_changelog.rst:421 -msgid ":ref:`doc_change_scenes_manually`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:424 -msgid "Compiling" +msgid ":ref:`doc_particle_shader`" msgstr "" #: ../../docs/about/docs_changelog.rst:426 -msgid ":ref:`doc_optimizing_for_size`" +msgid ":ref:`doc_making_main_screen_plugins`" msgstr "" #: ../../docs/about/docs_changelog.rst:427 -msgid ":ref:`doc_compiling_with_script_encryption_key`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:430 -msgid "Engine development" +msgid ":ref:`doc_3d_gizmo_plugins`" msgstr "" #: ../../docs/about/docs_changelog.rst:432 +msgid ":ref:`doc_customizing_html5_shell`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:437 +msgid ":ref:`doc_thread_safe_apis`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:442 +msgid ":ref:`doc_making_trees`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:445 +msgid "Miscellaneous" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:447 +msgid ":ref:`doc_jitter_stutter`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:448 +msgid ":ref:`doc_running_code_in_the_editor`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:449 +msgid ":ref:`doc_change_scenes_manually`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:452 +msgid "Compiling" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:454 +msgid ":ref:`doc_optimizing_for_size`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:455 +msgid ":ref:`doc_compiling_with_script_encryption_key`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:458 +msgid "Engine development" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:460 msgid ":ref:`doc_binding_to_external_libraries`" msgstr "" diff --git a/sphinx/templates/about/faq.pot b/sphinx/templates/about/faq.pot index b94ff5298f..a0c2d6b2b9 100644 --- a/sphinx/templates/about/faq.pot +++ b/sphinx/templates/about/faq.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -542,7 +542,7 @@ msgid "Godot's build process is not simple. Several files are generated by code msgstr "" #: ../../docs/about/faq.rst:519 -msgid "Godot build process makes heavy use of cross-compiling tools. Each platform has a specific detection process, and all these must be handled as specific cases with special code written for each." +msgid "Godot's build process makes heavy use of cross-compiling tools. Each platform has a specific detection process, and all these must be handled as specific cases with special code written for each." msgstr "" #: ../../docs/about/faq.rst:523 diff --git a/sphinx/templates/about/introduction.pot b/sphinx/templates/about/introduction.pot index 2e59a1a819..676cb0b114 100644 --- a/sphinx/templates/about/introduction.pot +++ b/sphinx/templates/about/introduction.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\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 "The :ref:`Tutorials and resources ` page lists v msgstr "" #: ../../docs/about/introduction.rst:28 -msgid "In case you have trouble with one of the tutorials or your project, you can find help on the various :ref:`Community channels `, especially the Godot `Discord`_ community and `Q&A `_." +msgid "In case you have trouble with one of the tutorials or your project, you can find help on the various :ref:`Community channels `, especially the Godot `Discord`_ community and `Forum `_." msgstr "" #: ../../docs/about/introduction.rst:34 diff --git a/sphinx/templates/about/list_of_features.pot b/sphinx/templates/about/list_of_features.pot index 76b61c830b..f02aedd4b4 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -32,1635 +32,1635 @@ msgstr "" msgid "Platforms" msgstr "" -#: ../../docs/about/list_of_features.rst:17 -msgid "**Can run both the editor and exported projects:**" -msgstr "" - #: ../../docs/about/list_of_features.rst:19 -msgid "Windows 7 and later (64-bit and 32-bit)." -msgstr "" - -#: ../../docs/about/list_of_features.rst:20 -msgid "macOS 10.12 and later (64-bit, x86 and ARM)." +msgid "See :ref:`doc_system_requirements` for hardware and software version requirements." msgstr "" #: ../../docs/about/list_of_features.rst:21 -msgid "Linux (64-bit, x86 and ARM)." +msgid "**Can run both the editor and exported projects:**" msgstr "" #: ../../docs/about/list_of_features.rst:23 -msgid "Binaries are statically linked and can run on any distribution if compiled on an old enough base distribution." +msgid "Windows (x86, 64-bit and 32-bit)." +msgstr "" + +#: ../../docs/about/list_of_features.rst:24 +msgid "macOS (x86 and ARM, 64-bit only)." msgstr "" #: ../../docs/about/list_of_features.rst:25 -msgid "Official binaries are compiled on Ubuntu 14.04." +msgid "Linux (x86 and ARM, 64-bit and 32-bit)." msgstr "" -#: ../../docs/about/list_of_features.rst:26 -msgid "32-bit binaries can be compiled from source." -msgstr "" - -#: ../../docs/about/list_of_features.rst:28 -msgid "Android 6.0 and later (editor support is experimental)." +#: ../../docs/about/list_of_features.rst:27 +msgid "Binaries are statically linked and can run on any distribution if compiled on an old enough base distribution." msgstr "" #: ../../docs/about/list_of_features.rst:29 -msgid ":ref:`Web browsers `. Experimental in 4.0, using Godot 3.x is recommended instead when targeting HTML5." -msgstr "" - -#: ../../docs/about/list_of_features.rst:32 -msgid "**Runs exported projects:**" +msgid "Official binaries are compiled using the `Godot Engine buildroot `__, allowing for binaries that work across common Linux distributions (including LTS variants)." msgstr "" #: ../../docs/about/list_of_features.rst:34 -msgid "iOS 11.0 and later." +msgid "Android (editor support is experimental)." msgstr "" #: ../../docs/about/list_of_features.rst:35 +msgid ":ref:`Web browsers `. Experimental in 4.0, using Godot 3.x is recommended instead when targeting HTML5." +msgstr "" + +#: ../../docs/about/list_of_features.rst:38 +msgid "**Runs exported projects:**" +msgstr "" + +#: ../../docs/about/list_of_features.rst:40 +msgid "iOS." +msgstr "" + +#: ../../docs/about/list_of_features.rst:41 msgid ":ref:`Consoles `." msgstr "" -#: ../../docs/about/list_of_features.rst:37 +#: ../../docs/about/list_of_features.rst:43 msgid "Godot aims to be as platform-independent as possible and can be :ref:`ported to new platforms ` with relative ease." msgstr "" -#: ../../docs/about/list_of_features.rst:42 +#: ../../docs/about/list_of_features.rst:48 msgid "Projects written in C# using Godot 4 currently cannot be exported to the web platform. To use C# on that platform, consider Godot 3 instead. Android and iOS platform support is available as of Godot 4.2, but is experimental and :ref:`some limitations apply `." msgstr "" -#: ../../docs/about/list_of_features.rst:48 +#: ../../docs/about/list_of_features.rst:54 msgid "Editor" msgstr "" -#: ../../docs/about/list_of_features.rst:50 -#: ../../docs/about/list_of_features.rst:488 +#: ../../docs/about/list_of_features.rst:56 +#: ../../docs/about/list_of_features.rst:494 msgid "**Features:**" msgstr "" -#: ../../docs/about/list_of_features.rst:52 +#: ../../docs/about/list_of_features.rst:58 msgid "Scene tree editor." msgstr "" -#: ../../docs/about/list_of_features.rst:53 +#: ../../docs/about/list_of_features.rst:59 msgid "Built-in script editor." msgstr "" -#: ../../docs/about/list_of_features.rst:54 +#: ../../docs/about/list_of_features.rst:60 msgid "Support for :ref:`external script editors ` such as Visual Studio Code or Vim." msgstr "" -#: ../../docs/about/list_of_features.rst:56 +#: ../../docs/about/list_of_features.rst:62 msgid "GDScript :ref:`debugger `." msgstr "" -#: ../../docs/about/list_of_features.rst:58 -msgid "No support for debugging in threads yet." +#: ../../docs/about/list_of_features.rst:64 +msgid "Support for debugging in threads is available since 4.2." msgstr "" -#: ../../docs/about/list_of_features.rst:59 +#: ../../docs/about/list_of_features.rst:65 msgid "Visual profiler with CPU and GPU time indications for each step of the rendering pipeline." msgstr "" -#: ../../docs/about/list_of_features.rst:61 +#: ../../docs/about/list_of_features.rst:67 msgid "Performance monitoring tools, including :ref:`custom performance monitors `." msgstr "" -#: ../../docs/about/list_of_features.rst:63 +#: ../../docs/about/list_of_features.rst:69 msgid "Live script reloading." msgstr "" -#: ../../docs/about/list_of_features.rst:64 +#: ../../docs/about/list_of_features.rst:70 msgid "Live scene editing." msgstr "" -#: ../../docs/about/list_of_features.rst:66 +#: ../../docs/about/list_of_features.rst:72 msgid "Changes will reflect in the editor and will be kept after closing the running project." msgstr "" -#: ../../docs/about/list_of_features.rst:68 +#: ../../docs/about/list_of_features.rst:74 msgid "Remote inspector." msgstr "" -#: ../../docs/about/list_of_features.rst:70 +#: ../../docs/about/list_of_features.rst:76 msgid "Changes won't reflect in the editor and won't be kept after closing the running project." msgstr "" -#: ../../docs/about/list_of_features.rst:72 +#: ../../docs/about/list_of_features.rst:78 msgid "Live camera replication." msgstr "" -#: ../../docs/about/list_of_features.rst:74 +#: ../../docs/about/list_of_features.rst:80 msgid "Move the in-editor camera and see the result in the running project." msgstr "" -#: ../../docs/about/list_of_features.rst:76 +#: ../../docs/about/list_of_features.rst:82 msgid "Built-in offline class reference documentation." msgstr "" -#: ../../docs/about/list_of_features.rst:77 +#: ../../docs/about/list_of_features.rst:83 msgid "Use the editor in dozens of languages contributed by the community." msgstr "" -#: ../../docs/about/list_of_features.rst:79 +#: ../../docs/about/list_of_features.rst:85 msgid "**Plugins:**" msgstr "" -#: ../../docs/about/list_of_features.rst:81 +#: ../../docs/about/list_of_features.rst:87 msgid "Editor plugins can be downloaded from the :ref:`asset library ` to extend editor functionality." msgstr "" -#: ../../docs/about/list_of_features.rst:83 +#: ../../docs/about/list_of_features.rst:89 msgid ":ref:`Create your own plugins ` using GDScript to add new features or speed up your workflow." msgstr "" -#: ../../docs/about/list_of_features.rst:85 +#: ../../docs/about/list_of_features.rst:91 msgid ":ref:`Download projects from the asset library ` in the Project Manager and import them directly." msgstr "" -#: ../../docs/about/list_of_features.rst:89 +#: ../../docs/about/list_of_features.rst:95 msgid "Rendering" msgstr "" -#: ../../docs/about/list_of_features.rst:91 +#: ../../docs/about/list_of_features.rst:97 msgid "3 rendering *methods* (running over 2 rendering *drivers*) are available:" msgstr "" -#: ../../docs/about/list_of_features.rst:93 +#: ../../docs/about/list_of_features.rst:99 msgid "**Forward+**, running over Vulkan 1.0 (with optional Vulkan 1.1 and 1.2 features). The most advanced graphics backend, suited for desktop platforms only. Used by default on desktop platforms." msgstr "" -#: ../../docs/about/list_of_features.rst:96 +#: ../../docs/about/list_of_features.rst:102 msgid "**Forward Mobile**, running over Vulkan 1.0 (with optional Vulkan 1.1 and 1.2 features). Less features, but renders simple scenes faster. Suited for mobile and desktop platforms. Used by default on mobile platforms." msgstr "" -#: ../../docs/about/list_of_features.rst:99 +#: ../../docs/about/list_of_features.rst:105 msgid "**Compatibility**, running over OpenGL 3.3 / OpenGL ES 3.0 / WebGL 2.0. The least advanced graphics backend, suited for low-end desktop and mobile platforms. Used by default on the web platform." msgstr "" -#: ../../docs/about/list_of_features.rst:104 +#: ../../docs/about/list_of_features.rst:110 msgid "2D graphics" msgstr "" -#: ../../docs/about/list_of_features.rst:106 +#: ../../docs/about/list_of_features.rst:112 msgid "Sprite, polygon and line rendering." msgstr "" -#: ../../docs/about/list_of_features.rst:108 +#: ../../docs/about/list_of_features.rst:114 msgid "High-level tools to draw lines and polygons such as :ref:`class_Polygon2D` and :ref:`class_Line2D`, with support for texturing." msgstr "" -#: ../../docs/about/list_of_features.rst:111 +#: ../../docs/about/list_of_features.rst:117 msgid "AnimatedSprite2D as a helper for creating animated sprites." msgstr "" -#: ../../docs/about/list_of_features.rst:112 +#: ../../docs/about/list_of_features.rst:118 msgid "Parallax layers." msgstr "" -#: ../../docs/about/list_of_features.rst:114 +#: ../../docs/about/list_of_features.rst:120 msgid "Pseudo-3D support including preview in the editor." msgstr "" -#: ../../docs/about/list_of_features.rst:116 +#: ../../docs/about/list_of_features.rst:122 msgid ":ref:`2D lighting ` with normal maps and specular maps." msgstr "" -#: ../../docs/about/list_of_features.rst:118 +#: ../../docs/about/list_of_features.rst:124 msgid "Point (omni/spot) and directional 2D lights." msgstr "" -#: ../../docs/about/list_of_features.rst:119 +#: ../../docs/about/list_of_features.rst:125 msgid "Hard or soft shadows (adjustable on a per-light basis)." msgstr "" -#: ../../docs/about/list_of_features.rst:120 +#: ../../docs/about/list_of_features.rst:126 msgid "Custom shaders can access a real-time :abbr:`SDF (Signed Distance Field)` representation of the 2D scene based on :ref:`class_LightOccluder2D` nodes, which can be used for improved 2D lighting effects including 2D global illumination." msgstr "" -#: ../../docs/about/list_of_features.rst:124 +#: ../../docs/about/list_of_features.rst:130 msgid ":ref:`Font rendering ` using bitmaps, rasterization using FreeType or multi-channel signed distance fields (MSDF)." msgstr "" -#: ../../docs/about/list_of_features.rst:127 +#: ../../docs/about/list_of_features.rst:133 msgid "Bitmap fonts can be exported using tools like BMFont, or imported from images (for fixed-width fonts only)." msgstr "" -#: ../../docs/about/list_of_features.rst:129 +#: ../../docs/about/list_of_features.rst:135 msgid "Dynamic fonts support monochrome fonts as well as colored fonts (e.g. for emoji). Supported formats are TTF, OTF, WOFF1 and WOFF2." msgstr "" -#: ../../docs/about/list_of_features.rst:131 +#: ../../docs/about/list_of_features.rst:137 msgid "Dynamic fonts support optional font outlines with adjustable width and color." msgstr "" -#: ../../docs/about/list_of_features.rst:132 +#: ../../docs/about/list_of_features.rst:138 msgid "Dynamic fonts support variable fonts and OpenType features including ligatures." msgstr "" -#: ../../docs/about/list_of_features.rst:133 +#: ../../docs/about/list_of_features.rst:139 msgid "Dynamic fonts support simulated bold and italic when the font file lacks those styles." msgstr "" -#: ../../docs/about/list_of_features.rst:135 +#: ../../docs/about/list_of_features.rst:141 msgid "Dynamic fonts support oversampling to keep fonts sharp at higher resolutions." msgstr "" -#: ../../docs/about/list_of_features.rst:136 +#: ../../docs/about/list_of_features.rst:142 msgid "Dynamic fonts support subpixel positioning to make fonts crisper at low sizes." msgstr "" -#: ../../docs/about/list_of_features.rst:137 +#: ../../docs/about/list_of_features.rst:143 msgid "Dynamic fonts support LCD subpixel optimizations to make fonts even crisper at low sizes." msgstr "" -#: ../../docs/about/list_of_features.rst:138 +#: ../../docs/about/list_of_features.rst:144 msgid "Signed distance field fonts can be scaled at any resolution without requiring re-rasterization. Multi-channel usage makes SDF fonts scale down to lower sizes better compared to monochrome SDF fonts." msgstr "" -#: ../../docs/about/list_of_features.rst:142 +#: ../../docs/about/list_of_features.rst:148 msgid "GPU-based :ref:`particles ` with support for :ref:`custom particle shaders `." msgstr "" -#: ../../docs/about/list_of_features.rst:144 -#: ../../docs/about/list_of_features.rst:334 +#: ../../docs/about/list_of_features.rst:150 +#: ../../docs/about/list_of_features.rst:340 msgid "CPU-based particles." msgstr "" -#: ../../docs/about/list_of_features.rst:145 +#: ../../docs/about/list_of_features.rst:151 msgid "Optional :ref:`2D HDR rendering ` for better glow capabilities." msgstr "" -#: ../../docs/about/list_of_features.rst:149 +#: ../../docs/about/list_of_features.rst:155 msgid "2D tools" msgstr "" -#: ../../docs/about/list_of_features.rst:151 +#: ../../docs/about/list_of_features.rst:157 msgid ":ref:`TileMaps ` for 2D tile-based level design." msgstr "" -#: ../../docs/about/list_of_features.rst:152 +#: ../../docs/about/list_of_features.rst:158 msgid "2D camera with built-in smoothing and drag margins." msgstr "" -#: ../../docs/about/list_of_features.rst:153 +#: ../../docs/about/list_of_features.rst:159 msgid "Path2D node to represent a path in 2D space." msgstr "" -#: ../../docs/about/list_of_features.rst:155 -#: ../../docs/about/list_of_features.rst:395 +#: ../../docs/about/list_of_features.rst:161 +#: ../../docs/about/list_of_features.rst:401 msgid "Can be drawn in the editor or generated procedurally." msgstr "" -#: ../../docs/about/list_of_features.rst:156 +#: ../../docs/about/list_of_features.rst:162 msgid "PathFollow2D node to make nodes follow a Path2D." msgstr "" -#: ../../docs/about/list_of_features.rst:158 +#: ../../docs/about/list_of_features.rst:164 msgid ":ref:`2D geometry helper class `." msgstr "" -#: ../../docs/about/list_of_features.rst:161 +#: ../../docs/about/list_of_features.rst:167 msgid "2D physics" msgstr "" -#: ../../docs/about/list_of_features.rst:163 -#: ../../docs/about/list_of_features.rst:405 +#: ../../docs/about/list_of_features.rst:169 +#: ../../docs/about/list_of_features.rst:411 msgid "**Physics bodies:**" msgstr "" -#: ../../docs/about/list_of_features.rst:165 -#: ../../docs/about/list_of_features.rst:407 +#: ../../docs/about/list_of_features.rst:171 +#: ../../docs/about/list_of_features.rst:413 msgid "Static bodies." msgstr "" -#: ../../docs/about/list_of_features.rst:166 -#: ../../docs/about/list_of_features.rst:408 +#: ../../docs/about/list_of_features.rst:172 +#: ../../docs/about/list_of_features.rst:414 msgid "Animatable bodies (for objects moving only by script or animation, such as doors and platforms)." msgstr "" -#: ../../docs/about/list_of_features.rst:167 -#: ../../docs/about/list_of_features.rst:409 +#: ../../docs/about/list_of_features.rst:173 +#: ../../docs/about/list_of_features.rst:415 msgid "Rigid bodies." msgstr "" -#: ../../docs/about/list_of_features.rst:168 -#: ../../docs/about/list_of_features.rst:410 +#: ../../docs/about/list_of_features.rst:174 +#: ../../docs/about/list_of_features.rst:416 msgid "Character bodies." msgstr "" -#: ../../docs/about/list_of_features.rst:169 -#: ../../docs/about/list_of_features.rst:412 +#: ../../docs/about/list_of_features.rst:175 +#: ../../docs/about/list_of_features.rst:418 msgid "Joints." msgstr "" -#: ../../docs/about/list_of_features.rst:170 -#: ../../docs/about/list_of_features.rst:415 +#: ../../docs/about/list_of_features.rst:176 +#: ../../docs/about/list_of_features.rst:421 msgid "Areas to detect bodies entering or leaving it." msgstr "" -#: ../../docs/about/list_of_features.rst:172 -#: ../../docs/about/list_of_features.rst:417 +#: ../../docs/about/list_of_features.rst:178 +#: ../../docs/about/list_of_features.rst:423 msgid "**Collision detection:**" msgstr "" -#: ../../docs/about/list_of_features.rst:174 +#: ../../docs/about/list_of_features.rst:180 msgid "Built-in shapes: line, box, circle, capsule, world boundary (infinite plane)." msgstr "" -#: ../../docs/about/list_of_features.rst:175 +#: ../../docs/about/list_of_features.rst:181 msgid "Collision polygons (can be drawn manually or generated from a sprite in the editor)." msgstr "" -#: ../../docs/about/list_of_features.rst:178 +#: ../../docs/about/list_of_features.rst:184 msgid "3D graphics" msgstr "" -#: ../../docs/about/list_of_features.rst:180 +#: ../../docs/about/list_of_features.rst:186 msgid "HDR rendering with sRGB." msgstr "" -#: ../../docs/about/list_of_features.rst:181 +#: ../../docs/about/list_of_features.rst:187 msgid "Perspective, orthographic and frustum-offset cameras." msgstr "" -#: ../../docs/about/list_of_features.rst:182 +#: ../../docs/about/list_of_features.rst:188 msgid "When using the Forward+ backend, a depth prepass is used to improve performance in complex scenes by reducing the cost of overdraw." msgstr "" -#: ../../docs/about/list_of_features.rst:184 +#: ../../docs/about/list_of_features.rst:190 msgid ":ref:`doc_variable_rate_shading` on supported GPUs in Forward+ and Forward Mobile." msgstr "" -#: ../../docs/about/list_of_features.rst:186 +#: ../../docs/about/list_of_features.rst:192 msgid "**Physically-based rendering (built-in material features):**" msgstr "" -#: ../../docs/about/list_of_features.rst:188 +#: ../../docs/about/list_of_features.rst:194 msgid "Follows the Disney PBR model." msgstr "" -#: ../../docs/about/list_of_features.rst:189 +#: ../../docs/about/list_of_features.rst:195 msgid "Supports Burley, Lambert, Lambert Wrap (half-Lambert) and Toon diffuse shading modes." msgstr "" -#: ../../docs/about/list_of_features.rst:190 +#: ../../docs/about/list_of_features.rst:196 msgid "Supports Schlick-GGX, Toon and Disabled specular shading modes." msgstr "" -#: ../../docs/about/list_of_features.rst:191 +#: ../../docs/about/list_of_features.rst:197 msgid "Uses a roughness-metallic workflow with support for ORM textures." msgstr "" -#: ../../docs/about/list_of_features.rst:192 +#: ../../docs/about/list_of_features.rst:198 msgid "Uses horizon specular occlusion (Filament model) to improve material appearance." msgstr "" -#: ../../docs/about/list_of_features.rst:193 +#: ../../docs/about/list_of_features.rst:199 msgid "Normal mapping." msgstr "" -#: ../../docs/about/list_of_features.rst:194 +#: ../../docs/about/list_of_features.rst:200 msgid "Parallax/relief mapping with automatic level of detail based on distance." msgstr "" -#: ../../docs/about/list_of_features.rst:195 +#: ../../docs/about/list_of_features.rst:201 msgid "Detail mapping for the albedo and normal maps." msgstr "" -#: ../../docs/about/list_of_features.rst:196 +#: ../../docs/about/list_of_features.rst:202 msgid "Sub-surface scattering and transmittance." msgstr "" -#: ../../docs/about/list_of_features.rst:197 +#: ../../docs/about/list_of_features.rst:203 msgid "Screen-space refraction with support for material roughness (resulting in blurry refraction)." msgstr "" -#: ../../docs/about/list_of_features.rst:198 +#: ../../docs/about/list_of_features.rst:204 msgid "Proximity fade (soft particles) and distance fade." msgstr "" -#: ../../docs/about/list_of_features.rst:199 +#: ../../docs/about/list_of_features.rst:205 msgid "Distance fade can use alpha blending or dithering to avoid going through the transparent pipeline." msgstr "" -#: ../../docs/about/list_of_features.rst:201 +#: ../../docs/about/list_of_features.rst:207 msgid "Dithering can be determined on a per-pixel or per-object basis." msgstr "" -#: ../../docs/about/list_of_features.rst:203 +#: ../../docs/about/list_of_features.rst:209 msgid "**Real-time lighting:**" msgstr "" -#: ../../docs/about/list_of_features.rst:205 +#: ../../docs/about/list_of_features.rst:211 msgid "Directional lights (sun/moon). Up to 4 per scene." msgstr "" -#: ../../docs/about/list_of_features.rst:206 +#: ../../docs/about/list_of_features.rst:212 msgid "Omnidirectional lights." msgstr "" -#: ../../docs/about/list_of_features.rst:207 +#: ../../docs/about/list_of_features.rst:213 msgid "Spot lights with adjustable cone angle and attenuation." msgstr "" -#: ../../docs/about/list_of_features.rst:208 +#: ../../docs/about/list_of_features.rst:214 msgid "Specular, indirect light, and volumetric fog energy can be adjusted on a per-light basis." msgstr "" -#: ../../docs/about/list_of_features.rst:209 +#: ../../docs/about/list_of_features.rst:215 msgid "Adjustable light \"size\" for fake area lights (will also make shadows blurrier)." msgstr "" -#: ../../docs/about/list_of_features.rst:210 -#: ../../docs/about/list_of_features.rst:286 +#: ../../docs/about/list_of_features.rst:216 +#: ../../docs/about/list_of_features.rst:292 msgid "Optional distance fade system to fade distant lights and their shadows, improving performance." msgstr "" -#: ../../docs/about/list_of_features.rst:211 +#: ../../docs/about/list_of_features.rst:217 msgid "When using the Forward+ backend (default on desktop), lights are rendered with clustered forward optimizations to decrease their individual cost. Clustered rendering also lifts any limits on the number of lights that can be used on a mesh." msgstr "" -#: ../../docs/about/list_of_features.rst:214 +#: ../../docs/about/list_of_features.rst:220 msgid "When using the Forward Mobile backend, up to 8 omni lights and 8 spot lights can be displayed per mesh resource. Baked lighting can be used to overcome this limit if needed." msgstr "" -#: ../../docs/about/list_of_features.rst:218 +#: ../../docs/about/list_of_features.rst:224 msgid "**Shadow mapping:**" msgstr "" -#: ../../docs/about/list_of_features.rst:220 +#: ../../docs/about/list_of_features.rst:226 msgid "*DirectionalLight:* Orthogonal (fastest), PSSM 2-split and 4-split. Supports blending between splits." msgstr "" -#: ../../docs/about/list_of_features.rst:222 +#: ../../docs/about/list_of_features.rst:228 msgid "*OmniLight:* Dual paraboloid (fast) or cubemap (slower but more accurate). Supports colored projector textures in the form of panoramas." msgstr "" -#: ../../docs/about/list_of_features.rst:224 +#: ../../docs/about/list_of_features.rst:230 msgid "*SpotLight:* Single texture. Supports colored projector textures." msgstr "" -#: ../../docs/about/list_of_features.rst:225 +#: ../../docs/about/list_of_features.rst:231 msgid "Shadow normal offset bias and shadow pancaking to decrease the amount of visible shadow acne and peter-panning." msgstr "" -#: ../../docs/about/list_of_features.rst:227 +#: ../../docs/about/list_of_features.rst:233 msgid ":abbr:`PCSS (Percentage Closer Soft Shadows)`-like shadow blur based on the light size and distance from the surface the shadow is cast on." msgstr "" -#: ../../docs/about/list_of_features.rst:229 +#: ../../docs/about/list_of_features.rst:235 msgid "Adjustable shadow blur on a per-light basis." msgstr "" -#: ../../docs/about/list_of_features.rst:231 +#: ../../docs/about/list_of_features.rst:237 msgid "**Global illumination with indirect lighting:**" msgstr "" -#: ../../docs/about/list_of_features.rst:233 +#: ../../docs/about/list_of_features.rst:239 msgid ":ref:`Baked lightmaps ` (fast, but can't be updated at run-time)." msgstr "" -#: ../../docs/about/list_of_features.rst:235 +#: ../../docs/about/list_of_features.rst:241 msgid "Supports baking indirect light only or baking both direct and indirect lighting. The bake mode can be adjusted on a per-light basis to allow for hybrid light baking setups." msgstr "" -#: ../../docs/about/list_of_features.rst:238 +#: ../../docs/about/list_of_features.rst:244 msgid "Supports lighting dynamic objects using automatic and manually placed probes." msgstr "" -#: ../../docs/about/list_of_features.rst:239 +#: ../../docs/about/list_of_features.rst:245 msgid "Optionally supports directional lighting and rough reflections based on spherical harmonics." msgstr "" -#: ../../docs/about/list_of_features.rst:241 +#: ../../docs/about/list_of_features.rst:247 msgid "Lightmaps are baked on the GPU using compute shaders (much faster compared to CPU lightmapping). Baking can only be performed from the editor, not in exported projects." msgstr "" -#: ../../docs/about/list_of_features.rst:244 +#: ../../docs/about/list_of_features.rst:250 msgid "Supports GPU-based :ref:`denoising ` with JNLM, or CPU/GPU-based denoising with OIDN." msgstr "" -#: ../../docs/about/list_of_features.rst:247 +#: ../../docs/about/list_of_features.rst:253 msgid ":ref:`Voxel-based GI probes `. Supports dynamic lights *and* dynamic occluders, while also supporting reflections. Requires a fast baking step which can be performed in the editor or at run-time (including from an exported project)." msgstr "" -#: ../../docs/about/list_of_features.rst:251 +#: ../../docs/about/list_of_features.rst:257 msgid ":ref:`Signed-distance field GI ` designed for large open worlds. Supports dynamic lights, but not dynamic occluders. Supports reflections. No baking required." msgstr "" -#: ../../docs/about/list_of_features.rst:254 +#: ../../docs/about/list_of_features.rst:260 msgid ":ref:`Screen-space indirect lighting (SSIL) ` at half or full resolution. Fully real-time and supports any kind of emissive light source (including decals)." msgstr "" -#: ../../docs/about/list_of_features.rst:257 +#: ../../docs/about/list_of_features.rst:263 msgid "VoxelGI and SDFGI use a deferred pass to allow for rendering GI at half resolution to improve performance (while still having functional MSAA support)." msgstr "" -#: ../../docs/about/list_of_features.rst:260 +#: ../../docs/about/list_of_features.rst:266 msgid "**Reflections:**" msgstr "" -#: ../../docs/about/list_of_features.rst:262 +#: ../../docs/about/list_of_features.rst:268 msgid "Voxel-based reflections (when using GI probes) and SDF-based reflections (when using signed distance field GI). Voxel-based reflections are visible on transparent surfaces, while rough SDF-based reflections are visible on transparent surfaces." msgstr "" -#: ../../docs/about/list_of_features.rst:266 +#: ../../docs/about/list_of_features.rst:272 msgid "Fast baked reflections or slow real-time reflections using ReflectionProbe. Parallax box correction can optionally be enabled." msgstr "" -#: ../../docs/about/list_of_features.rst:268 +#: ../../docs/about/list_of_features.rst:274 msgid "Screen-space reflections with support for material roughness." msgstr "" -#: ../../docs/about/list_of_features.rst:269 +#: ../../docs/about/list_of_features.rst:275 msgid "Reflection techniques can be mixed together for greater accuracy or scalability." msgstr "" -#: ../../docs/about/list_of_features.rst:270 +#: ../../docs/about/list_of_features.rst:276 msgid "When using the Forward+ backend (default on desktop), reflection probes are rendered with clustered forward optimizations to decrease their individual cost. Clustered rendering also lifts any limits on the number of reflection probes that can be used on a mesh." msgstr "" -#: ../../docs/about/list_of_features.rst:273 +#: ../../docs/about/list_of_features.rst:279 msgid "When using the Forward Mobile backend, up to 8 reflection probes can be displayed per mesh resource." msgstr "" -#: ../../docs/about/list_of_features.rst:276 +#: ../../docs/about/list_of_features.rst:282 msgid "**Decals:**" msgstr "" -#: ../../docs/about/list_of_features.rst:278 +#: ../../docs/about/list_of_features.rst:284 msgid ":ref:`Supports albedo `, emissive, :abbr:`ORM (Occlusion Roughness Metallic)`, and normal mapping." msgstr "" -#: ../../docs/about/list_of_features.rst:280 +#: ../../docs/about/list_of_features.rst:286 msgid "Texture channels are smoothly overlaid on top of the underlying material, with support for normal/ORM-only decals." msgstr "" -#: ../../docs/about/list_of_features.rst:282 +#: ../../docs/about/list_of_features.rst:288 msgid "Support for normal fade to fade the decal depending on its incidence angle." msgstr "" -#: ../../docs/about/list_of_features.rst:283 +#: ../../docs/about/list_of_features.rst:289 msgid "Does not rely on run-time mesh generation. This means decals can be used on complex skinned meshes with no performance penalty, even if the decal moves every frame." msgstr "" -#: ../../docs/about/list_of_features.rst:285 +#: ../../docs/about/list_of_features.rst:291 msgid "Support for nearest, bilinear, trilinear or anisotropic texture filtering (configured globally)." msgstr "" -#: ../../docs/about/list_of_features.rst:287 +#: ../../docs/about/list_of_features.rst:293 msgid "When using the Forward+ backend (default on desktop), decals are rendered with clustered forward optimizations to decrease their individual cost. Clustered rendering also lifts any limits on the number of decals that can be used on a mesh." msgstr "" -#: ../../docs/about/list_of_features.rst:290 +#: ../../docs/about/list_of_features.rst:296 msgid "When using the Forward Mobile backend, up to 8 decals can be displayed per mesh resource." msgstr "" -#: ../../docs/about/list_of_features.rst:293 +#: ../../docs/about/list_of_features.rst:299 msgid "**Sky:**" msgstr "" -#: ../../docs/about/list_of_features.rst:295 +#: ../../docs/about/list_of_features.rst:301 msgid "Panorama sky (using an HDRI)." msgstr "" -#: ../../docs/about/list_of_features.rst:296 +#: ../../docs/about/list_of_features.rst:302 msgid "Procedural sky and Physically-based sky that respond to the DirectionalLights in the scene." msgstr "" -#: ../../docs/about/list_of_features.rst:297 +#: ../../docs/about/list_of_features.rst:303 msgid "Support for :ref:`custom sky shaders `, which can be animated." msgstr "" -#: ../../docs/about/list_of_features.rst:298 +#: ../../docs/about/list_of_features.rst:304 msgid "The radiance map used for ambient and specular light can be updated in real-time depending on the quality settings chosen." msgstr "" -#: ../../docs/about/list_of_features.rst:301 +#: ../../docs/about/list_of_features.rst:307 msgid "**Fog:**" msgstr "" -#: ../../docs/about/list_of_features.rst:303 +#: ../../docs/about/list_of_features.rst:309 msgid "Exponential depth fog." msgstr "" -#: ../../docs/about/list_of_features.rst:304 +#: ../../docs/about/list_of_features.rst:310 msgid "Exponential height fog." msgstr "" -#: ../../docs/about/list_of_features.rst:305 +#: ../../docs/about/list_of_features.rst:311 msgid "Support for automatic fog color depending on the sky color (aerial perspective)." msgstr "" -#: ../../docs/about/list_of_features.rst:306 +#: ../../docs/about/list_of_features.rst:312 msgid "Support for sun scattering in the fog." msgstr "" -#: ../../docs/about/list_of_features.rst:307 +#: ../../docs/about/list_of_features.rst:313 msgid "Support for controlling how much fog rendering should affect the sky, with separate controls for traditional and volumetric fog." msgstr "" -#: ../../docs/about/list_of_features.rst:309 +#: ../../docs/about/list_of_features.rst:315 msgid "Support for making specific materials ignore fog." msgstr "" -#: ../../docs/about/list_of_features.rst:311 +#: ../../docs/about/list_of_features.rst:317 msgid "**Volumetric fog:**" msgstr "" -#: ../../docs/about/list_of_features.rst:313 +#: ../../docs/about/list_of_features.rst:319 msgid "Global :ref:`volumetric fog ` that reacts to lights and shadows." msgstr "" -#: ../../docs/about/list_of_features.rst:314 +#: ../../docs/about/list_of_features.rst:320 msgid "Volumetric fog can take indirect light into account when using VoxelGI or SDFGI." msgstr "" -#: ../../docs/about/list_of_features.rst:315 +#: ../../docs/about/list_of_features.rst:321 msgid "Fog volume nodes that can be placed to add fog to specific areas (or remove fog from specific areas). Supported shapes include box, ellipse, cone, cylinder, and 3D texture-based density maps." msgstr "" -#: ../../docs/about/list_of_features.rst:317 +#: ../../docs/about/list_of_features.rst:323 msgid "Each fog volume can have its own custom shader." msgstr "" -#: ../../docs/about/list_of_features.rst:318 +#: ../../docs/about/list_of_features.rst:324 msgid "Can be used together with traditional fog." msgstr "" -#: ../../docs/about/list_of_features.rst:320 +#: ../../docs/about/list_of_features.rst:326 msgid "**Particles:**" msgstr "" -#: ../../docs/about/list_of_features.rst:322 +#: ../../docs/about/list_of_features.rst:328 msgid "GPU-based particles with support for subemitters (2D + 3D), trails (2D + 3D), attractors (3D only) and collision (2D + 3D)." msgstr "" -#: ../../docs/about/list_of_features.rst:325 +#: ../../docs/about/list_of_features.rst:331 msgid "3D particle attractor shapes supported: box, sphere and 3D vector fields." msgstr "" -#: ../../docs/about/list_of_features.rst:326 +#: ../../docs/about/list_of_features.rst:332 msgid "3D particle collision shapes supported: box, sphere, baked signed distance field and real-time heightmap (suited for open world weather effects)." msgstr "" -#: ../../docs/about/list_of_features.rst:328 +#: ../../docs/about/list_of_features.rst:334 msgid "2D particle collision is handled using a signed distance field generated in real-time based on :ref:`class_LightOccluder2D` nodes in the scene." msgstr "" -#: ../../docs/about/list_of_features.rst:330 +#: ../../docs/about/list_of_features.rst:336 msgid "Trails can use the built-in ribbon trail and tube trail meshes, or custom meshes with skeletons." msgstr "" -#: ../../docs/about/list_of_features.rst:332 +#: ../../docs/about/list_of_features.rst:338 msgid "Support for custom particle shaders with manual emission." msgstr "" -#: ../../docs/about/list_of_features.rst:336 +#: ../../docs/about/list_of_features.rst:342 msgid "**Post-processing:**" msgstr "" -#: ../../docs/about/list_of_features.rst:338 +#: ../../docs/about/list_of_features.rst:344 msgid "Tonemapping (Linear, Reinhard, Filmic, ACES)." msgstr "" -#: ../../docs/about/list_of_features.rst:339 +#: ../../docs/about/list_of_features.rst:345 msgid "Automatic exposure adjustments based on viewport brightness (and manual exposure override)." msgstr "" -#: ../../docs/about/list_of_features.rst:340 +#: ../../docs/about/list_of_features.rst:346 msgid "Near and far depth of field with adjustable bokeh simulation (box, hexagon, circle)." msgstr "" -#: ../../docs/about/list_of_features.rst:341 +#: ../../docs/about/list_of_features.rst:347 msgid "Screen-space ambient occlusion (SSAO) at half or full resolution." msgstr "" -#: ../../docs/about/list_of_features.rst:342 +#: ../../docs/about/list_of_features.rst:348 msgid "Glow/bloom with optional bicubic upscaling and several blend modes available: Screen, Soft Light, Add, Replace, Mix." msgstr "" -#: ../../docs/about/list_of_features.rst:344 +#: ../../docs/about/list_of_features.rst:350 msgid "Glow can have a colored dirt map texture, acting as a lens dirt effect." msgstr "" -#: ../../docs/about/list_of_features.rst:345 +#: ../../docs/about/list_of_features.rst:351 msgid "Glow can be :ref:`used as a screen-space blur effect `." msgstr "" -#: ../../docs/about/list_of_features.rst:346 +#: ../../docs/about/list_of_features.rst:352 msgid "Color correction using a one-dimensional ramp or a 3D LUT texture." msgstr "" -#: ../../docs/about/list_of_features.rst:347 +#: ../../docs/about/list_of_features.rst:353 msgid "Roughness limiter to reduce the impact of specular aliasing." msgstr "" -#: ../../docs/about/list_of_features.rst:348 +#: ../../docs/about/list_of_features.rst:354 msgid "Brightness, contrast and saturation adjustments." msgstr "" -#: ../../docs/about/list_of_features.rst:350 +#: ../../docs/about/list_of_features.rst:356 msgid "**Texture filtering:**" msgstr "" -#: ../../docs/about/list_of_features.rst:352 +#: ../../docs/about/list_of_features.rst:358 msgid "Nearest, bilinear, trilinear or anisotropic filtering." msgstr "" -#: ../../docs/about/list_of_features.rst:353 +#: ../../docs/about/list_of_features.rst:359 msgid "Filtering options are defined on a per-use basis, not a per-texture basis." msgstr "" -#: ../../docs/about/list_of_features.rst:355 +#: ../../docs/about/list_of_features.rst:361 msgid "**Texture compression:**" msgstr "" -#: ../../docs/about/list_of_features.rst:357 +#: ../../docs/about/list_of_features.rst:363 msgid "Basis Universal (slow, but results in smaller files)." msgstr "" -#: ../../docs/about/list_of_features.rst:358 +#: ../../docs/about/list_of_features.rst:364 msgid "BPTC for high-quality compression (not supported on macOS)." msgstr "" -#: ../../docs/about/list_of_features.rst:359 +#: ../../docs/about/list_of_features.rst:365 msgid "ETC2 (not supported on macOS)." msgstr "" -#: ../../docs/about/list_of_features.rst:360 +#: ../../docs/about/list_of_features.rst:366 msgid "S3TC (not supported on mobile/Web platforms)." msgstr "" -#: ../../docs/about/list_of_features.rst:362 +#: ../../docs/about/list_of_features.rst:368 msgid "**Anti-aliasing:**" msgstr "" -#: ../../docs/about/list_of_features.rst:364 +#: ../../docs/about/list_of_features.rst:370 msgid "Temporal :ref:`antialiasing ` (TAA)." msgstr "" -#: ../../docs/about/list_of_features.rst:365 +#: ../../docs/about/list_of_features.rst:371 msgid "AMD FidelityFX Super Resolution 2.2 :ref:`antialiasing ` (FSR2), which can be used at native resolution as a form of high-quality temporal antialiasing." msgstr "" -#: ../../docs/about/list_of_features.rst:367 +#: ../../docs/about/list_of_features.rst:373 msgid "Multi-sample antialiasing (MSAA), for both :ref:`doc_2d_antialiasing` and :ref:`doc_3d_antialiasing`." msgstr "" -#: ../../docs/about/list_of_features.rst:368 +#: ../../docs/about/list_of_features.rst:374 msgid "Fast approximate antialiasing (FXAA)." msgstr "" -#: ../../docs/about/list_of_features.rst:369 +#: ../../docs/about/list_of_features.rst:375 msgid "Super-sample antialiasing (SSAA) using bilinear 3D scaling and a 3D resolution scale above 1.0." msgstr "" -#: ../../docs/about/list_of_features.rst:370 +#: ../../docs/about/list_of_features.rst:376 msgid "Alpha antialiasing, MSAA alpha to coverage and alpha hashing on a per-material basis." msgstr "" -#: ../../docs/about/list_of_features.rst:372 +#: ../../docs/about/list_of_features.rst:378 msgid "**Resolution scaling:**" msgstr "" -#: ../../docs/about/list_of_features.rst:374 +#: ../../docs/about/list_of_features.rst:380 msgid "Support for :ref:`rendering 3D at a lower resolution ` while keeping 2D rendering at the original scale. This can be used to improve performance on low-end systems or improve visuals on high-end systems." msgstr "" -#: ../../docs/about/list_of_features.rst:377 +#: ../../docs/about/list_of_features.rst:383 msgid "Resolution scaling uses bilinear filtering, AMD FidelityFX Super Resolution 1.0 (FSR1) or AMD FidelityFX Super Resolution 2.2 (FSR2)." msgstr "" -#: ../../docs/about/list_of_features.rst:379 +#: ../../docs/about/list_of_features.rst:385 msgid "Texture mipmap LOD bias is adjusted automatically to improve quality at lower resolution scales. It can also be modified with a manual offset." msgstr "" -#: ../../docs/about/list_of_features.rst:382 +#: ../../docs/about/list_of_features.rst:388 msgid "Most effects listed above can be adjusted for better performance or to further improve quality. This can be helpful when :ref:`using Godot for offline rendering `." msgstr "" -#: ../../docs/about/list_of_features.rst:387 +#: ../../docs/about/list_of_features.rst:393 msgid "3D tools" msgstr "" -#: ../../docs/about/list_of_features.rst:389 +#: ../../docs/about/list_of_features.rst:395 msgid "Built-in meshes: cube, cylinder/cone, (hemi)sphere, prism, plane, quad, torus, ribbon, tube." msgstr "" -#: ../../docs/about/list_of_features.rst:390 +#: ../../docs/about/list_of_features.rst:396 msgid ":ref:`GridMaps ` for 3D tile-based level design." msgstr "" -#: ../../docs/about/list_of_features.rst:391 +#: ../../docs/about/list_of_features.rst:397 msgid ":ref:`Constructive solid geometry ` (intended for prototyping)." msgstr "" -#: ../../docs/about/list_of_features.rst:392 +#: ../../docs/about/list_of_features.rst:398 msgid "Tools for :ref:`procedural geometry generation `." msgstr "" -#: ../../docs/about/list_of_features.rst:393 +#: ../../docs/about/list_of_features.rst:399 msgid "Path3D node to represent a path in 3D space." msgstr "" -#: ../../docs/about/list_of_features.rst:396 +#: ../../docs/about/list_of_features.rst:402 msgid "PathFollow3D node to make nodes follow a Path3D." msgstr "" -#: ../../docs/about/list_of_features.rst:398 +#: ../../docs/about/list_of_features.rst:404 msgid ":ref:`3D geometry helper class `." msgstr "" -#: ../../docs/about/list_of_features.rst:399 +#: ../../docs/about/list_of_features.rst:405 msgid "Support for exporting the current scene as a glTF 2.0 file, both from the editor and at run-time from an exported project." msgstr "" -#: ../../docs/about/list_of_features.rst:403 +#: ../../docs/about/list_of_features.rst:409 msgid "3D physics" msgstr "" -#: ../../docs/about/list_of_features.rst:411 +#: ../../docs/about/list_of_features.rst:417 msgid "Vehicle bodies (intended for arcade physics, not simulation)." msgstr "" -#: ../../docs/about/list_of_features.rst:413 +#: ../../docs/about/list_of_features.rst:419 msgid "Soft bodies." msgstr "" -#: ../../docs/about/list_of_features.rst:414 +#: ../../docs/about/list_of_features.rst:420 msgid "Ragdolls." msgstr "" -#: ../../docs/about/list_of_features.rst:419 +#: ../../docs/about/list_of_features.rst:425 msgid "Built-in shapes: cuboid, sphere, capsule, cylinder, world boundary (infinite plane)." msgstr "" -#: ../../docs/about/list_of_features.rst:420 +#: ../../docs/about/list_of_features.rst:426 msgid "Generate triangle collision shapes for any mesh from the editor." msgstr "" -#: ../../docs/about/list_of_features.rst:421 +#: ../../docs/about/list_of_features.rst:427 msgid "Generate one or several convex collision shapes for any mesh from the editor." msgstr "" -#: ../../docs/about/list_of_features.rst:424 +#: ../../docs/about/list_of_features.rst:430 msgid "Shaders" msgstr "" -#: ../../docs/about/list_of_features.rst:426 +#: ../../docs/about/list_of_features.rst:432 msgid "*2D:* Custom vertex, fragment, and light shaders." msgstr "" -#: ../../docs/about/list_of_features.rst:427 +#: ../../docs/about/list_of_features.rst:433 msgid "*3D:* Custom vertex, fragment, light, and sky shaders." msgstr "" -#: ../../docs/about/list_of_features.rst:428 +#: ../../docs/about/list_of_features.rst:434 msgid "Text-based shaders using a :ref:`shader language inspired by GLSL `." msgstr "" -#: ../../docs/about/list_of_features.rst:429 +#: ../../docs/about/list_of_features.rst:435 msgid "Visual shader editor." msgstr "" -#: ../../docs/about/list_of_features.rst:431 +#: ../../docs/about/list_of_features.rst:437 msgid "Support for visual shader plugins." msgstr "" -#: ../../docs/about/list_of_features.rst:434 +#: ../../docs/about/list_of_features.rst:440 msgid "Scripting" msgstr "" -#: ../../docs/about/list_of_features.rst:436 +#: ../../docs/about/list_of_features.rst:442 msgid "**General:**" msgstr "" -#: ../../docs/about/list_of_features.rst:438 +#: ../../docs/about/list_of_features.rst:444 msgid "Object-oriented design pattern with scripts extending nodes." msgstr "" -#: ../../docs/about/list_of_features.rst:439 +#: ../../docs/about/list_of_features.rst:445 msgid "Signals and groups for communicating between scripts." msgstr "" -#: ../../docs/about/list_of_features.rst:440 +#: ../../docs/about/list_of_features.rst:446 msgid "Support for :ref:`cross-language scripting `." msgstr "" -#: ../../docs/about/list_of_features.rst:441 +#: ../../docs/about/list_of_features.rst:447 msgid "Many 2D, 3D and 4D linear algebra data types such as vectors and transforms." msgstr "" -#: ../../docs/about/list_of_features.rst:443 +#: ../../docs/about/list_of_features.rst:449 msgid ":ref:`GDScript: `" msgstr "" -#: ../../docs/about/list_of_features.rst:445 +#: ../../docs/about/list_of_features.rst:451 msgid ":ref:`High-level interpreted language ` with :ref:`optional static typing `." msgstr "" -#: ../../docs/about/list_of_features.rst:447 +#: ../../docs/about/list_of_features.rst:453 msgid "Syntax inspired by Python. However, GDScript is **not** based on Python." msgstr "" -#: ../../docs/about/list_of_features.rst:448 +#: ../../docs/about/list_of_features.rst:454 msgid "Syntax highlighting is provided on GitHub." msgstr "" -#: ../../docs/about/list_of_features.rst:449 +#: ../../docs/about/list_of_features.rst:455 msgid ":ref:`Use threads ` to perform asynchronous actions or make use of multiple processor cores." msgstr "" -#: ../../docs/about/list_of_features.rst:452 +#: ../../docs/about/list_of_features.rst:458 msgid ":ref:`C#: `" msgstr "" -#: ../../docs/about/list_of_features.rst:454 +#: ../../docs/about/list_of_features.rst:460 msgid "Packaged in a separate binary to keep file sizes and dependencies down." msgstr "" -#: ../../docs/about/list_of_features.rst:455 +#: ../../docs/about/list_of_features.rst:461 msgid "Supports .NET 6 and higher." msgstr "" -#: ../../docs/about/list_of_features.rst:457 +#: ../../docs/about/list_of_features.rst:463 msgid "Full support for the C# 10.0 syntax and features." msgstr "" -#: ../../docs/about/list_of_features.rst:459 +#: ../../docs/about/list_of_features.rst:465 msgid "Supports Windows, Linux, and macOS. As of 4.2 experimental support for Android and iOS is also available (requires a .NET 7.0 project for Android and 8.0 for iOS)." msgstr "" -#: ../../docs/about/list_of_features.rst:462 +#: ../../docs/about/list_of_features.rst:468 msgid "On the Android platform only some architectures are supported: ``arm64`` and ``x64``." msgstr "" -#: ../../docs/about/list_of_features.rst:463 +#: ../../docs/about/list_of_features.rst:469 msgid "On the iOS platform only some architectures are supported: ``arm64``." msgstr "" -#: ../../docs/about/list_of_features.rst:464 +#: ../../docs/about/list_of_features.rst:470 msgid "The web platform is currently unsupported. To use C# on that platform, consider Godot 3 instead." msgstr "" -#: ../../docs/about/list_of_features.rst:467 +#: ../../docs/about/list_of_features.rst:473 msgid "Using an external editor is recommended to benefit from IDE functionality." msgstr "" -#: ../../docs/about/list_of_features.rst:469 +#: ../../docs/about/list_of_features.rst:475 msgid "**GDExtension (C, C++, Rust, D, ...):**" msgstr "" -#: ../../docs/about/list_of_features.rst:471 +#: ../../docs/about/list_of_features.rst:477 msgid "When you need it, link to native libraries for higher performance and third-party integrations." msgstr "" -#: ../../docs/about/list_of_features.rst:473 +#: ../../docs/about/list_of_features.rst:479 msgid "For scripting game logic, GDScript or C# are recommended if their performance is suitable." msgstr "" -#: ../../docs/about/list_of_features.rst:476 +#: ../../docs/about/list_of_features.rst:482 msgid "Official GDExtension bindings for `C `__ and `C++ `__." msgstr "" -#: ../../docs/about/list_of_features.rst:479 +#: ../../docs/about/list_of_features.rst:485 msgid "Use any build system and language features you wish." msgstr "" -#: ../../docs/about/list_of_features.rst:481 +#: ../../docs/about/list_of_features.rst:487 msgid "Actively developed GDExtension bindings for `D `__, `Haxe `__, `Swift `__, and `Rust `__ bindings provided by the community. (Some of these bindings may be experimental and not production-ready)." msgstr "" -#: ../../docs/about/list_of_features.rst:486 +#: ../../docs/about/list_of_features.rst:492 msgid "Audio" msgstr "" -#: ../../docs/about/list_of_features.rst:490 +#: ../../docs/about/list_of_features.rst:496 msgid "Mono, stereo, 5.1 and 7.1 output." msgstr "" -#: ../../docs/about/list_of_features.rst:491 +#: ../../docs/about/list_of_features.rst:497 msgid "Non-positional and positional playback in 2D and 3D." msgstr "" -#: ../../docs/about/list_of_features.rst:493 +#: ../../docs/about/list_of_features.rst:499 msgid "Optional Doppler effect in 2D and 3D." msgstr "" -#: ../../docs/about/list_of_features.rst:495 +#: ../../docs/about/list_of_features.rst:501 msgid "Support for re-routable :ref:`audio buses ` and effects with dozens of effects included." msgstr "" -#: ../../docs/about/list_of_features.rst:497 +#: ../../docs/about/list_of_features.rst:503 msgid "Support for polyphony (playing several sounds from a single AudioStreamPlayer node)." msgstr "" -#: ../../docs/about/list_of_features.rst:498 +#: ../../docs/about/list_of_features.rst:504 msgid "Support for random volume and pitch." msgstr "" -#: ../../docs/about/list_of_features.rst:499 +#: ../../docs/about/list_of_features.rst:505 msgid "Support for real-time pitch scaling." msgstr "" -#: ../../docs/about/list_of_features.rst:500 +#: ../../docs/about/list_of_features.rst:506 msgid "Support for sequential/random sample selection, including repetition prevention when using random sample selection." msgstr "" -#: ../../docs/about/list_of_features.rst:502 +#: ../../docs/about/list_of_features.rst:508 msgid "Listener2D and Listener3D nodes to listen from a position different than the camera." msgstr "" -#: ../../docs/about/list_of_features.rst:503 +#: ../../docs/about/list_of_features.rst:509 msgid "Support for :ref:`procedural audio generation `." msgstr "" -#: ../../docs/about/list_of_features.rst:504 +#: ../../docs/about/list_of_features.rst:510 msgid "Audio input to record microphones." msgstr "" -#: ../../docs/about/list_of_features.rst:505 +#: ../../docs/about/list_of_features.rst:511 msgid "MIDI input." msgstr "" -#: ../../docs/about/list_of_features.rst:507 +#: ../../docs/about/list_of_features.rst:513 msgid "No support for MIDI output yet." msgstr "" -#: ../../docs/about/list_of_features.rst:509 +#: ../../docs/about/list_of_features.rst:515 msgid "**APIs used:**" msgstr "" -#: ../../docs/about/list_of_features.rst:511 +#: ../../docs/about/list_of_features.rst:517 msgid "*Windows:* WASAPI." msgstr "" -#: ../../docs/about/list_of_features.rst:512 +#: ../../docs/about/list_of_features.rst:518 msgid "*macOS:* CoreAudio." msgstr "" -#: ../../docs/about/list_of_features.rst:513 +#: ../../docs/about/list_of_features.rst:519 msgid "*Linux:* PulseAudio or ALSA." msgstr "" -#: ../../docs/about/list_of_features.rst:516 +#: ../../docs/about/list_of_features.rst:522 msgid "Import" msgstr "" -#: ../../docs/about/list_of_features.rst:518 +#: ../../docs/about/list_of_features.rst:524 msgid "Support for :ref:`custom import plugins `." msgstr "" -#: ../../docs/about/list_of_features.rst:520 +#: ../../docs/about/list_of_features.rst:526 msgid "**Formats:**" msgstr "" -#: ../../docs/about/list_of_features.rst:522 +#: ../../docs/about/list_of_features.rst:528 msgid "*Images:* See :ref:`doc_importing_images`." msgstr "" -#: ../../docs/about/list_of_features.rst:523 +#: ../../docs/about/list_of_features.rst:529 msgid "*Audio:*" msgstr "" -#: ../../docs/about/list_of_features.rst:525 +#: ../../docs/about/list_of_features.rst:531 msgid "WAV with optional IMA-ADPCM compression." msgstr "" -#: ../../docs/about/list_of_features.rst:526 +#: ../../docs/about/list_of_features.rst:532 msgid "Ogg Vorbis." msgstr "" -#: ../../docs/about/list_of_features.rst:527 +#: ../../docs/about/list_of_features.rst:533 msgid "MP3." msgstr "" -#: ../../docs/about/list_of_features.rst:529 +#: ../../docs/about/list_of_features.rst:535 msgid "*3D scenes:* See :ref:`doc_importing_3d_scenes`." msgstr "" -#: ../../docs/about/list_of_features.rst:531 +#: ../../docs/about/list_of_features.rst:537 msgid "glTF 2.0 *(recommended)*." msgstr "" -#: ../../docs/about/list_of_features.rst:532 +#: ../../docs/about/list_of_features.rst:538 msgid "``.blend`` (by calling Blender's glTF export functionality transparently)." msgstr "" -#: ../../docs/about/list_of_features.rst:533 +#: ../../docs/about/list_of_features.rst:539 msgid "FBX (by calling `FBX2glTF `__ transparently)." msgstr "" -#: ../../docs/about/list_of_features.rst:534 +#: ../../docs/about/list_of_features.rst:540 msgid "Collada (.dae)." msgstr "" -#: ../../docs/about/list_of_features.rst:535 +#: ../../docs/about/list_of_features.rst:541 msgid "Wavefront OBJ (static scenes only, can be loaded directly as a mesh or imported as a 3D scene)." msgstr "" -#: ../../docs/about/list_of_features.rst:537 +#: ../../docs/about/list_of_features.rst:543 msgid "Support for loading glTF 2.0 scenes at run-time, including from an exported project." msgstr "" -#: ../../docs/about/list_of_features.rst:538 +#: ../../docs/about/list_of_features.rst:544 msgid "3D meshes use `Mikktspace `__ to generate tangents on import, which ensures consistency with other 3D applications such as Blender." msgstr "" -#: ../../docs/about/list_of_features.rst:542 +#: ../../docs/about/list_of_features.rst:548 msgid "Input" msgstr "" -#: ../../docs/about/list_of_features.rst:544 +#: ../../docs/about/list_of_features.rst:550 msgid ":ref:`Input mapping system ` using hardcoded input events or remappable input actions." msgstr "" -#: ../../docs/about/list_of_features.rst:547 +#: ../../docs/about/list_of_features.rst:553 msgid "Axis values can be mapped to two different actions with a configurable deadzone." msgstr "" -#: ../../docs/about/list_of_features.rst:548 +#: ../../docs/about/list_of_features.rst:554 msgid "Use the same code to support both keyboards and gamepads." msgstr "" -#: ../../docs/about/list_of_features.rst:550 +#: ../../docs/about/list_of_features.rst:556 msgid "Keyboard input." msgstr "" -#: ../../docs/about/list_of_features.rst:552 +#: ../../docs/about/list_of_features.rst:558 msgid "Keys can be mapped in \"physical\" mode to be independent of the keyboard layout." msgstr "" -#: ../../docs/about/list_of_features.rst:554 +#: ../../docs/about/list_of_features.rst:560 msgid "Mouse input." msgstr "" -#: ../../docs/about/list_of_features.rst:556 +#: ../../docs/about/list_of_features.rst:562 msgid "The mouse cursor can be visible, hidden, captured or confined within the window." msgstr "" -#: ../../docs/about/list_of_features.rst:557 +#: ../../docs/about/list_of_features.rst:563 msgid "When captured, raw input will be used on Windows and Linux to sidestep the OS' mouse acceleration settings." msgstr "" -#: ../../docs/about/list_of_features.rst:560 +#: ../../docs/about/list_of_features.rst:566 msgid "Gamepad input (up to 8 simultaneous controllers)." msgstr "" -#: ../../docs/about/list_of_features.rst:561 +#: ../../docs/about/list_of_features.rst:567 msgid "Pen/tablet input with pressure support." msgstr "" -#: ../../docs/about/list_of_features.rst:564 +#: ../../docs/about/list_of_features.rst:570 msgid "Navigation" msgstr "" -#: ../../docs/about/list_of_features.rst:566 +#: ../../docs/about/list_of_features.rst:572 msgid "A* algorithm in :ref:`2D ` and :ref:`3D `." msgstr "" -#: ../../docs/about/list_of_features.rst:567 +#: ../../docs/about/list_of_features.rst:573 msgid "Navigation meshes with dynamic obstacle avoidance in :ref:`2D ` and :ref:`3D `." msgstr "" -#: ../../docs/about/list_of_features.rst:569 +#: ../../docs/about/list_of_features.rst:575 msgid "Generate navigation meshes from the editor or at run-time (including from an exported project)." msgstr "" -#: ../../docs/about/list_of_features.rst:572 +#: ../../docs/about/list_of_features.rst:578 msgid "Networking" msgstr "" -#: ../../docs/about/list_of_features.rst:574 +#: ../../docs/about/list_of_features.rst:580 msgid "Low-level TCP networking using :ref:`class_StreamPeer` and :ref:`class_TCPServer`." msgstr "" -#: ../../docs/about/list_of_features.rst:575 +#: ../../docs/about/list_of_features.rst:581 msgid "Low-level UDP networking using :ref:`class_PacketPeer` and :ref:`class_UDPServer`." msgstr "" -#: ../../docs/about/list_of_features.rst:576 +#: ../../docs/about/list_of_features.rst:582 msgid "Low-level HTTP requests using :ref:`class_HTTPClient`." msgstr "" -#: ../../docs/about/list_of_features.rst:577 +#: ../../docs/about/list_of_features.rst:583 msgid "High-level HTTP requests using :ref:`class_HTTPRequest`." msgstr "" -#: ../../docs/about/list_of_features.rst:579 +#: ../../docs/about/list_of_features.rst:585 msgid "Supports HTTPS out of the box using bundled certificates." msgstr "" -#: ../../docs/about/list_of_features.rst:581 +#: ../../docs/about/list_of_features.rst:587 msgid ":ref:`High-level multiplayer ` API using UDP and ENet." msgstr "" -#: ../../docs/about/list_of_features.rst:583 +#: ../../docs/about/list_of_features.rst:589 msgid "Automatic replication using remote procedure calls (RPCs)." msgstr "" -#: ../../docs/about/list_of_features.rst:584 +#: ../../docs/about/list_of_features.rst:590 msgid "Supports unreliable, reliable and ordered transfers." msgstr "" -#: ../../docs/about/list_of_features.rst:586 +#: ../../docs/about/list_of_features.rst:592 msgid ":ref:`WebSocket ` client and server, available on all platforms." msgstr "" -#: ../../docs/about/list_of_features.rst:587 +#: ../../docs/about/list_of_features.rst:593 msgid ":ref:`WebRTC ` client and server, available on all platforms." msgstr "" -#: ../../docs/about/list_of_features.rst:588 +#: ../../docs/about/list_of_features.rst:594 msgid "Support for :ref:`UPnP ` to sidestep the requirement to forward ports when hosting a server behind a NAT." msgstr "" -#: ../../docs/about/list_of_features.rst:592 +#: ../../docs/about/list_of_features.rst:598 msgid "Internationalization" msgstr "" -#: ../../docs/about/list_of_features.rst:594 +#: ../../docs/about/list_of_features.rst:600 msgid "Full support for Unicode including emoji." msgstr "" -#: ../../docs/about/list_of_features.rst:595 +#: ../../docs/about/list_of_features.rst:601 msgid "Store localization strings using :ref:`CSV ` or :ref:`gettext `." msgstr "" -#: ../../docs/about/list_of_features.rst:598 +#: ../../docs/about/list_of_features.rst:604 msgid "Support for generating gettext POT and PO files from the editor." msgstr "" -#: ../../docs/about/list_of_features.rst:600 +#: ../../docs/about/list_of_features.rst:606 msgid "Use localized strings in your project automatically in GUI elements or by using the ``tr()`` function." msgstr "" -#: ../../docs/about/list_of_features.rst:602 +#: ../../docs/about/list_of_features.rst:608 msgid "Support for pluralization and translation contexts when using gettext translations." msgstr "" -#: ../../docs/about/list_of_features.rst:603 +#: ../../docs/about/list_of_features.rst:609 msgid "Support for :ref:`bidirectional typesetting `, text shaping and OpenType localized forms." msgstr "" -#: ../../docs/about/list_of_features.rst:605 +#: ../../docs/about/list_of_features.rst:611 msgid "Automatic UI mirroring for right-to-left locales." msgstr "" -#: ../../docs/about/list_of_features.rst:606 +#: ../../docs/about/list_of_features.rst:612 msgid "Support for pseudolocalization to test your project for i18n-friendliness." msgstr "" -#: ../../docs/about/list_of_features.rst:609 +#: ../../docs/about/list_of_features.rst:615 msgid "Windowing and OS integration" msgstr "" -#: ../../docs/about/list_of_features.rst:611 +#: ../../docs/about/list_of_features.rst:617 msgid "Spawn multiple independent windows within a single process." msgstr "" -#: ../../docs/about/list_of_features.rst:612 +#: ../../docs/about/list_of_features.rst:618 msgid "Move, resize, minimize, and maximize windows spawned by the project." msgstr "" -#: ../../docs/about/list_of_features.rst:613 +#: ../../docs/about/list_of_features.rst:619 msgid "Change the window title and icon." msgstr "" -#: ../../docs/about/list_of_features.rst:614 +#: ../../docs/about/list_of_features.rst:620 msgid "Request attention (will cause the title bar to blink on most platforms)." msgstr "" -#: ../../docs/about/list_of_features.rst:615 +#: ../../docs/about/list_of_features.rst:621 msgid "Fullscreen mode." msgstr "" -#: ../../docs/about/list_of_features.rst:617 +#: ../../docs/about/list_of_features.rst:623 msgid "Uses borderless fullscreen by default on Windows for fast alt-tabbing, but can optionally use exclusive fullscreen to reduce input lag." msgstr "" -#: ../../docs/about/list_of_features.rst:620 +#: ../../docs/about/list_of_features.rst:626 msgid "Borderless windows (fullscreen or non-fullscreen)." msgstr "" -#: ../../docs/about/list_of_features.rst:621 +#: ../../docs/about/list_of_features.rst:627 msgid "Ability to keep a window always on top." msgstr "" -#: ../../docs/about/list_of_features.rst:622 +#: ../../docs/about/list_of_features.rst:628 msgid "Global menu integration on macOS." msgstr "" -#: ../../docs/about/list_of_features.rst:623 +#: ../../docs/about/list_of_features.rst:629 msgid "Execute commands in a blocking or non-blocking manner (including running multiple instances of the same project)." msgstr "" -#: ../../docs/about/list_of_features.rst:625 +#: ../../docs/about/list_of_features.rst:631 msgid "Open file paths and URLs using default or custom protocol handlers (if registered on the system)." msgstr "" -#: ../../docs/about/list_of_features.rst:626 +#: ../../docs/about/list_of_features.rst:632 msgid "Parse custom command line arguments." msgstr "" -#: ../../docs/about/list_of_features.rst:627 +#: ../../docs/about/list_of_features.rst:633 msgid "Any Godot binary (editor or exported project) can be :ref:`used as a headless server ` by starting it with the ``--headless`` command line argument. This allows running the engine without a GPU or display server." msgstr "" -#: ../../docs/about/list_of_features.rst:633 +#: ../../docs/about/list_of_features.rst:639 msgid "Mobile" msgstr "" -#: ../../docs/about/list_of_features.rst:635 +#: ../../docs/about/list_of_features.rst:641 msgid "In-app purchases on :ref:`Android ` and :ref:`iOS `." msgstr "" -#: ../../docs/about/list_of_features.rst:637 +#: ../../docs/about/list_of_features.rst:643 msgid "Support for advertisements using third-party modules." msgstr "" -#: ../../docs/about/list_of_features.rst:640 +#: ../../docs/about/list_of_features.rst:646 msgid "XR support (AR and VR)" msgstr "" -#: ../../docs/about/list_of_features.rst:642 +#: ../../docs/about/list_of_features.rst:648 msgid "Out of the box :ref:`support for OpenXR `." msgstr "" -#: ../../docs/about/list_of_features.rst:644 +#: ../../docs/about/list_of_features.rst:650 msgid "Including support for popular desktop headsets like the Valve Index, WMR headsets, and Quest over Link." msgstr "" -#: ../../docs/about/list_of_features.rst:646 +#: ../../docs/about/list_of_features.rst:652 msgid "Support for :ref:`Android based headsets ` using OpenXR through a plugin." msgstr "" -#: ../../docs/about/list_of_features.rst:648 +#: ../../docs/about/list_of_features.rst:654 msgid "Including support for popular stand alone headsets like the Meta Quest 1/2/3 and Pro, Pico 4, Magic Leap 2, and Lynx R1." msgstr "" -#: ../../docs/about/list_of_features.rst:650 +#: ../../docs/about/list_of_features.rst:656 msgid "Other devices supported through an XR plugin structure." msgstr "" -#: ../../docs/about/list_of_features.rst:651 +#: ../../docs/about/list_of_features.rst:657 msgid "Various advanced toolkits are available that implement common features required by XR applications." msgstr "" -#: ../../docs/about/list_of_features.rst:654 +#: ../../docs/about/list_of_features.rst:660 msgid "GUI system" msgstr "" -#: ../../docs/about/list_of_features.rst:656 +#: ../../docs/about/list_of_features.rst:662 msgid "Godot's GUI is built using the same Control nodes used to make games in Godot. The editor UI can easily be extended in many ways using add-ons." msgstr "" -#: ../../docs/about/list_of_features.rst:659 +#: ../../docs/about/list_of_features.rst:665 msgid "**Nodes:**" msgstr "" -#: ../../docs/about/list_of_features.rst:661 +#: ../../docs/about/list_of_features.rst:667 msgid "Buttons." msgstr "" -#: ../../docs/about/list_of_features.rst:662 +#: ../../docs/about/list_of_features.rst:668 msgid "Checkboxes, check buttons, radio buttons." msgstr "" -#: ../../docs/about/list_of_features.rst:663 +#: ../../docs/about/list_of_features.rst:669 msgid "Text entry using :ref:`class_LineEdit` (single line) and :ref:`class_TextEdit` (multiple lines). TextEdit also supports code editing features such as displaying line numbers and syntax highlighting." msgstr "" -#: ../../docs/about/list_of_features.rst:666 +#: ../../docs/about/list_of_features.rst:672 msgid "Dropdown menus using :ref:`class_PopupMenu` and :ref:`class_OptionButton`." msgstr "" -#: ../../docs/about/list_of_features.rst:667 +#: ../../docs/about/list_of_features.rst:673 msgid "Scrollbars." msgstr "" -#: ../../docs/about/list_of_features.rst:668 +#: ../../docs/about/list_of_features.rst:674 msgid "Labels." msgstr "" -#: ../../docs/about/list_of_features.rst:669 +#: ../../docs/about/list_of_features.rst:675 msgid "RichTextLabel for :ref:`text formatted using BBCode `, with support for animated custom effects." msgstr "" -#: ../../docs/about/list_of_features.rst:671 +#: ../../docs/about/list_of_features.rst:677 msgid "Trees (can also be used to represent tables)." msgstr "" -#: ../../docs/about/list_of_features.rst:672 +#: ../../docs/about/list_of_features.rst:678 msgid "Color picker with RGB and HSV modes." msgstr "" -#: ../../docs/about/list_of_features.rst:673 +#: ../../docs/about/list_of_features.rst:679 msgid "Controls can be rotated and scaled." msgstr "" -#: ../../docs/about/list_of_features.rst:675 +#: ../../docs/about/list_of_features.rst:681 msgid "**Sizing:**" msgstr "" -#: ../../docs/about/list_of_features.rst:677 +#: ../../docs/about/list_of_features.rst:683 msgid "Anchors to keep GUI elements in a specific corner, edge or centered." msgstr "" -#: ../../docs/about/list_of_features.rst:678 +#: ../../docs/about/list_of_features.rst:684 msgid "Containers to place GUI elements automatically following certain rules." msgstr "" -#: ../../docs/about/list_of_features.rst:680 +#: ../../docs/about/list_of_features.rst:686 msgid ":ref:`Stack ` layouts." msgstr "" -#: ../../docs/about/list_of_features.rst:681 +#: ../../docs/about/list_of_features.rst:687 msgid ":ref:`Grid ` layouts." msgstr "" -#: ../../docs/about/list_of_features.rst:682 +#: ../../docs/about/list_of_features.rst:688 msgid ":ref:`Flow ` layouts (similar to autowrapping text)." msgstr "" -#: ../../docs/about/list_of_features.rst:683 +#: ../../docs/about/list_of_features.rst:689 msgid ":ref:`Margin `, :ref:`centered ` and :ref:`aspect ratio ` layouts." msgstr "" -#: ../../docs/about/list_of_features.rst:685 +#: ../../docs/about/list_of_features.rst:691 msgid ":ref:`Draggable splitter ` layouts." msgstr "" -#: ../../docs/about/list_of_features.rst:687 +#: ../../docs/about/list_of_features.rst:693 msgid "Scale to :ref:`multiple resolutions ` using the ``canvas_items`` or ``viewport`` stretch modes." msgstr "" -#: ../../docs/about/list_of_features.rst:689 +#: ../../docs/about/list_of_features.rst:695 msgid "Support any aspect ratio using anchors and the ``expand`` stretch aspect." msgstr "" -#: ../../docs/about/list_of_features.rst:691 +#: ../../docs/about/list_of_features.rst:697 msgid "**Theming:**" msgstr "" -#: ../../docs/about/list_of_features.rst:693 +#: ../../docs/about/list_of_features.rst:699 msgid "Built-in theme editor." msgstr "" -#: ../../docs/about/list_of_features.rst:695 +#: ../../docs/about/list_of_features.rst:701 msgid "Generate a theme based on the current editor theme settings." msgstr "" -#: ../../docs/about/list_of_features.rst:697 +#: ../../docs/about/list_of_features.rst:703 msgid "Procedural vector-based theming using :ref:`class_StyleBoxFlat`." msgstr "" -#: ../../docs/about/list_of_features.rst:699 +#: ../../docs/about/list_of_features.rst:705 msgid "Supports rounded/beveled corners, drop shadows, per-border widths and antialiasing." msgstr "" -#: ../../docs/about/list_of_features.rst:701 +#: ../../docs/about/list_of_features.rst:707 msgid "Texture-based theming using :ref:`class_StyleBoxTexture`." msgstr "" -#: ../../docs/about/list_of_features.rst:703 +#: ../../docs/about/list_of_features.rst:709 msgid "Godot's small distribution size can make it a suitable alternative to frameworks like Electron or Qt." msgstr "" -#: ../../docs/about/list_of_features.rst:707 +#: ../../docs/about/list_of_features.rst:713 msgid "Animation" msgstr "" -#: ../../docs/about/list_of_features.rst:709 +#: ../../docs/about/list_of_features.rst:715 msgid "Direct kinematics and inverse kinematics." msgstr "" -#: ../../docs/about/list_of_features.rst:710 +#: ../../docs/about/list_of_features.rst:716 msgid "Support for animating any property with customizable interpolation." msgstr "" -#: ../../docs/about/list_of_features.rst:711 +#: ../../docs/about/list_of_features.rst:717 msgid "Support for calling methods in animation tracks." msgstr "" -#: ../../docs/about/list_of_features.rst:712 +#: ../../docs/about/list_of_features.rst:718 msgid "Support for playing sounds in animation tracks." msgstr "" -#: ../../docs/about/list_of_features.rst:713 +#: ../../docs/about/list_of_features.rst:719 msgid "Support for Bézier curves in animation." msgstr "" -#: ../../docs/about/list_of_features.rst:716 +#: ../../docs/about/list_of_features.rst:722 msgid "File formats" msgstr "" -#: ../../docs/about/list_of_features.rst:718 +#: ../../docs/about/list_of_features.rst:724 msgid "Scenes and resources can be saved in :ref:`text-based ` or binary formats." msgstr "" -#: ../../docs/about/list_of_features.rst:720 +#: ../../docs/about/list_of_features.rst:726 msgid "Text-based formats are human-readable and more friendly to version control." msgstr "" -#: ../../docs/about/list_of_features.rst:721 +#: ../../docs/about/list_of_features.rst:727 msgid "Binary formats are faster to save/load for large scenes/resources." msgstr "" -#: ../../docs/about/list_of_features.rst:723 +#: ../../docs/about/list_of_features.rst:729 msgid "Read and write text or binary files using :ref:`class_FileAccess`." msgstr "" -#: ../../docs/about/list_of_features.rst:725 +#: ../../docs/about/list_of_features.rst:731 msgid "Can optionally be compressed or encrypted." msgstr "" -#: ../../docs/about/list_of_features.rst:727 +#: ../../docs/about/list_of_features.rst:733 msgid "Read and write :ref:`class_JSON` files." msgstr "" -#: ../../docs/about/list_of_features.rst:728 +#: ../../docs/about/list_of_features.rst:734 msgid "Read and write INI-style configuration files using :ref:`class_ConfigFile`." msgstr "" -#: ../../docs/about/list_of_features.rst:730 +#: ../../docs/about/list_of_features.rst:736 msgid "Can (de)serialize any Godot datatype, including Vector2/3, Color, ..." msgstr "" -#: ../../docs/about/list_of_features.rst:732 +#: ../../docs/about/list_of_features.rst:738 msgid "Read XML files using :ref:`class_XMLParser`." msgstr "" -#: ../../docs/about/list_of_features.rst:733 +#: ../../docs/about/list_of_features.rst:739 msgid ":ref:`Load and save images, audio/video, fonts and ZIP archives ` in an exported project without having to go through Godot's import system." msgstr "" -#: ../../docs/about/list_of_features.rst:735 +#: ../../docs/about/list_of_features.rst:741 msgid "Pack game data into a PCK file (custom format optimized for fast seeking), into a ZIP archive, or directly into the executable for single-file distribution." msgstr "" -#: ../../docs/about/list_of_features.rst:737 +#: ../../docs/about/list_of_features.rst:743 msgid ":ref:`Export additional PCK files` that can be read by the engine to support mods and DLCs." msgstr "" -#: ../../docs/about/list_of_features.rst:741 +#: ../../docs/about/list_of_features.rst:747 msgid "Miscellaneous" msgstr "" -#: ../../docs/about/list_of_features.rst:743 +#: ../../docs/about/list_of_features.rst:749 msgid ":ref:`Video playback ` with built-in support for Ogg Theora." msgstr "" -#: ../../docs/about/list_of_features.rst:744 +#: ../../docs/about/list_of_features.rst:750 msgid ":ref:`Movie Maker mode ` to record videos from a running project with synchronized audio and perfect frame pacing." msgstr "" -#: ../../docs/about/list_of_features.rst:746 +#: ../../docs/about/list_of_features.rst:752 msgid ":ref:`Low-level access to servers ` which allows bypassing the scene tree's overhead when needed." msgstr "" -#: ../../docs/about/list_of_features.rst:748 +#: ../../docs/about/list_of_features.rst:754 msgid ":ref:`Command line interface ` for automation." msgstr "" -#: ../../docs/about/list_of_features.rst:750 +#: ../../docs/about/list_of_features.rst:756 msgid "Export and deploy projects using continuous integration platforms." msgstr "" -#: ../../docs/about/list_of_features.rst:751 +#: ../../docs/about/list_of_features.rst:757 msgid "`Shell completion scripts `__ are available for Bash, zsh and fish." msgstr "" -#: ../../docs/about/list_of_features.rst:753 +#: ../../docs/about/list_of_features.rst:759 msgid "Print colored text to standard output on all platforms using :ref:`print_rich `." msgstr "" -#: ../../docs/about/list_of_features.rst:756 +#: ../../docs/about/list_of_features.rst:762 msgid "Support for :ref:`C++ modules ` statically linked into the engine binary." msgstr "" -#: ../../docs/about/list_of_features.rst:758 +#: ../../docs/about/list_of_features.rst:764 msgid "Engine and editor written in C++17." msgstr "" -#: ../../docs/about/list_of_features.rst:760 +#: ../../docs/about/list_of_features.rst:766 msgid "Can be :ref:`compiled ` using GCC, Clang and MSVC. MinGW is also supported." msgstr "" -#: ../../docs/about/list_of_features.rst:762 +#: ../../docs/about/list_of_features.rst:768 msgid "Friendly towards packagers. In most cases, system libraries can be used instead of the ones provided by Godot. The build system doesn't download anything. Builds can be fully reproducible." msgstr "" -#: ../../docs/about/list_of_features.rst:766 +#: ../../docs/about/list_of_features.rst:772 msgid "Licensed under the permissive MIT license." msgstr "" -#: ../../docs/about/list_of_features.rst:768 +#: ../../docs/about/list_of_features.rst:774 msgid "Open development process with :ref:`contributions welcome `." msgstr "" -#: ../../docs/about/list_of_features.rst:772 +#: ../../docs/about/list_of_features.rst:778 msgid "The `Godot proposals repository `__ lists features that have been requested by the community and may be implemented in future Godot releases." msgstr "" diff --git a/sphinx/templates/about/release_policy.pot b/sphinx/templates/about/release_policy.pot index 12060632ed..620807185e 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -97,11 +97,11 @@ msgid "**Support level**" msgstr "" #: ../../docs/about/release_policy.rst:83 -msgid "Godot 4.2 (`master`)" +msgid "Godot 4.3 (`master`)" msgstr "" #: ../../docs/about/release_policy.rst:83 -msgid "November 2023 (estimate)" +msgid "April 2024 (estimate)" msgstr "" #: ../../docs/about/release_policy.rst:83 @@ -115,16 +115,16 @@ msgid "unstable" msgstr "" #: ../../docs/about/release_policy.rst:86 -msgid "Godot 4.1" +msgid "Godot 4.2" msgstr "" #: ../../docs/about/release_policy.rst:86 -msgid "July 2023" +msgid "November 2023" msgstr "" #: ../../docs/about/release_policy.rst:86 #: ../../docs/about/release_policy.rst:89 -#: ../../docs/about/release_policy.rst:95 +#: ../../docs/about/release_policy.rst:97 msgid "|supported| Receives fixes for bugs and security issues, as well as patches that enable platform support." msgstr "" @@ -138,43 +138,23 @@ msgid "supported" msgstr "" #: ../../docs/about/release_policy.rst:89 -msgid "Godot 4.0" +msgid "Godot 4.1" msgstr "" #: ../../docs/about/release_policy.rst:89 +msgid "July 2023" +msgstr "" + +#: ../../docs/about/release_policy.rst:92 +msgid "Godot 4.0" +msgstr "" + +#: ../../docs/about/release_policy.rst:92 msgid "March 2023" msgstr "" #: ../../docs/about/release_policy.rst:92 -msgid "Godot 3.6 (`3.x`, LTS)" -msgstr "" - -#: ../../docs/about/release_policy.rst:92 -msgid "Q3 2023 (estimate)" -msgstr "" - -#: ../../docs/about/release_policy.rst:92 -msgid "|supported| *Beta.* Receives new features, usability and performance improvements, as well as bug fixes, while under development." -msgstr "" - -#: ../../docs/about/release_policy.rst:95 -msgid "Godot 3.5" -msgstr "" - -#: ../../docs/about/release_policy.rst:95 -msgid "August 2022" -msgstr "" - -#: ../../docs/about/release_policy.rst:98 -msgid "Godot 3.4" -msgstr "" - -#: ../../docs/about/release_policy.rst:98 -msgid "November 2021" -msgstr "" - -#: ../../docs/about/release_policy.rst:98 -msgid "|eol| No longer supported, as fully superseded by the compatible 3.5 release (last update: 3.4.5)." +msgid "|eol| No longer supported (last update: 4.0.4)." msgstr "" #: ../../docs/about/release_policy.rst:121 @@ -188,19 +168,52 @@ msgstr "" #: ../../docs/about/release_policy.rst:121 #: ../../docs/about/release_policy.rst:121 #: ../../docs/about/release_policy.rst:121 +#: ../../docs/about/release_policy.rst:121 msgid "eol" msgstr "" -#: ../../docs/about/release_policy.rst:101 +#: ../../docs/about/release_policy.rst:94 +msgid "Godot 3.6 (`3.x`, LTS)" +msgstr "" + +#: ../../docs/about/release_policy.rst:94 +msgid "Q1 2024 (estimate)" +msgstr "" + +#: ../../docs/about/release_policy.rst:94 +msgid "|supported| *Beta.* Receives new features, usability and performance improvements, as well as bug fixes, while under development." +msgstr "" + +#: ../../docs/about/release_policy.rst:97 +msgid "Godot 3.5" +msgstr "" + +#: ../../docs/about/release_policy.rst:97 +msgid "August 2022" +msgstr "" + +#: ../../docs/about/release_policy.rst:100 +msgid "Godot 3.4" +msgstr "" + +#: ../../docs/about/release_policy.rst:100 +msgid "November 2021" +msgstr "" + +#: ../../docs/about/release_policy.rst:100 +msgid "|eol| No longer supported (last update: 3.4.5)." +msgstr "" + +#: ../../docs/about/release_policy.rst:102 msgid "Godot 3.3" msgstr "" -#: ../../docs/about/release_policy.rst:101 +#: ../../docs/about/release_policy.rst:102 msgid "April 2021" msgstr "" -#: ../../docs/about/release_policy.rst:101 -msgid "|eol| No longer supported, as fully superseded by the compatible 3.4 release (last update: 3.3.4)." +#: ../../docs/about/release_policy.rst:102 +msgid "|eol| No longer supported (last update: 3.3.4)." msgstr "" #: ../../docs/about/release_policy.rst:104 diff --git a/sphinx/templates/about/system_requirements.pot b/sphinx/templates/about/system_requirements.pot new file mode 100644 index 0000000000..591030ff2f --- /dev/null +++ b/sphinx/templates/about/system_requirements.pot @@ -0,0 +1,495 @@ +# 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 4.2\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-02-27 19:04+0100\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/about/system_requirements.rst:4 +msgid "System requirements" +msgstr "" + +#: ../../docs/about/system_requirements.rst:6 +msgid "This page contains system requirements for the editor and exported projects. These specifications are given for informative purposes only, but they can be referred to if you're looking to build or upgrade a system to use Godot on." +msgstr "" + +#: ../../docs/about/system_requirements.rst:11 +msgid "Godot editor" +msgstr "" + +#: ../../docs/about/system_requirements.rst:13 +msgid "These are the **minimum** specifications required to run the Godot editor and work on a simple 2D or 3D project:" +msgstr "" + +#: ../../docs/about/system_requirements.rst:17 +#: ../../docs/about/system_requirements.rst:202 +msgid "Desktop or laptop PC - Minimum" +msgstr "" + +#: ../../docs/about/system_requirements.rst:24 +#: ../../docs/about/system_requirements.rst:76 +#: ../../docs/about/system_requirements.rst:114 +#: ../../docs/about/system_requirements.rst:152 +#: ../../docs/about/system_requirements.rst:209 +#: ../../docs/about/system_requirements.rst:259 +#: ../../docs/about/system_requirements.rst:297 +#: ../../docs/about/system_requirements.rst:335 +msgid "**CPU**" +msgstr "" + +#: ../../docs/about/system_requirements.rst:24 +#: ../../docs/about/system_requirements.rst:209 +msgid "**Windows:** x86_32 CPU with SSE2 instructions, or any x86_64 CPU" +msgstr "" + +#: ../../docs/about/system_requirements.rst:26 +#: ../../docs/about/system_requirements.rst:211 +msgid "*Example: Intel Core 2 Duo E8200, AMD Athlon XE BE-2300*" +msgstr "" + +#: ../../docs/about/system_requirements.rst:28 +#: ../../docs/about/system_requirements.rst:118 +#: ../../docs/about/system_requirements.rst:213 +#: ../../docs/about/system_requirements.rst:301 +msgid "**macOS:** x86_64 or ARM CPU (Apple Silicon)" +msgstr "" + +#: ../../docs/about/system_requirements.rst:30 +#: ../../docs/about/system_requirements.rst:215 +msgid "*Example: Intel Core 2 Duo SU9400, Apple M1*" +msgstr "" + +#: ../../docs/about/system_requirements.rst:32 +#: ../../docs/about/system_requirements.rst:122 +#: ../../docs/about/system_requirements.rst:217 +#: ../../docs/about/system_requirements.rst:305 +msgid "**Linux:** x86_32 CPU with SSE2 instructions, x86_64 CPU, ARMv7 or ARMv8 CPU" +msgstr "" + +#: ../../docs/about/system_requirements.rst:34 +#: ../../docs/about/system_requirements.rst:219 +msgid "*Example: Intel Core 2 Duo E8200, AMD Athlon XE BE-2300, Raspberry Pi 4*" +msgstr "" + +#: ../../docs/about/system_requirements.rst:36 +#: ../../docs/about/system_requirements.rst:82 +#: ../../docs/about/system_requirements.rst:126 +#: ../../docs/about/system_requirements.rst:158 +#: ../../docs/about/system_requirements.rst:221 +#: ../../docs/about/system_requirements.rst:267 +#: ../../docs/about/system_requirements.rst:309 +#: ../../docs/about/system_requirements.rst:343 +msgid "**GPU**" +msgstr "" + +#: ../../docs/about/system_requirements.rst:36 +#: ../../docs/about/system_requirements.rst:221 +msgid "**Forward+ rendering method:** Integrated graphics with full Vulkan 1.0 support" +msgstr "" + +#: ../../docs/about/system_requirements.rst:38 +#: ../../docs/about/system_requirements.rst:42 +#: ../../docs/about/system_requirements.rst:223 +#: ../../docs/about/system_requirements.rst:227 +msgid "*Example: Intel HD Graphics 5500 (Broadwell), AMD Radeon R5 Graphics (Kaveri)*" +msgstr "" + +#: ../../docs/about/system_requirements.rst:40 +#: ../../docs/about/system_requirements.rst:225 +msgid "**Mobile rendering method:** Integrated graphics with full Vulkan 1.0 support" +msgstr "" + +#: ../../docs/about/system_requirements.rst:44 +#: ../../docs/about/system_requirements.rst:229 +msgid "**Compatibility rendering method:** Integrated graphics with full OpenGL 3.3 support" +msgstr "" + +#: ../../docs/about/system_requirements.rst:46 +#: ../../docs/about/system_requirements.rst:231 +msgid "*Example: Intel HD Graphics 2500 (Ivy Bridge), AMD Radeon R5 Graphics (Kaveri)*" +msgstr "" + +#: ../../docs/about/system_requirements.rst:48 +#: ../../docs/about/system_requirements.rst:94 +#: ../../docs/about/system_requirements.rst:138 +#: ../../docs/about/system_requirements.rst:170 +#: ../../docs/about/system_requirements.rst:233 +#: ../../docs/about/system_requirements.rst:279 +#: ../../docs/about/system_requirements.rst:321 +#: ../../docs/about/system_requirements.rst:355 +msgid "**RAM**" +msgstr "" + +#: ../../docs/about/system_requirements.rst:48 +msgid "**Native editor:** 4 GB" +msgstr "" + +#: ../../docs/about/system_requirements.rst:49 +#: ../../docs/about/system_requirements.rst:171 +msgid "**Web editor:** 8 GB" +msgstr "" + +#: ../../docs/about/system_requirements.rst:51 +#: ../../docs/about/system_requirements.rst:97 +#: ../../docs/about/system_requirements.rst:141 +#: ../../docs/about/system_requirements.rst:173 +#: ../../docs/about/system_requirements.rst:236 +#: ../../docs/about/system_requirements.rst:282 +#: ../../docs/about/system_requirements.rst:324 +#: ../../docs/about/system_requirements.rst:358 +msgid "**Storage**" +msgstr "" + +#: ../../docs/about/system_requirements.rst:51 +#: ../../docs/about/system_requirements.rst:97 +msgid "200 MB (used for the executable, project files and cache). Exporting projects requires downloading export templates separately (1.3 GB after installation)." +msgstr "" + +#: ../../docs/about/system_requirements.rst:55 +#: ../../docs/about/system_requirements.rst:101 +#: ../../docs/about/system_requirements.rst:143 +#: ../../docs/about/system_requirements.rst:175 +#: ../../docs/about/system_requirements.rst:238 +#: ../../docs/about/system_requirements.rst:284 +#: ../../docs/about/system_requirements.rst:326 +#: ../../docs/about/system_requirements.rst:360 +msgid "**Operating system**" +msgstr "" + +#: ../../docs/about/system_requirements.rst:55 +msgid "**Native editor:** Windows 7, macOS 10.13 (Compatibility) or macOS 10.15 (Forward+/Mobile), Linux distribution released after 2016" +msgstr "" + +#: ../../docs/about/system_requirements.rst:57 +msgid "**Web editor:** Firefox 79, Chrome 68, Edge 79, Safari 15.2, Opera 64" +msgstr "" + +#: ../../docs/about/system_requirements.rst:62 +#: ../../docs/about/system_requirements.rst:245 +msgid "Windows 7/8/8.1 are supported on a best-effort basis. These versions are not regularly tested and some features may be missing (such as colored :ref:`print_rich ` console output). Support for Windows 7/8/8.1 may be removed in a :ref:`future Godot 4.x release `." +msgstr "" + +#: ../../docs/about/system_requirements.rst:68 +#: ../../docs/about/system_requirements.rst:251 +msgid "Vulkan drivers for these Windows versions are known to have issues with memory leaks. As a result, it's recommended to stick to the Compatibility rendering method when running Godot on an Windows version older than 10." +msgstr "" + +#: ../../docs/about/system_requirements.rst:73 +#: ../../docs/about/system_requirements.rst:256 +msgid "Mobile device (smartphone/tablet) - Minimum" +msgstr "" + +#: ../../docs/about/system_requirements.rst:76 +#: ../../docs/about/system_requirements.rst:259 +msgid "**Android:** SoC with any 32-bit or 64-bit ARM or x86 CPU" +msgstr "" + +#: ../../docs/about/system_requirements.rst:78 +#: ../../docs/about/system_requirements.rst:261 +msgid "*Example: Qualcomm Snapdragon 430, Samsung Exynos 5 Octa 5430*" +msgstr "" + +#: ../../docs/about/system_requirements.rst:80 +#: ../../docs/about/system_requirements.rst:156 +msgid "**iOS:** *Cannot run the editor*" +msgstr "" + +#: ../../docs/about/system_requirements.rst:82 +#: ../../docs/about/system_requirements.rst:267 +msgid "**Forward+ rendering method:** SoC featuring GPU with full Vulkan 1.0 support" +msgstr "" + +#: ../../docs/about/system_requirements.rst:84 +#: ../../docs/about/system_requirements.rst:88 +msgid "*Example: Qualcomm Adreno 505, Mali-G71 MP2*" +msgstr "" + +#: ../../docs/about/system_requirements.rst:86 +#: ../../docs/about/system_requirements.rst:271 +msgid "**Mobile rendering method:** SoC featuring GPU with full Vulkan 1.0 support" +msgstr "" + +#: ../../docs/about/system_requirements.rst:90 +#: ../../docs/about/system_requirements.rst:275 +msgid "**Compatibility rendering method:** SoC featuring GPU with full OpenGL ES 3.0 support" +msgstr "" + +#: ../../docs/about/system_requirements.rst:92 +msgid "*Example: Qualcomm Adreno 306, Mali-T628 MP6*" +msgstr "" + +#: ../../docs/about/system_requirements.rst:94 +msgid "**Native editor:** 3 GB" +msgstr "" + +#: ../../docs/about/system_requirements.rst:95 +msgid "**Web editor:** 6 GB" +msgstr "" + +#: ../../docs/about/system_requirements.rst:101 +msgid "**Native editor:** Android 6.0 (Compatibility) or Android 9.0 (Forward+/Mobile), iOS 11.0" +msgstr "" + +#: ../../docs/about/system_requirements.rst:103 +msgid "**Web editor:** Firefox 79, Chrome 88, Edge 79, Safari 15.2, Opera 64, Samsung Internet 15" +msgstr "" + +#: ../../docs/about/system_requirements.rst:107 +msgid "These are the **recommended** specifications to get a smooth experience with the Godot editor on a simple 2D or 3D project:" +msgstr "" + +#: ../../docs/about/system_requirements.rst:111 +#: ../../docs/about/system_requirements.rst:294 +msgid "Desktop or laptop PC - Recommended" +msgstr "" + +#: ../../docs/about/system_requirements.rst:114 +#: ../../docs/about/system_requirements.rst:297 +msgid "**Windows:** x86_64 CPU with SSE4.2 instructions, with 4 physical cores or more" +msgstr "" + +#: ../../docs/about/system_requirements.rst:116 +#: ../../docs/about/system_requirements.rst:299 +msgid "*Example: Intel Core i5-6600K, AMD Ryzen 5 1600*" +msgstr "" + +#: ../../docs/about/system_requirements.rst:120 +#: ../../docs/about/system_requirements.rst:303 +msgid "*Example: Intel Core i5-8500, Apple M1*" +msgstr "" + +#: ../../docs/about/system_requirements.rst:124 +#: ../../docs/about/system_requirements.rst:307 +msgid "*Example: Intel Core i5-6600K, AMD Ryzen 5 1600, Raspberry Pi 5 with overclocking*" +msgstr "" + +#: ../../docs/about/system_requirements.rst:126 +#: ../../docs/about/system_requirements.rst:309 +msgid "**Forward+ rendering method:** Dedicated graphics with full Vulkan 1.2 support" +msgstr "" + +#: ../../docs/about/system_requirements.rst:128 +#: ../../docs/about/system_requirements.rst:132 +#: ../../docs/about/system_requirements.rst:311 +#: ../../docs/about/system_requirements.rst:315 +msgid "*Example: NVIDIA GeForce GTX 1050 (Pascal), AMD Radeon RX 460 (GCN 4.0)*" +msgstr "" + +#: ../../docs/about/system_requirements.rst:130 +#: ../../docs/about/system_requirements.rst:313 +msgid "**Mobile rendering method:** Dedicated graphics with full Vulkan 1.2 support" +msgstr "" + +#: ../../docs/about/system_requirements.rst:134 +#: ../../docs/about/system_requirements.rst:317 +msgid "**Compatibility rendering method:** Dedicated graphics with full OpenGL 4.6 support" +msgstr "" + +#: ../../docs/about/system_requirements.rst:136 +#: ../../docs/about/system_requirements.rst:319 +msgid "*Example: NVIDIA GeForce GTX 650 (Kepler), AMD Radeon HD 7750 (GCN 1.0)*" +msgstr "" + +#: ../../docs/about/system_requirements.rst:138 +msgid "**Native editor:** 8 GB" +msgstr "" + +#: ../../docs/about/system_requirements.rst:139 +msgid "**Web editor:** 12 GB" +msgstr "" + +#: ../../docs/about/system_requirements.rst:141 +#: ../../docs/about/system_requirements.rst:173 +msgid "1.5 GB (used for the executable, project files, all export templates and cache)" +msgstr "" + +#: ../../docs/about/system_requirements.rst:143 +msgid "**Native editor:** Windows 10, macOS 10.15, Linux distribution released after 2020" +msgstr "" + +#: ../../docs/about/system_requirements.rst:145 +msgid "**Web editor:** Latest version of Firefox, Chrome, Edge, Safari, Opera" +msgstr "" + +#: ../../docs/about/system_requirements.rst:149 +#: ../../docs/about/system_requirements.rst:332 +msgid "Mobile device (smartphone/tablet) - Recommended" +msgstr "" + +#: ../../docs/about/system_requirements.rst:152 +#: ../../docs/about/system_requirements.rst:335 +msgid "**Android:** SoC with 64-bit ARM or x86 CPU, with 3 \"performance\" cores or more" +msgstr "" + +#: ../../docs/about/system_requirements.rst:154 +#: ../../docs/about/system_requirements.rst:337 +msgid "*Example: Qualcomm Snapdragon 845, Samsung Exynos 9810*" +msgstr "" + +#: ../../docs/about/system_requirements.rst:158 +#: ../../docs/about/system_requirements.rst:343 +msgid "**Forward+ rendering method:** SoC featuring GPU with full Vulkan 1.2 support" +msgstr "" + +#: ../../docs/about/system_requirements.rst:160 +#: ../../docs/about/system_requirements.rst:164 +#: ../../docs/about/system_requirements.rst:168 +msgid "*Example: Qualcomm Adreno 630, Mali-G72 MP18*" +msgstr "" + +#: ../../docs/about/system_requirements.rst:162 +#: ../../docs/about/system_requirements.rst:347 +msgid "**Mobile rendering method:** SoC featuring GPU with full Vulkan 1.2 support" +msgstr "" + +#: ../../docs/about/system_requirements.rst:166 +#: ../../docs/about/system_requirements.rst:351 +msgid "**Compatibility rendering method:** SoC featuring GPU with full OpenGL ES 3.2 support" +msgstr "" + +#: ../../docs/about/system_requirements.rst:170 +msgid "**Native editor:** 6 GB" +msgstr "" + +#: ../../docs/about/system_requirements.rst:175 +msgid "**Native editor:** Android 9.0 or iOS 11.0" +msgstr "" + +#: ../../docs/about/system_requirements.rst:176 +msgid "**Web editor:** Latest version of Firefox, Chrome, Edge, Safari, Opera, Samsung Internet" +msgstr "" + +#: ../../docs/about/system_requirements.rst:181 +msgid "Exported Godot project" +msgstr "" + +#: ../../docs/about/system_requirements.rst:185 +msgid "The requirements below are a baseline for a **simple** 2D or 3D project, with basic scripting and few visual flourishes. CPU, GPU, RAM and storage requirements will heavily vary depending on your project's scope, its rendering method, viewport resolution and graphics settings chosen. Other programs running on the system while the project is running will also compete for resources, including RAM and video RAM." +msgstr "" + +#: ../../docs/about/system_requirements.rst:192 +msgid "It is strongly recommended to do your own testing on low-end hardware to make sure your project runs at the desired speed. To provide scalability for low-end hardware, you will also need to introduce a `graphics options menu `__ to your project." +msgstr "" + +#: ../../docs/about/system_requirements.rst:198 +msgid "These are the **minimum** specifications required to run a simple 2D or 3D project exported with Godot:" +msgstr "" + +#: ../../docs/about/system_requirements.rst:233 +#: ../../docs/about/system_requirements.rst:355 +msgid "**For native exports:** 2 GB" +msgstr "" + +#: ../../docs/about/system_requirements.rst:234 +#: ../../docs/about/system_requirements.rst:356 +msgid "**For web exports:** 4 GB" +msgstr "" + +#: ../../docs/about/system_requirements.rst:236 +#: ../../docs/about/system_requirements.rst:282 +#: ../../docs/about/system_requirements.rst:324 +#: ../../docs/about/system_requirements.rst:358 +msgid "150 MB (used for the executable, project files and cache)" +msgstr "" + +#: ../../docs/about/system_requirements.rst:238 +msgid "**For native exports:** Windows 7, macOS 10.13 (Compatibility) or macOS 10.15 (Forward+/Mobile), Linux distribution released after 2016" +msgstr "" + +#: ../../docs/about/system_requirements.rst:240 +msgid "**For web exports:** Firefox 79, Chrome 68, Edge 79, Safari 15.2, Opera 64" +msgstr "" + +#: ../../docs/about/system_requirements.rst:263 +msgid "**iOS:** SoC with any 64-bit ARM CPU" +msgstr "" + +#: ../../docs/about/system_requirements.rst:265 +msgid "*Example: Apple A7 (iPhone 5S)*" +msgstr "" + +#: ../../docs/about/system_requirements.rst:269 +#: ../../docs/about/system_requirements.rst:273 +msgid "*Example: Qualcomm Adreno 505, Mali-G71 MP2, PowerVR G6430 (iPhone 6S/iPhone SE 1)*" +msgstr "" + +#: ../../docs/about/system_requirements.rst:277 +msgid "*Example: Qualcomm Adreno 306, Mali-T628 MP6, PowerVR G6430 (iPhone 5S)*" +msgstr "" + +#: ../../docs/about/system_requirements.rst:279 +msgid "**For native exports:** 1 GB" +msgstr "" + +#: ../../docs/about/system_requirements.rst:280 +msgid "**For web exports:** 2 GB" +msgstr "" + +#: ../../docs/about/system_requirements.rst:284 +msgid "**For native exports:** Android 6.0 (Compatibility) or Android 9.0 (Forward+/Mobile), iOS 11.0" +msgstr "" + +#: ../../docs/about/system_requirements.rst:286 +msgid "**For web exports:** Firefox 79, Chrome 88, Edge 79, Safari 15.2, Opera 64, Samsung Internet 15" +msgstr "" + +#: ../../docs/about/system_requirements.rst:290 +msgid "These are the **recommended** specifications to get a smooth experience with a simple 2D or 3D project exported with Godot:" +msgstr "" + +#: ../../docs/about/system_requirements.rst:321 +msgid "**For native exports:** 4 GB" +msgstr "" + +#: ../../docs/about/system_requirements.rst:322 +msgid "**For web exports:** 8 GB" +msgstr "" + +#: ../../docs/about/system_requirements.rst:326 +msgid "**For native exports:** Windows 10, macOS 10.15, Linux distribution released after 2020" +msgstr "" + +#: ../../docs/about/system_requirements.rst:328 +msgid "**For web exports:** Latest version of Firefox, Chrome, Edge, Safari, Opera" +msgstr "" + +#: ../../docs/about/system_requirements.rst:339 +msgid "**iOS:** SoC with 64-bit ARM CPU" +msgstr "" + +#: ../../docs/about/system_requirements.rst:341 +msgid "*Example: Apple A11 (iPhone XS/XR)*" +msgstr "" + +#: ../../docs/about/system_requirements.rst:345 +#: ../../docs/about/system_requirements.rst:349 +#: ../../docs/about/system_requirements.rst:353 +msgid "*Example: Qualcomm Adreno 630, Mali-G72 MP18, Apple G11P (iPhone XR/XS)*" +msgstr "" + +#: ../../docs/about/system_requirements.rst:360 +msgid "**For native exports:** Android 9.0 or iOS 11.0" +msgstr "" + +#: ../../docs/about/system_requirements.rst:361 +msgid "**For web exports:** Latest version of Firefox, Chrome, Edge, Safari, Opera, Samsung Internet" +msgstr "" + +#: ../../docs/about/system_requirements.rst:367 +msgid "Godot doesn't use OpenGL/OpenGL ES extensions introduced after OpenGL 3.3/OpenGL ES 3.0, but GPUs supporting newer OpenGL/OpenGL ES versions generally have fewer driver issues." +msgstr "" + +#: ../../docs/:0 +msgid "Translation status" +msgstr "" diff --git a/sphinx/templates/community/asset_library/index.pot b/sphinx/templates/community/asset_library/index.pot index 55bb22be9e..527b37cb9b 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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 260b5abe05..813941bd2a 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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 05028fce23..102a7178a8 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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 76f9a3fd04..23469b8a20 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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 9c17b508b6..156da85779 100644 --- a/sphinx/templates/community/channels.pot +++ b/sphinx/templates/community/channels.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -33,91 +33,83 @@ msgid "A brief overview over these and other channels is also available on the ` msgstr "" #: ../../docs/community/channels.rst:13 -msgid "Q&A" +msgid "Forums" msgstr "" #: ../../docs/community/channels.rst:15 -msgid "`Official Godot Questions & Answers `_" +msgid "`Official Godot Forum `_" msgstr "" -#: ../../docs/community/channels.rst:18 -msgid "Rocket.Chat" +#: ../../docs/community/channels.rst:16 +msgid "`Community Forum `_" msgstr "" -#: ../../docs/community/channels.rst:20 +#: ../../docs/community/channels.rst:19 +msgid "Chats" +msgstr "" + +#: ../../docs/community/channels.rst:21 msgid "`Godot Contributors Chat `_" msgstr "" -#: ../../docs/community/channels.rst:23 -msgid "IRC on Libera.Chat" -msgstr "" - -#: ../../docs/community/channels.rst:27 -msgid "As of January 2021, core developer chat has moved to the Godot Contributors Chat platform listed above." -msgstr "" - -#: ../../docs/community/channels.rst:29 -msgid "`General: #godotengine `_" -msgstr "" - -#: ../../docs/community/channels.rst:31 -msgid "IRC is less active than Discord. Please stick around to get an answer, as it may take several hours for someone to see and answer your questions." -msgstr "" - -#: ../../docs/community/channels.rst:35 -msgid "Other chats" -msgstr "" - -#: ../../docs/community/channels.rst:37 +#: ../../docs/community/channels.rst:22 msgid "`Discord `_" msgstr "" -#: ../../docs/community/channels.rst:38 +#: ../../docs/community/channels.rst:23 msgid "`Matrix (IRC compatible) `_" msgstr "" -#: ../../docs/community/channels.rst:41 -msgid "Language-based communities" +#: ../../docs/community/channels.rst:24 +msgid "`IRC (#godotengine on Libera.Chat) `_" msgstr "" -#: ../../docs/community/channels.rst:43 -msgid "See the `User groups `_ page of the website for a list of local communities." +#: ../../docs/community/channels.rst:28 +msgid "As of January 2021, core developer chat has moved to the Godot Contributors Chat platform listed above. IRC is less active. Please stick around to get an answer, as it may take several hours for someone to see and answer your questions." msgstr "" -#: ../../docs/community/channels.rst:47 -msgid "Social networks" +#: ../../docs/community/channels.rst:33 +msgid "Social networks and other sites" msgstr "" -#: ../../docs/community/channels.rst:49 +#: ../../docs/community/channels.rst:35 msgid "`GitHub `_" msgstr "" -#: ../../docs/community/channels.rst:50 +#: ../../docs/community/channels.rst:36 msgid "`Facebook group `_" msgstr "" -#: ../../docs/community/channels.rst:51 +#: ../../docs/community/channels.rst:37 msgid "`Twitter `_ (see also the `#GodotEngine `_ hashtag)" msgstr "" -#: ../../docs/community/channels.rst:53 +#: ../../docs/community/channels.rst:39 msgid "`Reddit `_" msgstr "" -#: ../../docs/community/channels.rst:54 +#: ../../docs/community/channels.rst:40 msgid "`YouTube `_" msgstr "" -#: ../../docs/community/channels.rst:55 +#: ../../docs/community/channels.rst:41 msgid "`Steam `_" msgstr "" -#: ../../docs/community/channels.rst:58 -msgid "Forum" +#: ../../docs/community/channels.rst:42 +msgid "`itch.io `_" msgstr "" -#: ../../docs/community/channels.rst:60 -msgid "`Godot Forums `_" +#: ../../docs/community/channels.rst:43 +msgid "`linkin.bio `_" +msgstr "" + +#: ../../docs/community/channels.rst:46 +msgid "Language-based communities" +msgstr "" + +#: ../../docs/community/channels.rst:48 +msgid "See the `User groups `_ page of the website for a list of local communities." msgstr "" #: ../../docs/:0 diff --git a/sphinx/templates/community/tutorials.pot b/sphinx/templates/community/tutorials.pot index 22db3a76c6..25850a54c1 100644 --- a/sphinx/templates/community/tutorials.pot +++ b/sphinx/templates/community/tutorials.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -33,190 +33,146 @@ msgid "Where to start" msgstr "" #: ../../docs/community/tutorials.rst:13 -msgid "The Godot video tutorials by `GDQuest `_, `Game from Scratch `_ and `KidsCanCode `_ are well-regarded in the community and often recommended as a gentle introduction to beginners." +msgid "The Godot video tutorials by `GDQuest `_ are well-regarded in the community and often recommended as a gentle introduction to beginners." msgstr "" #: ../../docs/community/tutorials.rst:15 -msgid "If you're interested in a complete introduction to programming using Godot and GDScript, the unofficial `Godot Tutorials `_ YouTube channel is a good place to start." -msgstr "" - -#: ../../docs/community/tutorials.rst:17 msgid "GDQuest's *Learn GDScript From Zero* is a free and open source interactive tutorial for absolute beginners to learn to program with Godot's GDScript language. It is available as a `desktop application `_ or `in the browser `_." msgstr "" -#: ../../docs/community/tutorials.rst:19 +#: ../../docs/community/tutorials.rst:17 msgid "Some tutorials mentioned below provide more advanced tutorials, e.g. on 3D or shaders." msgstr "" -#: ../../docs/community/tutorials.rst:22 +#: ../../docs/community/tutorials.rst:20 msgid "Video tutorials" msgstr "" +#: ../../docs/community/tutorials.rst:22 +msgid "`BornCG `_ (2D and 3D, GDScript)" +msgstr "" + +#: ../../docs/community/tutorials.rst:23 +msgid "`Clear Code `_ (2D, GDScript, Programming Basics)" +msgstr "" + #: ../../docs/community/tutorials.rst:24 -msgid "`Godot Tutorials `_ (2D, GDScript, Programming Basics)." +msgid "`FencerDevLog `_ (2D, 3D, GDScript, Shaders)" msgstr "" #: ../../docs/community/tutorials.rst:25 -msgid "`Emilio `_ (2D, GDScript)." +msgid "`FinePointCGI `_ (2D, 3D, GDScript and C#)" msgstr "" #: ../../docs/community/tutorials.rst:26 -msgid "`FinePointCGI `_ (2D, 3D, GDScript and C#)." +msgid "`GDQuest `_ (2D and 3D, GDScript and C#)" msgstr "" #: ../../docs/community/tutorials.rst:27 -msgid "`GDQuest `_ (2D and 3D, GDScript and C#)." +msgid "`Game Dev Artisan `_ (2D, GDScript)" msgstr "" #: ../../docs/community/tutorials.rst:28 -msgid "`Game Development Center `_ (2D, networked multiplayer, GDScript)." +msgid "`Game Development Center `_ (2D, networked multiplayer, GDScript)" msgstr "" #: ../../docs/community/tutorials.rst:29 -msgid "`Game Endeavor `_ (2D, GDScript)." +msgid "`Game Endeavor `_ (2D, GDScript)" msgstr "" #: ../../docs/community/tutorials.rst:30 -msgid "`Game from Scratch `_ (2D and 3D, GDScript and C#)." +msgid "`Gwizz `_ (2D, GDScript)" msgstr "" #: ../../docs/community/tutorials.rst:31 -msgid "`HeartBeast `_ (2D, GDScript)." +msgid "`Godotneers `_ (2D, Shaders, GDScript)" msgstr "" #: ../../docs/community/tutorials.rst:32 -msgid "`KidsCanCode `__ (2D and 3D, GDScript)." +msgid "`HeartBeast `_ (2D, GDScript)" msgstr "" #: ../../docs/community/tutorials.rst:33 -msgid "`Mister Taft Creates `_ (2D, GDScript)." +msgid "`KidsCanCode `__ (2D and 3D, GDScript)" msgstr "" #: ../../docs/community/tutorials.rst:34 -msgid "`Miziziziz `_ (2D and 3D, GDScript)." +msgid "`Maker Tech `_ (2D, GDScript)" msgstr "" #: ../../docs/community/tutorials.rst:35 -msgid "`P1X / Krzysztof Jankowski `_ (3D)." +msgid "`Pigdev `_ (2D, GDScript)" msgstr "" #: ../../docs/community/tutorials.rst:36 -msgid "`Pigdev `_ (2D, GDScript)." +msgid "`Queble `_ (2D, GDScript)" msgstr "" #: ../../docs/community/tutorials.rst:37 -msgid "`Steincodes `__ (2D, GDScript)." -msgstr "" - -#: ../../docs/community/tutorials.rst:38 -msgid "`TheBuffED `_ (2D, GDScript)." -msgstr "" - -#: ../../docs/community/tutorials.rst:39 -msgid "`Code with Tom `_ (2D and 3D, GDScript)." +msgid "`Quiver `_ (2D, GDScript)" msgstr "" #: ../../docs/community/tutorials.rst:40 -msgid "`BornCG `_ (2D and 3D, GDScript)." -msgstr "" - -#: ../../docs/community/tutorials.rst:41 -msgid "`TheGuideKnight `_ (2D, GDScript)." -msgstr "" - -#: ../../docs/community/tutorials.rst:42 -msgid "`GDScript Dude `_ (GDScript)." -msgstr "" - -#: ../../docs/community/tutorials.rst:43 -msgid "`Garbaj `_ (3D, GDScript)." -msgstr "" - -#: ../../docs/community/tutorials.rst:44 -msgid "`Kasper Frandsen `_ (3D, Shaders)." -msgstr "" - -#: ../../docs/community/tutorials.rst:45 -msgid "`bitbrain `_ (2D, GDScript)." -msgstr "" - -#: ../../docs/community/tutorials.rst:46 -msgid "`Gwizz `_ (2D, GDScript)." -msgstr "" - -#: ../../docs/community/tutorials.rst:47 -msgid "`Quiver `_ (2D, GDScript)." -msgstr "" - -#: ../../docs/community/tutorials.rst:48 -msgid "`Maker Tech `_ (2D, GDScript)." -msgstr "" - -#: ../../docs/community/tutorials.rst:49 -msgid "`Clear Code `_ (2D, GDScript, Programming Basics)." -msgstr "" - -#: ../../docs/community/tutorials.rst:50 -msgid "`Game Dev Artisan `_ (2D, GDScript)." -msgstr "" - -#: ../../docs/community/tutorials.rst:51 -msgid "`FencerDevLog `_ (2D, 3D, GDScript, Shaders)." -msgstr "" - -#: ../../docs/community/tutorials.rst:54 msgid "Text tutorials" msgstr "" -#: ../../docs/community/tutorials.rst:56 +#: ../../docs/community/tutorials.rst:42 msgid "`FinepointCGI website by Mitch `__" msgstr "" -#: ../../docs/community/tutorials.rst:57 +#: ../../docs/community/tutorials.rst:43 msgid "`GDScript website by Andrew Wilkes `__" msgstr "" -#: ../../docs/community/tutorials.rst:58 +#: ../../docs/community/tutorials.rst:44 msgid "`Godot Recipes by KidsCanCode `__" msgstr "" -#: ../../docs/community/tutorials.rst:59 +#: ../../docs/community/tutorials.rst:45 msgid "`Godot Tutorials by SomethingLikeGames `__" msgstr "" -#: ../../docs/community/tutorials.rst:60 +#: ../../docs/community/tutorials.rst:46 msgid "`Game Dev Artisan website `__" msgstr "" -#: ../../docs/community/tutorials.rst:61 +#: ../../docs/community/tutorials.rst:47 msgid "`Night Quest Games Blog `__" msgstr "" -#: ../../docs/community/tutorials.rst:64 +#: ../../docs/community/tutorials.rst:50 msgid "Devlogs" msgstr "" -#: ../../docs/community/tutorials.rst:66 -msgid "`Andrea Catania (Physics & AI) `_" -msgstr "" - -#: ../../docs/community/tutorials.rst:67 +#: ../../docs/community/tutorials.rst:52 msgid "`Bastiaan Olij (AR & VR) `_" msgstr "" -#: ../../docs/community/tutorials.rst:68 +#: ../../docs/community/tutorials.rst:53 +msgid "`bitbrain `_" +msgstr "" + +#: ../../docs/community/tutorials.rst:54 msgid "`DevDuck (2D) `_" msgstr "" -#: ../../docs/community/tutorials.rst:71 +#: ../../docs/community/tutorials.rst:57 msgid "Resources" msgstr "" -#: ../../docs/community/tutorials.rst:73 +#: ../../docs/community/tutorials.rst:59 msgid "`awesome-godot: A curated list of free/libre plugins, scripts and add-ons `_" msgstr "" -#: ../../docs/community/tutorials.rst:74 +#: ../../docs/community/tutorials.rst:60 +msgid "`Godot Asset Library `_" +msgstr "" + +#: ../../docs/community/tutorials.rst:61 +msgid "`Godot Shaders: A community-driven shader library `_" +msgstr "" + +#: ../../docs/community/tutorials.rst:62 msgid "`Zeef Godot Engine: A curated directory of resources by Andre Schmitz `_" 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 e5e3f82dde..ed96acde79 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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 2297bc34d1..015b59bdd8 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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 323e706362..12f7f1b309 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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_ios.pot b/sphinx/templates/contributing/development/compiling/compiling_for_ios.pot index 4d36c5e253..6e9b18872e 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -37,74 +37,74 @@ msgid "`SCons 3.0+ `_ build system." msgstr "" #: ../../docs/contributing/development/compiling/compiling_for_ios.rst:18 -msgid "`Xcode `_ (or the more lightweight Command Line Tools for Xcode)." +msgid "`Xcode `_." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_ios.rst:21 +#: ../../docs/contributing/development/compiling/compiling_for_ios.rst:20 msgid "If you are building the ``master`` branch:" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_ios.rst:23 +#: ../../docs/contributing/development/compiling/compiling_for_ios.rst:22 msgid "Download and follow README instructions to build a static ``.xcframework`` from the `MoltenVK SDK `__." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_ios.rst:26 +#: ../../docs/contributing/development/compiling/compiling_for_ios.rst:25 msgid "If you have `Homebrew `_ installed, you can easily install SCons using the following command::" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_ios.rst:31 +#: ../../docs/contributing/development/compiling/compiling_for_ios.rst:30 msgid "Installing Homebrew will also fetch the Command Line Tools for Xcode automatically if you don't have them already." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_ios.rst:34 +#: ../../docs/contributing/development/compiling/compiling_for_ios.rst:33 msgid "Similarly, if you have `MacPorts `_ installed, you can easily install SCons using the following command::" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_ios.rst:40 +#: ../../docs/contributing/development/compiling/compiling_for_ios.rst:39 msgid "To get the Godot source code for compiling, see :ref:`doc_getting_source`." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_ios.rst:43 +#: ../../docs/contributing/development/compiling/compiling_for_ios.rst:42 msgid "For a general overview of SCons usage for Godot, see :ref:`doc_introduction_to_the_buildsystem`." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_ios.rst:47 +#: ../../docs/contributing/development/compiling/compiling_for_ios.rst:46 msgid "Compiling" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_ios.rst:49 +#: ../../docs/contributing/development/compiling/compiling_for_ios.rst:48 msgid "Open a Terminal, go to the root dir of the engine source code and type:" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_ios.rst:55 +#: ../../docs/contributing/development/compiling/compiling_for_ios.rst:54 msgid "for a debug build, or:" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_ios.rst:61 +#: ../../docs/contributing/development/compiling/compiling_for_ios.rst:60 msgid "for a release build (check ``platform/ios/detect.py`` for the compiler flags used for each configuration)." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_ios.rst:64 +#: ../../docs/contributing/development/compiling/compiling_for_ios.rst:63 msgid "Alternatively, you can run" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_ios.rst:71 +#: ../../docs/contributing/development/compiling/compiling_for_ios.rst:70 msgid "for a Simulator libraries." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_ios.rst:73 +#: ../../docs/contributing/development/compiling/compiling_for_ios.rst:72 msgid "To create an Xcode project like in the official builds, you need to use the template located in ``misc/dist/ios_xcode``. The release and debug libraries should be placed in ``libgodot.ios.debug.xcframework`` and ``libgodot.ios.release.xcframework`` respectively." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_ios.rst:87 +#: ../../docs/contributing/development/compiling/compiling_for_ios.rst:86 msgid "The MoltenVK static ``.xcframework`` folder must also be placed in the ``ios_xcode`` folder once it has been created." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_ios.rst:91 +#: ../../docs/contributing/development/compiling/compiling_for_ios.rst:90 msgid "Run" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_ios.rst:93 +#: ../../docs/contributing/development/compiling/compiling_for_ios.rst:92 msgid "To run on a device or simulator, follow these instructions: :ref:`doc_exporting_for_ios`." msgstr "" diff --git a/sphinx/templates/contributing/development/compiling/compiling_for_linuxbsd.pot b/sphinx/templates/contributing/development/compiling/compiling_for_linuxbsd.pot index 4bce93c962..480f2d565a 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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 353fcc1ee1..a93ffda126 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -142,7 +142,7 @@ msgid "For Intel x86_64::" msgstr "" #: ../../docs/contributing/development/compiling/compiling_for_macos.rst:131 -msgid "For ARM64 (Apple M1)::" +msgid "For Arm64 (Apple M1)::" msgstr "" #: ../../docs/contributing/development/compiling/compiling_for_macos.rst:136 @@ -150,7 +150,7 @@ msgid "To support both architectures in a single \"Universal 2\" binary, run the msgstr "" #: ../../docs/contributing/development/compiling/compiling_for_macos.rst:142 -msgid "To create an ``.app`` bundle like in the official builds, you need to use the template located in ``misc/dist/macos_template.app``. The release and debug builds should be placed in ``macos_template.app/Contents/MacOS`` with the names ``godot_macos_release.64`` and ``godot_macos_debug.64`` respectively. You can do so with the following commands (assuming a universal build, otherwise replace the ``.universal`` extension with the one of your arch-specific binaries)::" +msgid "To create an ``.app`` bundle like in the official builds, you need to use the template located in ``misc/dist/macos_template.app``. The release and debug builds should be placed in ``macos_template.app/Contents/MacOS`` with the names ``godot_macos_release.universal`` and ``godot_macos_debug.universal`` respectively. You can do so with the following commands (assuming a universal build, otherwise replace the ``.universal`` extension with the one of your arch-specific binaries)::" msgstr "" #: ../../docs/contributing/development/compiling/compiling_for_macos.rst:166 diff --git a/sphinx/templates/contributing/development/compiling/compiling_for_web.pot b/sphinx/templates/contributing/development/compiling/compiling_for_web.pot index 44d19dd972..f41949024d 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -69,7 +69,7 @@ msgid "By default, the :ref:`JavaScript singleton ` will be msgstr "" #: ../../docs/contributing/development/compiling/compiling_for_web.rst:50 -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.opt.wasm32.zip`` for release or ``godot.web.opt.debug.wasm32.zip`` for debug." +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:55 @@ -109,7 +109,7 @@ msgid "It is also possible to build a version of the Godot editor that can run i msgstr "" #: ../../docs/contributing/development/compiling/compiling_for_web.rst:95 -msgid "Once finished, the resulting file will be placed in the ``bin`` subdirectory. Its name will be ``godot.web.opt.tools.wasm32.zip``. You can upload the zip content to your web server and visit it with your browser to use the editor." +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:99 diff --git a/sphinx/templates/contributing/development/compiling/compiling_for_windows.pot b/sphinx/templates/contributing/development/compiling/compiling_for_windows.pot index 22ab556dcf..916627ca3c 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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_dotnet.pot b/sphinx/templates/contributing/development/compiling/compiling_with_dotnet.pot index 07d12a361e..6251cad3cb 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -105,86 +105,102 @@ msgid "The API assemblies, source generators, and custom MSBuild project SDK are msgstr "" #: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:102 -msgid "In order to use Godot with a development version of those packages, a local NuGet source must be created where MSBuild can find them. This can be done with the .NET CLI:" +msgid "In order to use Godot with a development version of those packages, a local NuGet source must be created where MSBuild can find them." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:110 -msgid "The Godot NuGet packages must be added to that local source. Additionally, we must make sure there are no other versions of the package in the NuGet cache, as MSBuild may pick one of those instead." +#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:105 +msgid "First, pick a location for the local NuGet source. If you don't have a preference, create an empty directory at one of these recommended locations:" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:114 -msgid "In order to simplify this process, the ``build_assemblies.py`` script provides the following ``--push-nupkgs-local`` option:" +#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:108 +msgid "On Windows, ``C:\\Users\\\\MyLocalNugetSource``" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:121 -msgid "This option ensures the packages will be added to the specified local NuGet source and that conflicting versions of the package are removed from the NuGet cache. It's recommended to always use this option when building the C# solutions during development to avoid mistakes." +#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:109 +msgid "On Linux, \\*BSD, etc., ``~/MyLocalNugetSource``" +msgstr "" + +#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:111 +msgid "This path is referred to later as ````." +msgstr "" + +#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:113 +msgid "After picking a directory, run this .NET CLI command to configure NuGet to use your local source:" +msgstr "" + +#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:120 +msgid "When you run the ``build_assemblies.py`` script, pass ```` to the ``--push-nupkgs-local`` option:" msgstr "" #: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:127 +msgid "This option ensures the packages will be added to the specified local NuGet source and that conflicting versions of the package are removed from the NuGet cache. It's recommended to always use this option when building the C# solutions during development to avoid mistakes." +msgstr "" + +#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:133 msgid "Double Precision Support (REAL_T_IS_DOUBLE)" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:129 +#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:135 msgid "When building Godot with double precision support, i.e. the ``precision=double`` argument for scons, the managed libraries must be adjusted to match by passing the ``--precision=double`` argument:" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:138 +#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:144 msgid "Examples" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:141 +#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:147 msgid "Example (Windows)" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:158 +#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:164 msgid "Example (Linux, \\*BSD)" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:176 +#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:182 msgid "Data directory" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:178 +#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:184 msgid "The data directory is a dependency for Godot binaries built with the .NET module enabled. It contains important files for the correct functioning of Godot. It must be distributed together with the Godot executable." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:183 +#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:189 msgid "Editor" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:185 +#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:191 msgid "The name of the data directory for the Godot editor will always be ``GodotSharp``. This directory contains an ``Api`` subdirectory with the Godot API assemblies and a ``Tools`` subdirectory with the tools required by the editor, like the ``GodotTools`` assemblies and its dependencies." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:190 +#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:196 msgid "On macOS, if the Godot editor is distributed as a bundle, the ``GodotSharp`` directory may be placed in the ``.app/Contents/Resources/`` directory inside the bundle." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:195 +#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:201 msgid "Export templates" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:197 +#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:203 msgid "The data directory for exported projects is generated by the editor during the export. It is named ``data__``, where ```` is the application name as specified in the project setting ``application/config/name`` and ```` is the current architecture of the export." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:202 +#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:208 msgid "In the case of multi-architecture exports multiple such data directories will be generated." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:206 +#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:212 msgid "Command-line options" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:208 +#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:214 msgid "The following is the list of command-line options available when building with the .NET module:" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:211 +#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:217 msgid "**module_mono_enabled**\\ =yes | **no**" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:213 +#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:219 msgid "Build Godot with the .NET module enabled." msgstr "" 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 93e7089b53..7eadbbb550 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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 10b5e8ee92..1b5f5745cc 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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/getting_source.pot b/sphinx/templates/contributing/development/compiling/getting_source.pot index baab0df41d..6bda499a90 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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 1227518a66..56433e5a54 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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 aa3c1e626a..0ad4647b93 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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 9bbb364aa0..d651f4cabb 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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 a891dc5112..722d81d02b 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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 012a17892e..0648d5ac2f 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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 9fa0c2ec17..475b5622be 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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 67e55b3849..200ea9894d 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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 bbadb5dd0e..310aadd718 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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 408e2e5862..27a9e09c57 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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 c9dd62bd63..6adc0f1196 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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 3556d3f547..4bbd1c80e0 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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 430d19c08c..dd2ff22ce8 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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 04e2867ba7..862797f83c 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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 885453cc9b..cb7a572707 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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 4da07a3fa0..4ccd6dd685 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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 ade8c9a98b..b8fd09cd2a 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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 83eb8663df..c80f7ae151 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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 ed272b1329..d74288cdfe 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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 bf67e1815a..c791d1c57e 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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 aa54d56cbe..e85dd85d22 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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 abf8576a40..34b51051ac 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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 c0337715f4..70c144de42 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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 f3e509a57a..5c84ceae7e 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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 6903913dc1..2b41562b7c 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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 3c14072cc6..65a6aa1520 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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 602e32da73..83c8fc8f14 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -169,821 +169,865 @@ msgid "**Vulkan context creation:**" msgstr "" #: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:180 -msgid "`drivers/vulkan/vulkan_context.cpp `__" +msgid "`drivers/vulkan/vulkan_context.cpp `__" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:183 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:182 +msgid "**Direct3D 12 context creation:**" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:184 +msgid "`drivers/d3d12/d3d12_context.cpp `__" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:187 msgid "Direct3D 12" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:185 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:189 msgid "Like Vulkan, the Direct3D 12 driver targets modern platforms only. It is designed to target both Windows and Xbox (whereas Vulkan can't be used directly on Xbox)." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:188 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:192 msgid "Both the Forward+ and Mobile :ref:`doc_internal_rendering_architecture_methods` can be used with Direct3D 12." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:191 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:195 msgid ":ref:`doc_internal_rendering_architecture_core_shaders` are shared with the Vulkan renderer. Shaders are transpiled from GLSL to HLSL using Mesa NIR (`more information `__). This means you don't need to know HLSL to work on the Direct3D 12 renderer, although knowing the language's basics is recommended to ease debugging." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:197 -msgid "**As of May 2023, this driver is still in development and is not merged in Godot 4.0 or the master branch.** While Direct3D 12 allows supporting Direct3D-exclusive features on Windows 11 such as windowed optimizations and Auto HDR, Vulkan is still recommended for most projects. See the `pull request that introduced Direct3D 12 support `__ for more information." +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:201 +msgid "**This driver is still experimental and only available in Godot 4.3 and later.** While Direct3D 12 allows supporting Direct3D-exclusive features on Windows 11 such as windowed optimizations and Auto HDR, Vulkan is still recommended for most projects. See the `pull request that introduced Direct3D 12 support `__ for more information." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:205 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:208 msgid "Metal" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:207 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:210 msgid "Godot supports Metal rendering via `MoltenVK `__, as macOS and iOS do not support Vulkan natively. This is done automatically when specifying the Vulkan driver in the Project Settings." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:211 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:214 msgid "MoltenVK makes driver maintenance easy at the cost of some performance overhead. Also, MoltenVK has several limitations that a native Metal driver implementation wouldn't have. Both the clustered and mobile :ref:`doc_internal_rendering_architecture_methods` can be used with a Metal backend via MoltenVK." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:217 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:220 msgid "A native Metal driver is planned in the future for better performance and compatibility." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:221 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:224 msgid "OpenGL" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:223 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:226 msgid "This driver uses OpenGL ES 3.0 and targets legacy and low-end devices that don't support Vulkan. OpenGL 3.3 Core Profile is used on desktop platforms to run this driver, as most graphics drivers on desktop don't support OpenGL ES. WebGL 2.0 is used for web exports." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:228 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:231 msgid "Only the :ref:`doc_internal_rendering_architecture_compatibility` rendering method can be used with the OpenGL driver." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:231 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:234 msgid ":ref:`doc_internal_rendering_architecture_core_shaders` are entirely different from the Vulkan renderer." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:234 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:237 msgid "**As of May 2023, this driver is still in development.** Many features are still not implemented, especially in 3D." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:238 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:241 msgid "Summary of rendering drivers/methods" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:240 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:243 msgid "The following rendering API + rendering method combinations are currently possible:" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:242 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:245 msgid "Vulkan + Forward+" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:243 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:246 msgid "Vulkan + Forward Mobile" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:244 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:247 msgid "Direct3D 12 + Forward+" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:245 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:248 msgid "Direct3D 12 + Forward Mobile" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:246 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:249 msgid "Metal + Forward+ (via MoltenVK)" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:247 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:250 msgid "Metal + Forward Mobile (via MoltenVK)" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:248 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:251 msgid "OpenGL + Compatibility" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:250 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:253 msgid "Each combination has its own limitations and performance characteristics. Make sure to test your changes on all rendering methods if possible before opening a pull request." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:255 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:258 msgid "RenderingDevice abstraction" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:259 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:262 msgid "The OpenGL driver does not use the RenderingDevice abstraction." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:261 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:264 msgid "To make the complexity of modern low-level graphics APIs more manageable, Godot uses its own abstraction called RenderingDevice." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:264 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:267 msgid "This means that when writing code for modern rendering methods, you don't actually use the Vulkan or Direct3D 12 APIs directly. While this is still lower-level than an API like OpenGL, this makes working on the renderer easier, as RenderingDevice will abstract many API-specific quirks for you. The RenderingDevice presents a similar level of abstraction as Metal or WebGPU." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:270 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:273 msgid "**Vulkan RenderingDevice implementation:**" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:272 -msgid "`drivers/vulkan/rendering_device_vulkan.cpp `__" -msgstr "" - #: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:275 -msgid "Core rendering classes architecture" +msgid "`drivers/vulkan/rendering_device_driver_vulkan.cpp `__" msgstr "" #: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:277 +msgid "**Direct3D 12 RenderingDevice implementation:**" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:279 +msgid "`drivers/d3d12/rendering_device_driver_d3d12.cpp `__" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:282 +msgid "Core rendering classes architecture" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:284 msgid "This diagram represents the structure of rendering classes in Godot, including the RenderingDevice abstraction:" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:281 -msgid "`View at full size `__" +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:288 +msgid "`View at full size `__" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:286 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:293 msgid "Core shaders" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:288 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:295 msgid "While shaders in Godot projects are written using a :ref:`custom language inspired by GLSL `, core shaders are written directly in GLSL." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:292 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:299 msgid "These core shaders are embedded in the editor and export template binaries at compile-time. To see any changes you've made to those GLSL shaders, you need to recompile the editor or export template binary." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:296 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:303 msgid "Some material features such as height mapping, refraction and proximity fade are not part of core shaders, and are performed in the default BaseMaterial3D using the Godot shader language instead (not GLSL). This is done by procedurally generating the required shader code depending on the features enabled in the material." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:302 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:309 msgid "By convention, shader files with ``_inc`` in their name are included in other GLSL files for better code reuse. Standard GLSL preprocessing is used to achieve this." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:308 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:315 msgid "Core material shaders will be used by every material in the scene – both with the default BaseMaterial3D and custom shaders. As a result, these shaders must be kept as simple as possible to avoid performance issues and ensure shader compilation doesn't become too slow." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:313 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:320 msgid "If you use ``if`` branching in a shader, performance may decrease as :abbr:`VGPR (Vector General-Purpose Register)` usage will increase in the shader. This happens even if all pixels evaluate to ``true`` or ``false`` in a given frame." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:318 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:325 msgid "If you use ``#if`` preprocessor branching, the number of required shader versions will increase in the scene. In a worst-case scenario, adding a single boolean ``#define`` can *double* the number of shader versions that may need to be compiled in a given scene. In some cases, Vulkan specialization constants can be used as a faster (but more limited) alternative." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:325 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:332 msgid "This means there is a high barrier to adding new built-in material features in Godot, both in the core shaders and BaseMaterial3D. While BaseMaterial3D can make use of dynamic code generation to only include the shader code if the feature is enabled, it'll still require generating more shader versions when these features are used in a project. This can make shader compilation stutter more noticeable in complex 3D scenes." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:332 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:339 msgid "See `The Shader Permutation Problem `__ and `Branching on a GPU `__ blog posts for more information." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:338 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:345 msgid "**Core GLSL material shaders:**" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:340 -msgid "Forward+: `servers/rendering/renderer_rd/shaders/forward_clustered/scene_forward_clustered.glsl `__" -msgstr "" - -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:341 -msgid "Forward Mobile: `servers/rendering/renderer_rd/shaders/forward_mobile/scene_forward_mobile.glsl `__" -msgstr "" - -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:342 -msgid "Compatibility: `drivers/gles3/shaders/scene.glsl `__" -msgstr "" - -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:344 -msgid "**Material shader generation:**" -msgstr "" - -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:346 -msgid "`scene/resources/material.cpp `__" +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:347 +msgid "Forward+: `servers/rendering/renderer_rd/shaders/forward_clustered/scene_forward_clustered.glsl `__" msgstr "" #: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:348 -msgid "**Other GLSL shaders for Forward+ and Forward Mobile rendering methods:**" +msgid "Forward Mobile: `servers/rendering/renderer_rd/shaders/forward_mobile/scene_forward_mobile.glsl `__" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:350 -msgid "`servers/rendering/renderer_rd/shaders/ `__" +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:349 +msgid "Compatibility: `drivers/gles3/shaders/scene.glsl `__" msgstr "" #: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:351 -msgid "`modules/lightmapper_rd/ `__" +msgid "**Material shader generation:**" msgstr "" #: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:353 -msgid "**Other GLSL shaders for the Compatibility rendering method:**" +msgid "`scene/resources/material.cpp `__" msgstr "" #: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:355 -msgid "`drivers/gles3/shaders/ `__" +msgid "**Other GLSL shaders for Forward+ and Forward Mobile rendering methods:**" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:357 +msgid "`servers/rendering/renderer_rd/shaders/ `__" msgstr "" #: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:358 -msgid "2D and 3D rendering separation" +msgid "`modules/lightmapper_rd/ `__" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:360 +msgid "**Other GLSL shaders for the Compatibility rendering method:**" msgstr "" #: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:362 +msgid "`drivers/gles3/shaders/ `__" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:365 +msgid "2D and 3D rendering separation" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:369 msgid "The following is only applicable in the Forward+ and Forward Mobile rendering methods, not in Compatibility. Multiple Viewports can be used to emulate this when using the Compatibility backend, or to perform 2D resolution scaling." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:367 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:374 msgid "2D and 3D are rendered to separate buffers, as 2D rendering in Godot is performed in :abbr:`LDR (Low Dynamic Range)` sRGB-space while 3D rendering uses :abbr:`HDR (High Dynamic Range)` linear space." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:371 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:378 msgid "The color format used for 2D rendering is RGB8 (RGBA8 if the **Transparent** property on the Viewport is enabled). 3D rendering uses a 24-bit unsigned normalized integer depth buffer, or 32-bit signed floating-point if a 24-bit depth buffer is not supported by the hardware. 2D rendering does not use a depth buffer." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:377 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:384 msgid "3D resolution scaling is performed differently depending on whether bilinear or FSR 1.0 scaling is used. When bilinear scaling is used, no special upscaling shader is run. Instead, the viewport's texture is stretched and displayed with a linear sampler (which makes the filtering happen directly on the hardware). This allows maximizing the performance of bilinear 3D scaling." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:383 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:390 msgid "The ``configure()`` function in RenderSceneBuffersRD reallocates the 2D/3D buffers when the resolution or scaling changes." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:386 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:393 msgid "Dynamic resolution scaling isn't supported yet, but is planned in a future Godot release." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:389 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:396 msgid "**2D and 3D rendering buffer configuration C++ code:**" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:391 -msgid "`servers/rendering/renderer_rd/storage_rd/render_scene_buffers_rd.cpp `__" +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:398 +msgid "`servers/rendering/renderer_rd/storage_rd/render_scene_buffers_rd.cpp `__" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:394 -msgid "2D rendering techniques" -msgstr "" - -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:396 -msgid "2D light rendering is performed in a single pass to allow for better performance with large amounts of lights." -msgstr "" - -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:399 -msgid "The Forward+ and Mobile rendering methods don't feature 2D batching yet, but it's planned for a future release." +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:400 +msgid "**FSR 1.0:**" msgstr "" #: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:402 -msgid "The Compatibility backend features 2D batching to improve performance, which is especially noticeable with lots of text on screen." +msgid "`servers/rendering/renderer_rd/effects/fsr.cpp `__" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:405 -msgid "MSAA can be enabled in 2D to provide \"automatic\" line and polygon antialiasing, but FXAA does not affect 2D rendering as it's calculated before 2D rendering begins. Godot's 2D drawing methods such as the Line2D node or some CanvasItem ``draw_*()`` methods provide their own way of antialiasing based on triangle strips and vertex colors, which don't require MSAA to work." +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:403 +msgid "`thirdparty/amd-fsr/ `__" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:406 +msgid "2D rendering techniques" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:408 +msgid "2D light rendering is performed in a single pass to allow for better performance with large amounts of lights." msgstr "" #: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:411 +msgid "The Forward+ and Mobile rendering methods don't feature 2D batching yet, but it's planned for a future release." +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:414 +msgid "The Compatibility backend features 2D batching to improve performance, which is especially noticeable with lots of text on screen." +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:417 +msgid "MSAA can be enabled in 2D to provide \"automatic\" line and polygon antialiasing, but FXAA does not affect 2D rendering as it's calculated before 2D rendering begins. Godot's 2D drawing methods such as the Line2D node or some CanvasItem ``draw_*()`` methods provide their own way of antialiasing based on triangle strips and vertex colors, which don't require MSAA to work." +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:423 msgid "A 2D signed distance field representing LightOccluder2D nodes in the viewport is automatically generated if an user shader requests it. This can be used for various effects in custom shaders, such as 2D global illumination. It is also used to calculate particle collisions in 2D." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:416 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:428 msgid "**2D SDF generation GLSL shader:**" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:418 -msgid "`https://github.com/godotengine/godot/blob/4.0/servers/rendering/renderer_rd/shaders/canvas_sdf.glsl `__" +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:430 +msgid "`servers/rendering/renderer_rd/shaders/canvas_sdf.glsl `__" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:421 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:433 msgid "3D rendering techniques" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:424 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:436 msgid "Batching and instancing" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:426 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:438 msgid "In the Forward+ backend, Vulkan instancing is used to group rendering of identical objects for performance. This is not as fast as static mesh merging, but it still allows instances to be culled individually." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:431 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:443 msgid "Light, decal and reflection probe rendering" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:435 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:447 msgid "Reflection probe and decal rendering are currently not available in the Compatibility backend." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:438 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:450 msgid "As its name implies, the Forward+ backend uses clustered lighting. This allows using as many lights as you want; performance largely depends on screen coverage. Shadow-less lights can be almost free if they don't occupy much space on screen." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:443 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:455 msgid "All rendering methods also support rendering up to 8 directional lights at the same time (albeit with lower shadow quality when more than one light has shadows enabled)." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:447 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:459 msgid "The Forward Mobile backend uses a single-pass lighting approach, with a limitation of 8 OmniLights + 8 SpotLights affecting each Mesh *resource* (plus a limitation of 256 OmniLights + 256 SpotLights in the camera view). These limits are hardcoded and can't be adjusted in the project settings." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:452 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:464 msgid "The Compatibility backend uses a hybrid single-pass + multi-pass lighting approach. Lights without shadows are rendered in a single pass. Lights with shadows are rendered in multiple passes. This is required for performance reasons on mobile devices. As a result, performance does not scale well with many shadow-casting lights. It is recommended to only have a handful of lights with shadows in the camera frustum at a time and for those lights to be spread apart so that each object is only touched by 1 or 2 shadowed lights at a time. The maximum number of lights visible at once can be adjusted in the project settings." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:462 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:474 msgid "In all 3 methods, lights without shadows are much cheaper than lights with shadows. To improve performance, lights are only updated when the light is modified or when objects in its radius are modified. Godot currently doesn't separate static shadow rendering from dynamic shadow rendering, but this is planned in a future release." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:468 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:480 msgid "Clustering is also used for reflection probes and decal rendering in the Forward+ backend." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:472 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:484 msgid "Shadow mapping" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:474 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:486 msgid "Both Forward+ and Forward Mobile methods use :abbr:`PCF (Percentage Closer Filtering)` to filter shadow maps and create a soft penumbra. Instead of using a fixed PCF pattern, these methods use a vogel disk pattern which allows for changing the number of samples and smoothly changing the quality." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:480 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:492 msgid "Godot also supports percentage-closer soft shadows (PCSS) for more realistic shadow penumbra rendering. PCSS shadows are limited to the Forward+ backend as they're too demanding to be usable in the Forward Mobile backend. PCSS also uses a vogel-disk shaped kernel." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:485 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:497 msgid "Additionally, both shadow-mapping techniques rotate the kernel on a per-pixel basis to help soften under-sampling artifacts." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:488 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:500 msgid "The Compatibility backend doesn't support shadow mapping for any light types yet." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:491 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:503 msgid "Temporal antialiasing" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:495 -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:603 -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:680 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:507 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:622 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:699 msgid "Only available in the Forward+ backend, not the Forward Mobile or Compatibility methods." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:498 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:510 msgid "Godot uses a custom TAA implementation based on the old TAA implementation from `Spartan Engine `__." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:501 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:513 msgid "Temporal antialiasing requires motion vectors to work. If motion vectors are not correctly generated, ghosting will occur when the camera or objects move." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:504 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:516 msgid "Motion vectors are generated on the GPU in the main material shader. This is done by running the vertex shader corresponding to the previous rendered frame (with the previous camera transform) in addition to the vertex shader for the current rendered frame, then storing the difference between them in a color buffer." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:509 -msgid "Using `FSR 2.0 `__ instead of a custom TAA implementation is planned in a future release." +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:521 +msgid "Alternatively, FSR 2.2 can be used as an upscaling solution that also provides its own temporal antialiasing algorithm. FSR 2.2 is implemented on top of the RenderingDevice abstraction as opposed to using AMD's reference code directly." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:512 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:525 msgid "**TAA resolve:**" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:514 -msgid "`servers/rendering/renderer_rd/shaders/effects/taa_resolve.glsl `__" -msgstr "" - -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:517 -msgid "Global illumination" -msgstr "" - -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:521 -msgid "VoxelGI and SDFGI are only available in the Forward+ backend, not the Forward Mobile or Compatibility methods." -msgstr "" - -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:524 -msgid "LightmapGI *baking* is only available in the Forward+ and Forward Mobile methods, and can only be performed within the editor (not in an exported project). LightmapGI *rendering* will eventually be supported by the Compatibility backend." +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:527 +msgid "`servers/rendering/renderer_rd/shaders/effects/taa_resolve.glsl `__" msgstr "" #: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:529 -msgid "Godot supports voxel-based GI (VoxelGI), signed distance field GI (SDFGI) and lightmap baking and rendering (LightmapGI). These techniques can be used simultaneously if desired." +msgid "**FSR 2.2:**" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:531 +msgid "`servers/rendering/renderer_rd/effects/fsr2.cpp `__" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:532 +msgid "`servers/rendering/renderer_rd/shaders/effects/fsr2/ `__" msgstr "" #: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:533 -msgid "Lightmap baking happens on the GPU using Vulkan compute shaders. The GPU-based lightmapper is implemented in the LightmapperRD class, which inherits from the Lightmapper class. This allows for implementing additional lightmappers, paving the way for a future port of the CPU-based lightmapper present in Godot 3.x. This would allow baking lightmaps while using the Compatibility backend." +msgid "`thirdparty/amd-fsr2/ `__" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:539 -msgid "**Core GI C++ code:**" +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:536 +msgid "Global illumination" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:541 -msgid "`servers/rendering/renderer_rd/environment/gi.cpp `__" -msgstr "" - -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:542 -msgid "`scene/3d/voxel_gi.cpp `__ - VoxelGI node" +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:540 +msgid "VoxelGI and SDFGI are only available in the Forward+ backend, not the Forward Mobile or Compatibility methods." msgstr "" #: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:543 -msgid "`editor/plugins/voxel_gi_editor_plugin.cpp `__ - Editor UI for the VoxelGI node" -msgstr "" - -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:545 -msgid "**Core GI GLSL shaders:**" -msgstr "" - -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:547 -msgid "`servers/rendering/renderer_rd/shaders/environment/voxel_gi.glsl `__" +msgid "LightmapGI *baking* is only available in the Forward+ and Forward Mobile methods, and can only be performed within the editor (not in an exported project). LightmapGI *rendering* will eventually be supported by the Compatibility backend." msgstr "" #: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:548 -msgid "`servers/rendering/renderer_rd/shaders/environment/voxel_gi_debug.glsl `__ - VoxelGI debug draw mode" -msgstr "" - -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:549 -msgid "`servers/rendering/renderer_rd/shaders/environment/sdfgi_debug.glsl `__ - SDFGI Cascades debug draw mode" -msgstr "" - -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:550 -msgid "`servers/rendering/renderer_rd/shaders/environment/sdfgi_debug_probes.glsl `__ - SDFGI Probes debug draw mode" -msgstr "" - -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:551 -msgid "`servers/rendering/renderer_rd/shaders/environment/sdfgi_integrate.glsl `__" +msgid "Godot supports voxel-based GI (VoxelGI), signed distance field GI (SDFGI) and lightmap baking and rendering (LightmapGI). These techniques can be used simultaneously if desired." msgstr "" #: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:552 -msgid "`servers/rendering/renderer_rd/shaders/environment/sdfgi_preprocess.glsl `__" -msgstr "" - -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:553 -msgid "`servers/rendering/renderer_rd/shaders/environment/sdfgi_direct_light.glsl `__" -msgstr "" - -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:555 -msgid "**Lightmapper C++ code:**" -msgstr "" - -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:557 -msgid "`scene/3d/lightmap_gi.cpp `__ - LightmapGI node" +msgid "Lightmap baking happens on the GPU using Vulkan compute shaders. The GPU-based lightmapper is implemented in the LightmapperRD class, which inherits from the Lightmapper class. This allows for implementing additional lightmappers, paving the way for a future port of the CPU-based lightmapper present in Godot 3.x. This would allow baking lightmaps while using the Compatibility backend." msgstr "" #: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:558 -msgid "`editor/plugins/lightmap_gi_editor_plugin.cpp `__ - Editor UI for the LightmapGI node" -msgstr "" - -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:559 -msgid "`scene/3d/lightmapper.cpp `__ - Abstract class" +msgid "**Core GI C++ code:**" msgstr "" #: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:560 -msgid "`modules/lightmapper_rd/lightmapper_rd.cpp `__ - GPU-based lightmapper implementation" +msgid "`servers/rendering/renderer_rd/environment/gi.cpp `__" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:561 +msgid "`scene/3d/voxel_gi.cpp `__ - VoxelGI node" msgstr "" #: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:562 -msgid "**Lightmapper GLSL shaders:**" +msgid "`editor/plugins/voxel_gi_editor_plugin.cpp `__ - Editor UI for the VoxelGI node" msgstr "" #: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:564 -msgid "`modules/lightmapper_rd/lm_raster.glsl `__" -msgstr "" - -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:565 -msgid "`modules/lightmapper_rd/lm_compute.glsl `__" +msgid "**Core GI GLSL shaders:**" msgstr "" #: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:566 -msgid "`modules/lightmapper_rd/lm_blendseams.glsl `__" +msgid "`servers/rendering/renderer_rd/shaders/environment/voxel_gi.glsl `__" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:567 +msgid "`servers/rendering/renderer_rd/shaders/environment/voxel_gi_debug.glsl `__ - VoxelGI debug draw mode" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:568 +msgid "`servers/rendering/renderer_rd/shaders/environment/sdfgi_debug.glsl `__ - SDFGI Cascades debug draw mode" msgstr "" #: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:569 -msgid "Depth of field" +msgid "`servers/rendering/renderer_rd/shaders/environment/sdfgi_debug_probes.glsl `__ - SDFGI Probes debug draw mode" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:573 -msgid "Only available in the Forward+ and Forward Mobile methods, not the Compatibility backend." +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:570 +msgid "`servers/rendering/renderer_rd/shaders/environment/sdfgi_integrate.glsl `__" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:571 +msgid "`servers/rendering/renderer_rd/shaders/environment/sdfgi_preprocess.glsl `__" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:572 +msgid "`servers/rendering/renderer_rd/shaders/environment/sdfgi_direct_light.glsl `__" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:574 +msgid "**Lightmapper C++ code:**" msgstr "" #: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:576 -msgid "The Forward+ and Forward Mobile methods use different approaches to DOF rendering, with different visual results. This is done to best match the performance characteristics of the target hardware. In Clustered Forward, DOF is performed using a compute shader. In Forward Mobile, DOF is performed using a fragment shader (raster)." +msgid "`scene/3d/lightmap_gi.cpp `__ - LightmapGI node" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:582 -msgid "Box, hexagon and circle bokeh shapes are available (from fastest to slowest). Depth of field can optionally be jittered every frame to improve its appearance when temporal antialiasing is enabled." +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:577 +msgid "`editor/plugins/lightmap_gi_editor_plugin.cpp `__ - Editor UI for the LightmapGI node" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:586 -msgid "**Depth of field C++ code:**" +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:578 +msgid "`scene/3d/lightmapper.cpp `__ - Abstract class" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:579 +msgid "`modules/lightmapper_rd/lightmapper_rd.cpp `__ - GPU-based lightmapper implementation" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:581 +msgid "**Lightmapper GLSL shaders:**" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:583 +msgid "`modules/lightmapper_rd/lm_raster.glsl `__" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:584 +msgid "`modules/lightmapper_rd/lm_compute.glsl `__" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:585 +msgid "`modules/lightmapper_rd/lm_blendseams.glsl `__" msgstr "" #: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:588 -msgid "`servers/rendering/renderer_rd/effects/bokeh_dof.cpp `__" -msgstr "" - -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:590 -msgid "**Depth of field GLSL shader (compute - used for Forward+):**" +msgid "Depth of field" msgstr "" #: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:592 -msgid "`servers/rendering/renderer_rd/shaders/effects/bokeh_dof.glsl `__" +msgid "Only available in the Forward+ and Forward Mobile methods, not the Compatibility backend." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:594 -msgid "**Depth of field GLSL shader (raster - used for Forward Mobile):**" +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:595 +msgid "The Forward+ and Forward Mobile methods use different approaches to DOF rendering, with different visual results. This is done to best match the performance characteristics of the target hardware. In Clustered Forward, DOF is performed using a compute shader. In Forward Mobile, DOF is performed using a fragment shader (raster)." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:596 -msgid "`servers/rendering/renderer_rd/shaders/effects/bokeh_dof_raster.glsl `__" +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:601 +msgid "Box, hexagon and circle bokeh shapes are available (from fastest to slowest). Depth of field can optionally be jittered every frame to improve its appearance when temporal antialiasing is enabled." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:599 -msgid "Screen-space effects (SSAO, SSIL, SSR, SSS)" +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:605 +msgid "**Depth of field C++ code:**" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:606 -msgid "The Forward+ backend supports screen-space ambient occlusion, screen-space indirect lighting, screen-space reflections and subsurface scattering." +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:607 +msgid "`servers/rendering/renderer_rd/effects/bokeh_dof.cpp `__" msgstr "" #: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:609 -msgid "SSAO uses an implementation derived from Intel's `ASSAO `__ (converted to Vulkan). SSIL is derived from SSAO to provide high-performance indirect lighting." +msgid "**Depth of field GLSL shader (compute - used for Forward+):**" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:614 -msgid "When both SSAO and SSIL are enabled, parts of SSAO and SSIL are shared to reduce the performance impact." +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:611 +msgid "`servers/rendering/renderer_rd/shaders/effects/bokeh_dof.glsl `__" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:617 -msgid "SSAO and SSIL are performed at half resolution by default to improve performance. SSR is always performed at half resolution to improve performance." +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:613 +msgid "**Depth of field GLSL shader (raster - used for Forward Mobile):**" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:620 -msgid "**Screen-space effects C++ code:**" +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:615 +msgid "`servers/rendering/renderer_rd/shaders/effects/bokeh_dof_raster.glsl `__" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:622 -msgid "`servers/rendering/renderer_rd/effects/ss_effects.cpp `__" +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:618 +msgid "Screen-space effects (SSAO, SSIL, SSR, SSS)" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:624 -msgid "**Screen-space ambient occlusion GLSL shader:**" -msgstr "" - -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:626 -msgid "`servers/rendering/renderer_rd/shaders/effects/ssao.glsl `__" -msgstr "" - -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:627 -msgid "`servers/rendering/renderer_rd/shaders/effects/ssao_blur.glsl `__" +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:625 +msgid "The Forward+ backend supports screen-space ambient occlusion, screen-space indirect lighting, screen-space reflections and subsurface scattering." msgstr "" #: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:628 -msgid "`servers/rendering/renderer_rd/shaders/effects/ssao_interleave.glsl `__" -msgstr "" - -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:629 -msgid "`servers/rendering/renderer_rd/shaders/effects/ssao_importance_map.glsl `__" -msgstr "" - -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:631 -msgid "**Screen-space indirect lighting GLSL shader:**" +msgid "SSAO uses an implementation derived from Intel's `ASSAO `__ (converted to Vulkan). SSIL is derived from SSAO to provide high-performance indirect lighting." msgstr "" #: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:633 -msgid "`servers/rendering/renderer_rd/shaders/effects/ssil.glsl `__" -msgstr "" - -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:634 -msgid "`servers/rendering/renderer_rd/shaders/effects/ssil_blur.glsl `__" -msgstr "" - -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:635 -msgid "`servers/rendering/renderer_rd/shaders/effects/ssil_interleave.glsl `__" +msgid "When both SSAO and SSIL are enabled, parts of SSAO and SSIL are shared to reduce the performance impact." msgstr "" #: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:636 -msgid "`servers/rendering/renderer_rd/shaders/effects/ssil_importance_map.glsl `__" +msgid "SSAO and SSIL are performed at half resolution by default to improve performance. SSR is always performed at half resolution to improve performance." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:638 -msgid "**Screen-space reflections GLSL shader:**" -msgstr "" - -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:640 -msgid "`servers/rendering/renderer_rd/shaders/effects/screen_space_reflection.glsl `__" +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:639 +msgid "**Screen-space effects C++ code:**" msgstr "" #: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:641 -msgid "`servers/rendering/renderer_rd/shaders/effects/screen_space_reflection_scale.glsl `__" +msgid "`servers/rendering/renderer_rd/effects/ss_effects.cpp `__" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:642 -msgid "`servers/rendering/renderer_rd/shaders/effects/screen_space_reflection_filter.glsl `__" +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:643 +msgid "**Screen-space ambient occlusion GLSL shader:**" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:644 -msgid "**Subsurface scattering GLSL:**" +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:645 +msgid "`servers/rendering/renderer_rd/shaders/effects/ssao.glsl `__" msgstr "" #: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:646 -msgid "`servers/rendering/renderer_rd/shaders/effects/subsurface_scattering.glsl `__" +msgid "`servers/rendering/renderer_rd/shaders/effects/ssao_blur.glsl `__" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:649 -msgid "Sky rendering" +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:647 +msgid "`servers/rendering/renderer_rd/shaders/effects/ssao_interleave.glsl `__" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:648 +msgid "`servers/rendering/renderer_rd/shaders/effects/ssao_importance_map.glsl `__" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:650 +msgid "**Screen-space indirect lighting GLSL shader:**" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:652 +msgid "`servers/rendering/renderer_rd/shaders/effects/ssil.glsl `__" msgstr "" #: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:653 -msgid ":ref:`doc_sky_shader`" +msgid "`servers/rendering/renderer_rd/shaders/effects/ssil_blur.glsl `__" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:654 +msgid "`servers/rendering/renderer_rd/shaders/effects/ssil_interleave.glsl `__" msgstr "" #: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:655 -msgid "Godot supports using shaders to render the sky background. The radiance map (which is used to provide ambient light and reflections for PBR materials) is automatically updated based on the sky shader." +msgid "`servers/rendering/renderer_rd/shaders/effects/ssil_importance_map.glsl `__" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:657 +msgid "**Screen-space reflections GLSL shader:**" msgstr "" #: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:659 -msgid "The SkyMaterial resources such as ProceduralSkyMaterial, PhysicalSkyMaterial and PanoramaSkyMaterial generate a built-in shader for sky rendering. This is similar to what BaseMaterial3D provides for 3D scene materials." +msgid "`servers/rendering/renderer_rd/shaders/effects/screen_space_reflection.glsl `__" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:660 +msgid "`servers/rendering/renderer_rd/shaders/effects/screen_space_reflection_scale.glsl `__" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:661 +msgid "`servers/rendering/renderer_rd/shaders/effects/screen_space_reflection_filter.glsl `__" msgstr "" #: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:663 +msgid "**Subsurface scattering GLSL:**" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:665 +msgid "`servers/rendering/renderer_rd/shaders/effects/subsurface_scattering.glsl `__" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:668 +msgid "Sky rendering" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:672 +msgid ":ref:`doc_sky_shader`" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:674 +msgid "Godot supports using shaders to render the sky background. The radiance map (which is used to provide ambient light and reflections for PBR materials) is automatically updated based on the sky shader." +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:678 +msgid "The SkyMaterial resources such as ProceduralSkyMaterial, PhysicalSkyMaterial and PanoramaSkyMaterial generate a built-in shader for sky rendering. This is similar to what BaseMaterial3D provides for 3D scene materials." +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:682 msgid "A detailed technical implementation can be found in the `Custom sky shaders in Godot 4.0 `__ article." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:667 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:686 msgid "**Sky rendering C++ code:**" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:669 -msgid "`servers/rendering/renderer_rd/environment/sky.cpp `__ - Sky rendering" +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:688 +msgid "`servers/rendering/renderer_rd/environment/sky.cpp `__ - Sky rendering" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:670 -msgid "`scene/resources/sky.cpp `__ - Sky resource (not to be confused with sky rendering)" +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:689 +msgid "`scene/resources/sky.cpp `__ - Sky resource (not to be confused with sky rendering)" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:671 -msgid "`scene/resources/sky_material.cpp `__ SkyMaterial resources (used in the Sky resource)" +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:690 +msgid "`scene/resources/sky_material.cpp `__ SkyMaterial resources (used in the Sky resource)" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:673 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:692 msgid "**Sky rendering GLSL shader:**" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:676 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:695 msgid "Volumetric fog" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:685 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:704 msgid ":ref:`doc_fog_shader`" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:687 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:706 msgid "Godot supports a frustum-aligned voxel (froxel) approach to volumetric fog rendering. As opposed to a post-processing filter, this approach is more general-purpose as it can work with any light type. Fog can also use shaders for custom behavior, which allows animating the fog or using a 3D texture to represent density." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:693 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:712 msgid "The FogMaterial resource generates a built-in shader for FogVolume nodes. This is similar to what BaseMaterial3D provides for 3D scene materials." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:696 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:715 msgid "A detailed technical explanation can be found in the `Fog Volumes arrive in Godot 4.0 `__ article." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:700 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:719 msgid "**Volumetric fog C++ code:**" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:702 -msgid "`servers/rendering/renderer_rd/environment/fog.cpp `__ - General volumetric fog" +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:721 +msgid "`servers/rendering/renderer_rd/environment/fog.cpp `__ - General volumetric fog" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:703 -msgid "`scene/3d/fog_volume.cpp `__ - FogVolume node" +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:722 +msgid "`scene/3d/fog_volume.cpp `__ - FogVolume node" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:704 -msgid "`scene/resources/fog_material.cpp `__ - FogMaterial resource (used by FogVolume)" +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:723 +msgid "`scene/resources/fog_material.cpp `__ - FogMaterial resource (used by FogVolume)" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:706 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:725 msgid "**Volumetric fog GLSL shaders:**" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:708 -msgid "`servers/rendering/renderer_rd/shaders/environment/volumetric_fog.glsl `__" +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:727 +msgid "`servers/rendering/renderer_rd/shaders/environment/volumetric_fog.glsl `__" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:709 -msgid "`servers/rendering/renderer_rd/shaders/environment/volumetric_fog_process.glsl `__" +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:728 +msgid "`servers/rendering/renderer_rd/shaders/environment/volumetric_fog_process.glsl `__" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:712 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:731 msgid "Occlusion culling" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:714 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:733 msgid "While modern GPUs can handle drawing a lot of triangles, the number of draw calls in complex scenes can still be a bottleneck (even with Vulkan and Direct3D 12)." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:718 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:737 msgid "Godot 4 supports occlusion culling to reduce overdraw (when the depth prepass is disabled) and reduce vertex throughput. This is done by rasterizing a low-resolution buffer on the CPU using `Embree `__. The buffer's resolution depends on the number of CPU threads on the system, as this is done in parallel. This buffer includes occluder shapes that were baked in the editor or created at run-time." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:726 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:745 msgid "As complex occluders can introduce a lot of strain on the CPU, baked occluders can be simplified automatically when generated in the editor." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:729 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:748 msgid "Godot's occlusion culling doesn't support dynamic occluders yet, but OccluderInstance3D nodes can still have their visibility toggled or be moved. However, this will be slow when updating complex occluders this way. Therefore, updating occluders at run-time is best done only on simple occluder shapes such as quads or cuboids." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:735 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:754 msgid "This CPU-based approach has a few advantages over other solutions, such as portals and rooms or a GPU-based culling solution:" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:738 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:757 msgid "No manual setup required (but can be tweaked manually for best performance)." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:739 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:758 msgid "No frame delay, which is problematic in cutscenes during camera cuts or when the camera moves fast behind a wall." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:741 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:760 msgid "Works the same on all rendering drivers and methods, with no unpredictable behavior depending on the driver or GPU hardware." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:744 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:763 msgid "Occlusion culling is performed by registering occluder meshes, which is done using OccluderInstance3D *nodes* (which themselves use Occluder3D *resources*). RenderingServer then performs occlusion culling by calling Embree in RendererSceneOcclusionCull." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:749 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:768 msgid "**Occlusion culling C++ code:**" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:751 -msgid "`scene/3d/occluder_instance_3d.cpp `__" -msgstr "" - -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:752 -msgid "`servers/rendering/renderer_scene_occlusion_cull.cpp `__" -msgstr "" - -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:755 -msgid "Visibility range (LOD)" -msgstr "" - -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:757 -msgid "Godot supports manually authored hierarchical level of detail (HLOD), with distances specified by the user in the inspector." -msgstr "" - -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:760 -msgid "In RenderingSceneCull, the ``_scene_cull()`` and ``_render_scene()`` functions are where most of the LOD determination happens. Each viewport can render the same mesh with different LODs (to allow for split screen rendering to look correct)." -msgstr "" - -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:764 -msgid "**Visibility range C++ code:**" -msgstr "" - -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:766 -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:797 -msgid "`servers/rendering/renderer_scene_cull.cpp `__" -msgstr "" - -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:769 -msgid "Automatic mesh LOD" +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:770 +msgid "`scene/3d/occluder_instance_3d.cpp `__" msgstr "" #: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:771 -msgid "The ImporterMesh class is used for the 3D mesh import workflow in the editor. Its ``generate_lods()`` function handles generating using the `meshoptimizer `__ library." +msgid "`servers/rendering/renderer_scene_occlusion_cull.cpp `__" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:775 -msgid "LOD mesh generation also generates shadow meshes at the same time. These are meshes that have their vertices welded regardless of smoothing and materials. This is used to improve shadow rendering performance by lowering the vertex throughput required to render shadows." +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:774 +msgid "Visibility range (LOD)" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:780 -msgid "The RenderingSceneCull class's ``_render_scene()`` function determines which mesh LOD should be used when rendering. Each viewport can render the same mesh with different LODs (to allow for split screen rendering to look correct)." +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:776 +msgid "Godot supports manually authored hierarchical level of detail (HLOD), with distances specified by the user in the inspector." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:784 -msgid "The mesh LOD is automatically chosen based on a screen coverage metric. This takes resolution and camera FOV changes into account without requiring user intervention. The threshold multiplier can be adjusted in the project settings." +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:779 +msgid "In RenderingSceneCull, the ``_scene_cull()`` and ``_render_scene()`` functions are where most of the LOD determination happens. Each viewport can render the same mesh with different LODs (to allow for split screen rendering to look correct)." +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:783 +msgid "**Visibility range C++ code:**" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:785 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:816 +msgid "`servers/rendering/renderer_scene_cull.cpp `__" msgstr "" #: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:788 +msgid "Automatic mesh LOD" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:790 +msgid "The ImporterMesh class is used for the 3D mesh import workflow in the editor. Its ``generate_lods()`` function handles generating using the `meshoptimizer `__ library." +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:794 +msgid "LOD mesh generation also generates shadow meshes at the same time. These are meshes that have their vertices welded regardless of smoothing and materials. This is used to improve shadow rendering performance by lowering the vertex throughput required to render shadows." +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:799 +msgid "The RenderingSceneCull class's ``_render_scene()`` function determines which mesh LOD should be used when rendering. Each viewport can render the same mesh with different LODs (to allow for split screen rendering to look correct)." +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:803 +msgid "The mesh LOD is automatically chosen based on a screen coverage metric. This takes resolution and camera FOV changes into account without requiring user intervention. The threshold multiplier can be adjusted in the project settings." +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:807 msgid "To improve performance, shadow rendering and reflection probe rendering also choose their own mesh LOD thresholds (which can be different from the main scene rendering)." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:791 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:810 msgid "**Mesh LOD generation on import C++ code:**" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:793 -msgid "`scene/resources/importer_mesh.cpp `__" +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:812 +msgid "`scene/resources/importer_mesh.cpp `__" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:795 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:814 msgid "**Mesh LOD determination C++ code:**" msgstr "" 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 fd133796c9..74c9991930 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -37,11 +37,11 @@ msgid "This adds a lot of functionality to Objects. For example:" msgstr "" #: ../../docs/contributing/development/core_and_modules/object_class.rst:36 -#: ../../docs/contributing/development/core_and_modules/object_class.rst:94 -#: ../../docs/contributing/development/core_and_modules/object_class.rst:266 -#: ../../docs/contributing/development/core_and_modules/object_class.rst:282 -#: ../../docs/contributing/development/core_and_modules/object_class.rst:303 -#: ../../docs/contributing/development/core_and_modules/object_class.rst:322 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:98 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:270 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:286 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:307 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:326 msgid "References:" msgstr "" @@ -78,210 +78,214 @@ msgid "Inside ``_bind_methods``, there are a couple of things that can be done. msgstr "" #: ../../docs/contributing/development/core_and_modules/object_class.rst:76 -msgid "Default values for arguments can be passed in reverse order:" +msgid "Default values for arguments can be passed as parameters at the end:" msgstr "" #: ../../docs/contributing/development/core_and_modules/object_class.rst:82 +msgid "Default values must be provided in the same order as they are declared, skipping required arguments and then providing default values for the optional ones. This matches the syntax for declaring methods in C++." +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/object_class.rst:86 msgid "``D_METHOD`` is a macro that converts \"methodname\" to a StringName for more efficiency. Argument names are used for introspection, but when compiling on release, the macro ignores them, so the strings are unused and optimized away." msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:87 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:91 msgid "Check ``_bind_methods`` of Control or Object for more examples." msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:89 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:93 msgid "If just adding modules and functionality that is not expected to be documented as thoroughly, the ``D_METHOD()`` macro can safely be ignored and a string passing the name can be passed for brevity." msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:96 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:100 msgid "`core/object/class_db.h `__" msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:99 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:103 msgid "Constants" msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:101 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:105 msgid "Classes often have enums such as:" msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:110 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:114 msgid "For these to work when binding to methods, the enum must be declared convertible to int. A macro is provided to help with this:" msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:117 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:121 msgid "The constants can also be bound inside ``_bind_methods``, by using:" msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:125 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:129 msgid "Properties (set/get)" msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:127 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:131 msgid "Objects export properties, properties are useful for the following:" msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:129 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:133 msgid "Serializing and deserializing the object." msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:130 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:134 msgid "Creating a list of editable values for the Object derived class." msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:132 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:136 msgid "Properties are usually defined by the PropertyInfo() class and constructed as:" msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:139 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:143 msgid "For example:" msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:145 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:149 msgid "This is an integer property named \"amount\". The hint is a range, and the range goes from 0 to 49 in steps of 1 (integers). It is only usable for the editor (editing the value visually) but won't be serialized." msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:149 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:153 msgid "Another example:" msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:155 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:159 msgid "This is a string property, can take any string but the editor will only allow the defined hint ones. Since no usage flags were specified, the default ones are PROPERTY_USAGE_STORAGE and PROPERTY_USAGE_EDITOR." msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:159 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:163 msgid "There are plenty of hints and usage flags available in object.h, give them a check." msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:162 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:166 msgid "Properties can also work like C# properties and be accessed from script using indexing, but this usage is generally discouraged, as using functions is preferred for legibility. Many properties are also bound with categories, such as \"animation/frame\" which also make indexing impossible unless using operator []." msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:168 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:172 msgid "From ``_bind_methods()``, properties can be created and bound as long as set/get functions exist. Example:" msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:175 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:179 msgid "This creates the property using the setter and the getter." msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:180 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:184 msgid "Binding properties using ``_set``/``_get``/``_get_property_list``" msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:182 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:186 msgid "An additional method of creating properties exists when more flexibility is desired (i.e. adding or removing properties on context)." msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:185 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:189 msgid "The following functions can be overridden in an Object derived class, they are NOT virtual, DO NOT make them virtual, they are called for every override and the previous ones are not invalidated (multilevel call)." msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:197 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:201 msgid "This is also a little less efficient since ``p_property`` must be compared against the desired names in serial order." msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:201 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:205 msgid "Dynamic casting" msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:203 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:207 msgid "Godot provides dynamic casting between Object-derived classes, for example:" msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:213 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:217 msgid "If cast fails, NULL is returned. This system uses RTTI, but it also works fine (although a bit slower) when RTTI is disabled. This is useful on platforms where a small binary size is ideal, such as HTML5 or consoles (with low memory footprint)." msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:219 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:223 msgid "Signals" msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:221 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:225 msgid "Objects can have a set of signals defined (similar to Delegates in other languages). This example shows how to connect to them:" msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:230 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:234 msgid "The method ``_node_entered_tree`` must be registered to the class using ``ClassDB::bind_method`` (explained before)." msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:233 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:237 msgid "Adding signals to a class is done in ``_bind_methods``, using the ``ADD_SIGNAL`` macro, for example:" msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:241 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:245 msgid "Notifications" msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:243 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:247 msgid "All objects in Godot have a :ref:`_notification ` method that allows it to respond to engine level callbacks that may relate to it. More information can be found on the :ref:`doc_godot_notifications` page." msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:248 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:252 msgid "References" msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:250 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:254 msgid ":ref:`RefCounted ` inherits from Object and holds a reference count. It is the base for reference counted object types. Declaring them must be done using Ref<> template. For example:" msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:262 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:266 msgid "``myref`` is reference counted. It will be freed when no more Ref<> templates point to it." msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:268 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:272 msgid "`core/object/reference.h `__" msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:271 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:275 msgid "Resources" msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:273 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:277 msgid ":ref:`Resource ` inherits from Reference, so all resources are reference counted. Resources can optionally contain a path, which reference a file on disk. This can be set with ``resource.set_path(path)``, though this is normally done by the resource loader. No two different resources can have the same path; attempting to do so will result in an error." msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:279 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:283 msgid "Resources without a path are fine too." msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:284 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:288 msgid "`core/io/resource.h `__" msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:287 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:291 msgid "Resource loading" msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:289 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:293 msgid "Resources can be loaded with the ResourceLoader API, like this:" msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:295 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:299 msgid "If a reference to that resource has been loaded previously and is in memory, the resource loader will return that reference. This means that there can be only one resource loaded from a file referenced on disk at the same time." msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:300 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:304 msgid "resourceinteractiveloader (TODO)" msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:305 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:309 msgid "`core/io/resource_loader.h `__" msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:308 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:312 msgid "Resource saving" msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:310 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:314 msgid "Saving a resource can be done with the resource saver API:" msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:316 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:320 msgid "The instance will be saved, and sub resources that have a path to a file will be saved as a reference to that resource. Sub resources without a path will be bundled with the saved resource and assigned sub-IDs, like ``res://someresource.res::1``. This also helps to cache them when loaded." msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:324 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:328 msgid "`core/io/resource_saver.h `__" msgstr "" 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 9ab164598e..c1deb8c56c 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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 cd823ed349..4b65fa8e80 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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 8ad269f3d5..70ba4d1fba 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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 59f2b54357..3965edda7b 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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 8f357be2b3..7e838715d7 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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 d8b037c8db..f03023599c 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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 b7dfe376c5..b31517eeaa 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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 45b7dbef0e..a9f8eb0a9b 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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 29c2950c91..86fc5c7204 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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 f94330d3bf..f0c0a08a23 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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 e32d4e5aa1..ff807046e7 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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 7896f2c83c..968e3065d4 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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 b9984e10a9..041c084010 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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 5c362ee2af..d52f894beb 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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 6fed9ec891..49ac6dcc4e 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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 a6d7a574e4..c463d22cdc 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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 63e294765e..f88372ae76 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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 149e06f181..8733b02e81 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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 0fa6e5e658..ecfa881205 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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 f79b283084..ea61a6847b 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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 7c18cf0256..9508febbf8 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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 594241d685..fd3484d35e 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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_writing_guidelines.pot b/sphinx/templates/contributing/documentation/docs_writing_guidelines.pot index d598d06149..f6974d43e3 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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 13f045f112..cef95972d1 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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 e09dd21168..3dda7c2d11 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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 ab820ab465..0b76889a8d 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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/ways_to_contribute.pot index ad09d01f4d..a5a202b7aa 100644 --- a/sphinx/templates/contributing/ways_to_contribute.pot +++ b/sphinx/templates/contributing/ways_to_contribute.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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/bisecting_regressions.pot b/sphinx/templates/contributing/workflow/bisecting_regressions.pot index 9c7af4a2bc..75b158d387 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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 8aad0723d8..45db3ad085 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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/index.pot b/sphinx/templates/contributing/workflow/index.pot index 05e2f1a511..a7b329351c 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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 426209d12a..9408b38c7c 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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 2dfada5213..59b257e412 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -321,7 +321,7 @@ msgid "The interactive rebase" msgstr "" #: ../../docs/contributing/workflow/pr_workflow.rst:437 -msgid "If you didn't follow the above steps closely to *amend* changes into a commit instead of creating fixup commits, or if you authored your changes without being aware of our workflow and Git usage tips, reviewers might request of your to *rebase* your branch to *squash* some or all of the commits into one." +msgid "If you didn't follow the above steps closely to *amend* changes into a commit instead of creating fixup commits, or if you authored your changes without being aware of our workflow and Git usage tips, reviewers might request you to *rebase* your branch to *squash* some or all of the commits into one." msgstr "" #: ../../docs/contributing/workflow/pr_workflow.rst:442 @@ -365,7 +365,7 @@ msgid "But! You rewrote the history, and now your local and remote branches have msgstr "" #: ../../docs/contributing/workflow/pr_workflow.rst:521 -msgid "This is a sane behavior, Git will not let you push changes that would override remote content. But that's actually what we want to do here, so we will have to *force* it:" +msgid "This is reasonable behavior, Git will not let you push changes that would override remote content. But that's actually what we want to do here, so we will have to *force* it:" msgstr "" #: ../../docs/contributing/workflow/pr_workflow.rst:529 @@ -373,26 +373,46 @@ msgid "And tadaa! Git will happily *replace* your remote branch with what you ha msgstr "" #: ../../docs/contributing/workflow/pr_workflow.rst:534 -msgid "Deleting a Git branch" +msgid "Rebasing onto another branch" msgstr "" #: ../../docs/contributing/workflow/pr_workflow.rst:536 -msgid "After your pull request gets merged, there's one last thing you should do: delete your Git branch for the PR. There won't be issues if you don't delete your branch, but it's good practice to do so. You'll need to do this twice, once for the local branch and another for the remote branch on GitHub." +msgid "If you have accidentally opened your PR on the wrong branch, or need to target another branch for some reason, you might need to filter out a lot of commits that differ between the old branch (for example ``4.2``) and the new branch (for example ``master``). This can make rebasing difficult and tedious. Fortunately ``git`` has a command just for this situation, ``git rebase --onto``." msgstr "" #: ../../docs/contributing/workflow/pr_workflow.rst:541 +msgid "If your PR was created from the ``4.2`` branch and you want to update it to instead start at ``master`` the following steps *should* fix this in one step:" +msgstr "" + +#: ../../docs/contributing/workflow/pr_workflow.rst:548 +msgid "This will take all the commits on your branch *after* the ``4.2`` branch, and then splice them on top of ``master``, ignoring any commits from the ``4.2`` branch not on the ``master`` branch. You may still need to do some fixing, but this command should save you a lot of tedious work removing commits." +msgstr "" + +#: ../../docs/contributing/workflow/pr_workflow.rst:552 +msgid "Just like above for the interactive rebase you need to force push your branch to handle the different changes:" +msgstr "" + +#: ../../docs/contributing/workflow/pr_workflow.rst:559 +msgid "Deleting a Git branch" +msgstr "" + +#: ../../docs/contributing/workflow/pr_workflow.rst:561 +msgid "After your pull request gets merged, there's one last thing you should do: delete your Git branch for the PR. There won't be issues if you don't delete your branch, but it's good practice to do so. You'll need to do this twice, once for the local branch and another for the remote branch on GitHub." +msgstr "" + +#: ../../docs/contributing/workflow/pr_workflow.rst:566 msgid "To delete our better Project Manager branch locally, use this command:" msgstr "" -#: ../../docs/contributing/workflow/pr_workflow.rst:547 +#: ../../docs/contributing/workflow/pr_workflow.rst:572 msgid "Alternatively, if the branch hadn't been merged yet and we wanted to delete it anyway, instead of ``-d`` you would use ``-D``." msgstr "" -#: ../../docs/contributing/workflow/pr_workflow.rst:550 +#: ../../docs/contributing/workflow/pr_workflow.rst:575 msgid "Next, to delete the remote branch on GitHub use this command:" msgstr "" -#: ../../docs/contributing/workflow/pr_workflow.rst:556 +#: ../../docs/contributing/workflow/pr_workflow.rst:581 msgid "You can also delete the remote branch from the GitHub PR itself, a button should appear once it has been merged or closed." msgstr "" diff --git a/sphinx/templates/contributing/workflow/testing_pull_requests.pot b/sphinx/templates/contributing/workflow/testing_pull_requests.pot index d8dfc814ab..c0b66e7553 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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 fa451e0ff6..52b7fb9d9d 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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 df0dafa154..3655ca479d 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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 3dfa962af8..8498e2091a 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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 60c09364a7..7f96317386 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\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 "Don't forget to set the children so they can't be selected, like you did msgstr "" #: ../../docs/getting_started/first_2d_game/04.creating_the_enemy.rst:27 -msgid "Select the ``Mob`` node and set it's ``Gravity Scale`` property in the :ref:`RigidBody2D ` section of the inspector to ``0``. This will prevent the mob from falling downwards." +msgid "Select the ``Mob`` node and set its ``Gravity Scale`` property in the :ref:`RigidBody2D ` section of the inspector to ``0``. This will prevent the mob from falling downwards." msgstr "" #: ../../docs/getting_started/first_2d_game/04.creating_the_enemy.rst:32 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 1b5c3607e1..f30610c454 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -169,7 +169,7 @@ msgid "You should be able to move the player around, see mobs spawning, and see msgstr "" #: ../../docs/getting_started/first_2d_game/05.the_main_game_scene.rst:290 -msgid "When you're sure everything is working, remove the call to ``new_game()`` from ``_ready()``." +msgid "When you're sure everything is working, remove the call to ``new_game()`` from ``_ready()`` and replace it with ``pass``." msgstr "" #: ../../docs/getting_started/first_2d_game/05.the_main_game_scene.rst:293 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 c8d618eda4..033fba2501 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -178,7 +178,7 @@ msgid "Add the code below to ``HUD`` to update the score" msgstr "" #: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:187 -msgid "Connect the ``timeout()`` signal of ``MessageTimer`` and the ``pressed()`` signal of ``StartButton``, and add the following code to the new functions:" +msgid "Connect the ``pressed()`` signal of ``StartButton`` and the ``timeout()`` signal of ``MessageTimer``, and add the following code to the new functions:" msgstr "" #: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:214 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 454e86f1cc..e4535608a3 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -80,35 +80,35 @@ msgstr "" msgid "Select \"Project\" -> \"Project Settings\" and then click on the \"Input Map\" tab. In the same way you created the movement input actions, create a new input action called ``start_game`` and add a key mapping for the :kbd:`Enter` key." msgstr "" -#: ../../docs/getting_started/first_2d_game/07.finishing-up.rst:88 +#: ../../docs/getting_started/first_2d_game/07.finishing-up.rst:90 msgid "Now would be a good time to add controller support if you have one available. Attach or pair your controller and then under each input action that you wish to add controller support for, click on the \"+\" button and press the corresponding button, d-pad, or stick direction that you want to map to the respective input action." msgstr "" -#: ../../docs/getting_started/first_2d_game/07.finishing-up.rst:93 +#: ../../docs/getting_started/first_2d_game/07.finishing-up.rst:95 msgid "In the ``HUD`` scene, select the ``StartButton`` and find its **Shortcut** property in the Inspector. Create a new :ref:`Shortcut ` resource by clicking within the box, open the **Events** array and add a new array element to it by clicking on **Array[InputEvent] (size 0)**." msgstr "" -#: ../../docs/getting_started/first_2d_game/07.finishing-up.rst:100 +#: ../../docs/getting_started/first_2d_game/07.finishing-up.rst:102 msgid "Create a new :ref:`InputEventAction ` and name it ``start_game``." msgstr "" -#: ../../docs/getting_started/first_2d_game/07.finishing-up.rst:104 +#: ../../docs/getting_started/first_2d_game/07.finishing-up.rst:106 msgid "Now when the start button appears, you can either click it or press :kbd:`Enter` to start the game." msgstr "" -#: ../../docs/getting_started/first_2d_game/07.finishing-up.rst:107 +#: ../../docs/getting_started/first_2d_game/07.finishing-up.rst:109 msgid "And with that, you completed your first 2D game in Godot." msgstr "" -#: ../../docs/getting_started/first_2d_game/07.finishing-up.rst:111 +#: ../../docs/getting_started/first_2d_game/07.finishing-up.rst:113 msgid "You got to make a player-controlled character, enemies that spawn randomly around the game board, count the score, implement a game over and replay, user interface, sounds, and more. Congratulations!" msgstr "" -#: ../../docs/getting_started/first_2d_game/07.finishing-up.rst:115 +#: ../../docs/getting_started/first_2d_game/07.finishing-up.rst:117 msgid "There's still much to learn, but you can take a moment to appreciate what you achieved." msgstr "" -#: ../../docs/getting_started/first_2d_game/07.finishing-up.rst:118 +#: ../../docs/getting_started/first_2d_game/07.finishing-up.rst:120 msgid "And when you're ready, you can move on to :ref:`doc_your_first_3d_game` to learn to create a complete 3D game from scratch, in Godot." msgstr "" diff --git a/sphinx/templates/getting_started/first_2d_game/index.pot b/sphinx/templates/getting_started/first_2d_game/index.pot index 2e1e41376a..6376979a0c 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -90,7 +90,7 @@ msgid "You can find a completed version of this project at this location:" msgstr "" #: ../../docs/getting_started/first_2d_game/index.rst:43 -msgid "https://github.com/godotengine/godot-demo-projects" +msgid "https://github.com/godotengine/godot-demo-projects/tree/master/2d/dodge_the_creeps" msgstr "" #: ../../docs/getting_started/first_2d_game/index.rst:46 @@ -102,7 +102,7 @@ msgid "This step-by-step tutorial is intended for beginners who followed the com msgstr "" #: ../../docs/getting_started/first_2d_game/index.rst:51 -msgid "If you're an experienced programmer, you can find the complete demo's source code here: `Godot demo projects `__." +msgid "If you're an experienced programmer, you can find the complete demo's source code here: `Dodge the Creeps source code `__." msgstr "" #: ../../docs/getting_started/first_2d_game/index.rst:55 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 e46a63c9e9..5d41508ebe 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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/02.player_input.pot b/sphinx/templates/getting_started/first_3d_game/02.player_input.pot index 2c9a5a87c4..a6d079d33e 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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 8a9e26a5a2..b4f29a0247 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -32,8 +32,8 @@ msgstr "" msgid "|image0|" msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:447 -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:447 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:438 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:438 msgid "image0" msgstr "" @@ -73,230 +73,222 @@ msgstr "" msgid "In case the player presses, say, both W and D simultaneously, the vector will have a length of about ``1.4``. But if they press a single key, it will have a length of ``1``. We want the vector's length to be consistent, and not move faster diagonally. To do so, we can call its ``normalized()`` method." msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:157 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:159 msgid "Here, we only normalize the vector if the direction has a length greater than zero, which means the player is pressing a direction key." msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:160 -msgid "In this case, we also get the ``Pivot`` node and call its ``look_at()`` method. This method takes a position in space to look at in global coordinates and the up direction. In this case, we can use the ``Vector3.UP`` constant." +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:162 +msgid "We compute the direction the ``$Pivot`` is looking by creating a :ref:`Basis ` that looks in the ``direction`` direction." msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:166 -msgid "A node's local coordinates, like ``position``, are relative to their parent. Global coordinates, like ``global_position`` are relative to the world's main axes you can see in the viewport instead." -msgstr "" - -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:170 -msgid "In 3D, the property that contains a node's position is ``position``. By adding the ``direction`` to it, we get a position to look at that's one meter away from the ``Player``." -msgstr "" - -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:174 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:165 msgid "Then, we update the velocity. We have to calculate the ground velocity and the fall speed separately. Be sure to go back one tab so the lines are inside the ``_physics_process()`` function but outside the condition we just wrote above." msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:223 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:214 msgid "The ``CharacterBody3D.is_on_floor()`` function returns ``true`` if the body collided with the floor in this frame. That's why we apply gravity to the ``Player`` only while it is in the air." msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:226 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:217 msgid "For the vertical velocity, we subtract the fall acceleration multiplied by the delta time every frame. This line of code will cause our character to fall in every frame, as long as it is not on or colliding with the floor." msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:230 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:221 msgid "The physics engine can only detect interactions with walls, the floor, or other bodies during a given frame if movement and collisions happen. We will use this property later to code the jump." msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:234 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:225 msgid "On the last line, we call ``CharacterBody3D.move_and_slide()`` which is a powerful method of the ``CharacterBody3D`` class that allows you to move a character smoothly. If it hits a wall midway through a motion, the engine will try to smooth it out for you. It uses the *velocity* value native to the :ref:`CharacterBody3D `" msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:246 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:237 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:248 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:239 msgid "Here is the complete ``Player.gd`` code for reference." msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:350 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:341 msgid "Testing our player's movement" msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:352 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:343 msgid "We're going to put our player in the ``Main`` scene to test it. To do so, we need to instantiate the player and then add a camera. Unlike in 2D, in 3D, you won't see anything if your viewport doesn't have a camera pointing at something." msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:356 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:347 msgid "Save your ``Player`` scene and open the ``Main`` scene. You can click on the *Main* tab at the top of the editor to do so." msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:359 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:350 msgid "|image1|" msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:448 -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:448 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:439 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:439 msgid "image1" msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:361 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:352 msgid "If you closed the scene before, head to the *FileSystem* dock and double-click ``main.tscn`` to re-open it." msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:364 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:355 msgid "To instantiate the ``Player``, right-click on the ``Main`` node and select *Instantiate Child Scene*." msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:367 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:358 msgid "|image2|" msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:449 -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:449 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:440 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:440 msgid "image2" msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:369 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:360 msgid "In the popup, double-click ``player.tscn``. The character should appear in the center of the viewport." msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:373 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:364 msgid "Adding a camera" msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:375 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:366 msgid "Let's add the camera next. Like we did with our *Player*\\ 's *Pivot*, we're going to create a basic rig. Right-click on the ``Main`` node again and select *Add Child Node*. Create a new :ref:`Marker3D `, and name it ``CameraPivot``. Select ``CameraPivot`` and add a child node :ref:`Camera3D ` to it. Your scene tree should look like this." msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:379 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:370 msgid "|image3|" msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:450 -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:450 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:441 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:441 msgid "image3" msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:381 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:372 msgid "Notice the *Preview* checkbox that appears in the top-left when you have the *Camera* selected. You can click it to preview the in-game camera projection." msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:384 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:375 msgid "|image4|" msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:451 -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:451 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:442 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:442 msgid "image4" msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:386 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:377 msgid "We're going to use the *Pivot* to rotate the camera as if it was on a crane. Let's first split the 3D view to be able to freely navigate the scene and see what the camera sees." msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:390 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:381 msgid "In the toolbar right above the viewport, click on *View*, then *2 Viewports*. You can also press :kbd:`Ctrl + 2` (:kbd:`Cmd + 2` on macOS)." msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:393 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:384 msgid "|image11|" msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:458 -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:458 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:449 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:449 msgid "image11" msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:395 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:386 msgid "|image5|" msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:452 -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:452 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:443 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:443 msgid "image5" msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:397 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:388 msgid "On the bottom view, select your :ref:`Camera3D ` and turn on camera Preview by clicking the checkbox." msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:400 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:391 msgid "|image6|" msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:453 -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:453 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:444 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:444 msgid "image6" msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:402 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:393 msgid "In the top view, move the camera about ``19`` units on the Z axis (the blue one)." msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:405 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:396 msgid "|image7|" msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:454 -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:454 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:445 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:445 msgid "image7" msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:407 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:398 msgid "Here's where the magic happens. Select the *CameraPivot* and rotate it ``-45`` degrees around the X axis (using the red circle). You'll see the camera move as if it was attached to a crane." msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:411 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:402 msgid "|image8|" msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:455 -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:455 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:446 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:446 msgid "image8" msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:413 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:404 msgid "You can run the scene by pressing :kbd:`F6` and press the arrow keys to move the character." msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:416 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:407 msgid "|image9|" msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:456 -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:456 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:447 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:447 msgid "image9" msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:418 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:409 msgid "We can see some empty space around the character due to the perspective projection. In this game, we're going to use an orthographic projection instead to better frame the gameplay area and make it easier for the player to read distances." msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:423 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:414 msgid "Select the *Camera* again and in the *Inspector*, set the *Projection* to *Orthogonal* and the *Size* to ``19``. The character should now look flatter and the ground should fill the background." msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:429 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:420 msgid "When using an orthogonal camera in Godot 4, directional shadow quality is dependent on the camera's *Far* value. The higher the *Far* value, the further away the camera will be able to see. However, higher *Far* values also decrease shadow quality as the shadow rendering has to cover a greater distance." msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:435 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:426 msgid "If directional shadows look too blurry after switching to an orthogonal camera, decrease the camera's *Far* property to a lower value such as ``100``. Don't decrease this *Far* property too much, or objects in the distance will start disappearing." msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:440 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:431 msgid "|image10|" msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:457 -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:457 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:448 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:448 msgid "image10" msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:442 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:433 msgid "Test your scene and you should be able to move in all 8 directions and not glitch through the floor!" msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:444 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:435 msgid "Ultimately, we have both player movement and the view in place. Next, we will work on the monsters." msgstr "" 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 d21c625d9d..90a2a1453d 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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/05.spawning_mobs.pot b/sphinx/templates/getting_started/first_3d_game/05.spawning_mobs.pot index 74d74d5978..62534aebe0 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -316,7 +316,7 @@ msgid "image18" msgstr "" #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:147 -msgid "To sample random positions on it, we need a :ref:`PathFollow3D ` node. Add a :ref:`PathFollow3D ` as a child of the ``Path3D``. Rename the two nodes to ``SpawnPath`` and ``SpawnLocation``, respectively. It's more descriptive of what we'll use them for." +msgid "To sample random positions on it, we need a :ref:`PathFollow3D ` node. Add a :ref:`PathFollow3D ` as a child of the ``Path3D``. Rename the two nodes to ``SpawnLocation`` and ``SpawnPath``, respectively. It's more descriptive of what we'll use them for." msgstr "" #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:151 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 e9708050a0..b91fd3b91f 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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/07.killing_player.pot b/sphinx/templates/getting_started/first_3d_game/07.killing_player.pot index 770e44257e..f6ecab4a2c 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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/08.score_and_replay.pot b/sphinx/templates/getting_started/first_3d_game/08.score_and_replay.pot index c6a9272ac1..c55fbc3a0a 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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/09.adding_animations.pot b/sphinx/templates/getting_started/first_3d_game/09.adding_animations.pot index d483818dce..388134d9f4 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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/going_further.pot b/sphinx/templates/getting_started/first_3d_game/going_further.pot index a29d29c9fd..3138ec2b64 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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 49087be625..8a33cba665 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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 5dfe22d9d3..0f49943f1d 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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/godot_design_philosophy.pot b/sphinx/templates/getting_started/introduction/godot_design_philosophy.pot index b5a7de4fb3..00d0edb0b5 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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 9c1b4ee6dd..c3784b070b 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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 870dd6465e..022a3fc9b4 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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 38a9c35d1c..1eba7cbc6d 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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 9d2a0edc89..b8e73b1c51 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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/index.pot b/sphinx/templates/getting_started/step_by_step/index.pot index 128164c317..683b8c3d15 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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 39d20a5db4..da9ec128da 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -137,7 +137,7 @@ msgid "Set its Bounce property to ``0.5`` by clicking on the number field, typin msgstr "" #: ../../docs/getting_started/step_by_step/instancing.rst:131 -msgid "Play the game by pressing :kbd:`F5` and notice how all balls now bounce a lot more. As the Ball scene is a template for all instances, modifying it and saving causes all instances to update accordingly." +msgid "Play the game by pressing :kbd:`F5` (:kbd:`Cmd + B` on macOS) and notice how all balls now bounce a lot more. As the Ball scene is a template for all instances, modifying it and saving causes all instances to update accordingly." msgstr "" #: ../../docs/getting_started/step_by_step/instancing.rst:135 @@ -161,7 +161,7 @@ msgid "Rerun the game and notice how this ball now falls much faster than the ot msgstr "" #: ../../docs/getting_started/step_by_step/instancing.rst:156 -msgid "If you change a value on the ``PhysicsMaterial`` of one instance, it will affect all the others. This is because ``PhysicsMaterial`` is a resource, and resources are shared between instances. To make a resource unique for one instance, right-click on it in the Inspector and click Make Unique in the contextual menu." +msgid "You may notice you are unable to change the values of the ``PhysicsMaterial`` of the ball. This is because ``PhysicsMaterial`` is a resource, and needs to be made unique before you can edit it in a scene that is linking to its original scene. To make a resource unique for one instance, right-click on it in the Inspector and click Make Unique in the contextual menu." msgstr "" #: ../../docs/getting_started/step_by_step/instancing.rst:162 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 375ebce339..2be9ac1181 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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 87b6c230cd..2f966c3d4d 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -80,151 +80,155 @@ msgstr "" msgid "Change the Template field from \"Node: Default\" to \"Object: Empty\" to start with a clean file. Leave the other options set to their default values and click the Create button to create the script." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:88 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:90 +msgid "C# script names need to match their class name. In this case, you should name the file ``MySprite2D.cs``." +msgstr "" + +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:93 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:104 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:109 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:110 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:115 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:114 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:119 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:119 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:124 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:123 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:128 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:127 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:132 msgid "Hello, world!" msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:129 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:134 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:132 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:137 msgid "Add the following code to your script:" msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:148 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:153 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:153 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:158 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:158 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:163 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:164 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:169 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:168 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:173 msgid "Turning around" msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:170 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:175 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:185 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:190 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:190 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:195 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:194 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:199 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:202 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:207 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:208 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:213 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:213 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:218 msgid "At the bottom of the script, define the function:" msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:228 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:233 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:233 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:238 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:238 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:243 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:243 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:248 msgid "In the code editor, you can ctrl-click 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:247 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:252 msgid "Run the scene to see the Godot icon turn in-place." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:251 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:256 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:256 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:261 msgid "Moving forward" msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:258 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:263 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:275 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:280 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:279 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:284 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:286 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:291 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:290 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:295 msgid "Run the scene to see the Godot head run in circles." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:294 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:299 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:298 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:303 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:302 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:307 msgid "Complete script" msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:304 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:309 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 e89470a4f6..3bbe385873 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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 c79188d4c6..9e2526773f 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "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 5f7e317c92..2cb7471710 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/index.pot b/sphinx/templates/index.pot index fcc9639869..adfab4f14b 100644 --- a/sphinx/templates/index.pot +++ b/sphinx/templates/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -20,23 +20,23 @@ msgstr "" msgid "About" msgstr "" -#: ../../docs/index.rst:88 +#: ../../docs/index.rst:89 msgid "Getting started" msgstr "" -#: ../../docs/index.rst:103 +#: ../../docs/index.rst:104 msgid "Manual" msgstr "" -#: ../../docs/index.rst:137 +#: ../../docs/index.rst:138 msgid "Contributing" msgstr "" -#: ../../docs/index.rst:149 +#: ../../docs/index.rst:150 msgid "Community" msgstr "" -#: ../../docs/index.rst:160 +#: ../../docs/index.rst:161 msgid "Class reference" msgstr "" diff --git a/sphinx/templates/sphinx.pot b/sphinx/templates/sphinx.pot index aca3829840..0ac467bf99 100644 --- a/sphinx/templates/sphinx.pot +++ b/sphinx/templates/sphinx.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 c16f04dd08..8225674c29 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 aa7ffc8e8b..a2ac682e1b 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 a5f957ca8a..e94f22748c 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 79ebb3ac28..6a145f9d25 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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_sprite_animation.pot b/sphinx/templates/tutorials/2d/2d_sprite_animation.pot index 29d6585d36..ad58804d78 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 f527a9cf1e..30692aac4e 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 7390795c82..0c418abae6 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 a3d03b7173..3333480163 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -25,199 +25,387 @@ msgid "Introduction" msgstr "" #: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:9 -msgid "Godot has nodes to draw sprites, polygons, particles, and all sorts of stuff. For most cases, this is enough. If there's no node to draw something specific you need, you can make any 2D node (for example, :ref:`Control ` or :ref:`Node2D ` based) draw custom commands." +msgid "Godot has nodes to draw sprites, polygons, particles, text, and many other common game development needs. However, if you need something specific not covered with the standard nodes you can make any 2D node (for example, :ref:`Control ` or :ref:`Node2D `-based) draw on screen using custom commands." msgstr "" -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:14 +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:15 msgid "Custom drawing in a 2D node is *really* useful. Here are some use cases:" msgstr "" -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:16 +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:17 msgid "Drawing shapes or logic that existing nodes can't do, such as an image with trails or a special animated polygon." msgstr "" -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:18 -msgid "Visualizations that are not that compatible with nodes, such as a tetris board. (The tetris example uses a custom draw function to draw the blocks.)" +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:19 +msgid "Drawing a large number of simple objects, such as a grid or a board for a 2d game. Custom drawing avoids the overhead of using a large number of nodes, possibly lowering memory usage and improving performance." msgstr "" -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:21 -msgid "Drawing a large number of simple objects. Custom drawing avoids the overhead of using a large number of nodes, possibly lowering memory usage and improving performance." -msgstr "" - -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:24 +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:22 msgid "Making a custom UI control. There are plenty of controls available, but when you have unusual needs, you will likely need a custom control." msgstr "" -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:29 +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:27 msgid "Drawing" msgstr "" -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:31 -msgid "Add a script to any :ref:`CanvasItem ` derived node, like :ref:`Control ` or :ref:`Node2D `. Then override the ``_draw()`` function." +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:29 +msgid "Add a script to any :ref:`CanvasItem ` derived node, like :ref:`Control ` or :ref:`Node2D `. Then override the :ref:`_draw()` function." msgstr "" -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:51 -msgid "Draw commands are described in the :ref:`CanvasItem ` class reference. There are plenty of them." +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:54 +msgid "Draw commands are described in the :ref:`CanvasItem ` class reference. There are plenty of them and we will see some of them in the examples below." msgstr "" -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:55 +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:59 msgid "Updating" msgstr "" -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:57 -msgid "The ``_draw()`` function is only called once, and then the draw commands are cached and remembered, so further calls are unnecessary." +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:61 +msgid "The :ref:`_draw ` function is only called once, and then the draw commands are cached and remembered, so further calls are unnecessary." msgstr "" -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:60 -msgid "If re-drawing is required because a state or something else changed, call :ref:`CanvasItem.queue_redraw() ` in that same node and a new ``_draw()`` call will happen." +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:65 +msgid "If re-drawing is required because a variable or something else changed, call :ref:`CanvasItem.queue_redraw ` in that same node and a new ``_draw()`` call will happen." msgstr "" -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:64 -msgid "Here is a little more complex example, a texture variable that will be redrawn if modified:" +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:69 +msgid "Here is a little more complex example, where we have a texture variable that can be modified at any time, and using a :ref:`setter`, it forces a redraw of the texture when modified:" msgstr "" -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:111 -msgid "In some cases, it may be desired to draw every frame. For this, call ``queue_redraw()`` from the ``_process()`` callback, like this:" +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:116 +msgid "To see it in action, you can set the texture to be the Godot icon on the editor by dragging and dropping the default ``icon.svg`` from the ``FileSystem`` tab to the Texture property on the ``Inspector`` tab. When changing the ``Texture`` property value while the previous script is running, the texture will also change automatically." msgstr "" -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:144 -msgid "Coordinates" +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:122 +msgid "In some cases, we may need to redraw every frame. For this, call :ref:`queue_redraw ` from the :ref:`_process ` method, like this:" msgstr "" -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:146 -msgid "The drawing API uses the CanvasItem's coordinate system, not necessarily pixel coordinates. Which means it uses the coordinate space created after applying the CanvasItem's transform. Additionally, you can apply a custom transform on top of it by using :ref:`draw_set_transform` or :ref:`draw_set_transform_matrix`." +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:155 +msgid "Coordinates and line width alignment" msgstr "" -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:153 -msgid "When using ``draw_line``, you should consider the width of the line. When using a width that is an odd size, the position should be shifted by ``0.5`` to keep the line centered as shown below." +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:157 +msgid "The drawing API uses the CanvasItem's coordinate system, not necessarily pixel coordinates. This means ``_draw()`` uses the coordinate space created after applying the CanvasItem's transform. Additionally, you can apply a custom transform on top of it by using :ref:`draw_set_transform` or :ref:`draw_set_transform_matrix`." msgstr "" -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:176 -msgid "The same applies to the ``draw_rect`` method with ``filled = false``." +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:164 +msgid "When using :ref:`draw_line `, you should consider the width of the line. When using a width that is an odd size, the position of the start and end points should be shifted by ``0.5`` to keep the line centered, as shown below." msgstr "" -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:200 -msgid "An example: drawing circular arcs" +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:188 +msgid "The same applies to the :ref:`draw_rect ` method with ``filled = false``." msgstr "" -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:202 -msgid "We will now use the custom drawing functionality of the Godot Engine to draw something that Godot doesn't provide functions for. As an example, Godot provides a ``draw_circle()`` function that draws a whole circle. However, what about drawing a portion of a circle? You will have to code a function to perform this and draw it yourself." -msgstr "" - -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:208 -msgid "Arc function" -msgstr "" - -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:210 -msgid "An arc is defined by its support circle parameters, that is, the center position and the radius. The arc itself is then defined by the angle it starts from and the angle at which it stops. These are the 4 arguments that we have to provide to our drawing function. We'll also provide the color value, so we can draw the arc in different colors if we wish." -msgstr "" - -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:215 -msgid "Basically, drawing a shape on the screen requires it to be decomposed into a certain number of points linked from one to the next. As you can imagine, the more points your shape is made of, the smoother it will appear, but the heavier it will also be in terms of processing cost. In general, if your shape is huge (or in 3D, close to the camera), it will require more points to be drawn without it being angular-looking. On the contrary, if your shape is small (or in 3D, far from the camera), you may decrease its number of points to save processing costs; this is known as *Level of Detail (LOD)*. In our example, we will simply use a fixed number of points, no matter the radius." -msgstr "" - -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:257 -msgid "Remember the number of points our shape has to be decomposed into? We fixed this number in the ``nb_points`` variable to a value of ``32``. Then, we initialize an empty ``PackedVector2Array``, which is simply an array of ``Vector2``\\ s." -msgstr "" - -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:261 -msgid "The next step consists of computing the actual positions of these 32 points that compose an arc. This is done in the first for-loop: we iterate over the number of points for which we want to compute the positions, plus one to include the last point. We first determine the angle of each point, between the starting and ending angles." -msgstr "" - -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:266 -msgid "The reason why each angle is decreased by 90° is that we will compute 2D positions out of each angle using trigonometry (you know, cosine and sine stuff...). However, ``cos()`` and ``sin()`` use radians, not degrees. The angle of 0° (0 radian) starts at 3 o'clock, although we want to start counting at 12 o'clock. So we decrease each angle by 90° in order to start counting from 12 o'clock." -msgstr "" - -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:272 -msgid "The actual position of a point located on a circle at angle ``angle`` (in radians) is given by ``Vector2(cos(angle), sin(angle))``. Since ``cos()`` and ``sin()`` return values between -1 and 1, the position is located on a circle of radius 1. To have this position on our support circle, which has a radius of ``radius``, we simply need to multiply the position by ``radius``. Finally, we need to position our support circle at the ``center`` position, which is performed by adding it to our ``Vector2`` value. Finally, we insert the point in the ``PackedVector2Array`` which was previously defined." -msgstr "" - -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:280 -msgid "Now, we need to actually draw our points. As you can imagine, we will not simply draw our 32 points: we need to draw everything that is between each of them. We could have computed every point ourselves using the previous method, and drew it one by one. But this is too complicated and inefficient (except if explicitly needed), so we simply draw lines between each pair of points. Unless the radius of our support circle is big, the length of each line between a pair of points will never be long enough to see them. If that were to happen, we would simply need to increase the number of points." -msgstr "" - -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:290 -msgid "Draw the arc on the screen" -msgstr "" - -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:292 -msgid "We now have a function that draws stuff on the screen; it is time to call it inside the ``_draw()`` function:" -msgstr "" - -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:319 -msgid "Result:" -msgstr "" - -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:324 -msgid "Arc polygon function" -msgstr "" - -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:326 -msgid "We can take this a step further and not only write a function that draws the plain portion of the disc defined by the arc, but also its shape. The method is exactly the same as before, except that we draw a polygon instead of lines:" -msgstr "" - -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:366 -msgid "Dynamic custom drawing" -msgstr "" - -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:368 -msgid "All right, we are now able to draw custom stuff on the screen. However, it is static; let's make this shape turn around the center. The solution to do this is simply to change the angle_from and angle_to values over time. For our example, we will simply increment them by 50. This increment value has to remain constant or else the rotation speed will change accordingly." -msgstr "" - -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:374 -msgid "First, we have to make both angle_from and angle_to variables global at the top of our script. Also note that you can store them in other nodes and access them using ``get_node()``." -msgstr "" - -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:398 -msgid "We make these values change in the _process(delta) function." -msgstr "" - -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:400 -msgid "We also increment our angle_from and angle_to values here. However, we must not forget to ``wrap()`` the resulting values between 0 and 360°! That is, if the angle is 361°, then it is actually 1°. If you don't wrap these values, the script will work correctly, but the angle values will grow bigger and bigger over time until they reach the maximum integer value Godot can manage (``2^31 - 1``). When this happens, Godot may crash or produce unexpected behavior." -msgstr "" - -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:407 -msgid "Finally, we must not forget to call the ``queue_redraw()`` function, which automatically calls ``_draw()``. This way, you can control when you want to refresh the frame." -msgstr "" - -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:440 -msgid "Also, don't forget to modify the ``_draw()`` function to make use of these variables:" -msgstr "" - -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:464 -msgid "Let's run! It works, but the arc is rotating insanely fast! What's wrong?" -msgstr "" - -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:467 -msgid "The reason is that your GPU is actually displaying the frames as fast as it can. We need to \"normalize\" the drawing by this speed; to achieve that, we have to make use of the ``delta`` parameter of the ``_process()`` function. ``delta`` contains the time elapsed between the two last rendered frames. It is generally small (about 0.0003 seconds, but this depends on your hardware), so using ``delta`` to control your drawing ensures that your program runs at the same speed on everybody's hardware." -msgstr "" - -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:475 -msgid "In our case, we simply need to multiply our ``rotation_angle`` variable by ``delta`` in the ``_process()`` function. This way, our 2 angles will be increased by a much smaller value, which directly depends on the rendering speed." -msgstr "" - -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:509 -msgid "Let's run again! This time, the rotation displays fine!" -msgstr "" - -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:512 +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:213 msgid "Antialiased drawing" msgstr "" -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:514 +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:215 msgid "Godot offers method parameters in :ref:`draw_line` to enable antialiasing, but not all custom drawing methods offer this ``antialiased`` parameter." msgstr "" -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:518 +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:219 msgid "For custom drawing methods that don't provide an ``antialiased`` parameter, you can enable 2D MSAA instead, which affects rendering in the entire viewport. This provides high-quality antialiasing, but a higher performance cost and only on specific elements. See :ref:`doc_2d_antialiasing` for more information." msgstr "" -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:524 +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:224 +msgid "Here is a comparison of a line of minimal width (``width=-1``) drawn with ``antialiased=false``, ``antialiased=true``, and ``antialiased=false`` with 2D MSAA 2x, 4x, and 8x enabled." +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:231 msgid "Tools" msgstr "" -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:526 -msgid "Drawing your own nodes might also be desired while running them in the editor. This can be used as a preview or visualization of some feature or behavior. See :ref:`doc_running_code_in_the_editor` for more information." +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:233 +msgid "Drawing your own nodes might also be desired while running them in the editor. This can be used as a preview or visualization of some feature or behavior." +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:237 +msgid "To do this, you can use the :ref:`tool annotation` on both GDScript and C#. See :ref:`the example below` and :ref:`doc_running_code_in_the_editor` for more information." +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:245 +msgid "Example 1: drawing a custom shape" +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:247 +msgid "We will now use the custom drawing functionality of the Godot Engine to draw something that Godot doesn't provide functions for. We will recreate the Godot logo but with code- only using drawing functions." +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:251 +msgid "You will have to code a function to perform this and draw it yourself." +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:255 +msgid "The following instructions use a fixed set of coordinates that could be too small for high resolution screens (larger than 1080p). If that is your case, and the drawing is too small consider increasing your window scale in ``Menu > Project > Project settings > display/window/stretch/scale`` to adjust the project to a higher resolution (a 2 or 4 scale tends to work well)." +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:262 +msgid "Drawing a custom polygon shape" +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:264 +msgid "While there is a dedicated node to draw custom polygons ( :ref:`Polygon2D `), we will use in this case exclusively lower level drawing functions to combine them on the same node and be able to create more complex shapes later on." +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:269 +msgid "First, we will define a set of points -or X and Y coordinates- that will form the base of our shape:" +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:313 +msgid "This format, while compact, is not the one that Godot understands to draw a polygon. In a different scenario we could have to load these coordinates from a file or calculate the positions while the application is running, so some transformation may be needed." +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:318 +msgid "To transform these coordinates into the right format, we will create a new method ``float_array_to_Vector2Array()``. Then we will override the ``_ready()`` function, which Godot will call only once -at the start of the execution- to load those coordinates into a variable:" +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:359 +msgid "To finally draw our first shape, we will use the method :ref:`draw_polygon ` and pass the points (as an array of Vector2 coordinates) and its color, like this:" +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:383 +msgid "When running it you should see something like this:" +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:387 +msgid "Note the lower part of the logo looks segmented- this is because a low amount of points were used to define that part. To simulate a smooth curve, we could add more points to our array, or maybe use a mathematical function to interpolate a curve and create a smooth shape from code (see :ref:`example 2`)." +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:393 +msgid "Polygons will always **connect its last defined point to its first one** in order to have a closed shape." +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:397 +msgid "Drawing connected lines" +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:399 +msgid "Drawing a sequence of connected lines that don't close down to form a polygon is very similar to the previous method. We will use a connected set of lines to draw Godot's logo mouth." +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:403 +msgid "First, we will define the list of coordinates that form the mouth shape, like this:" +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:427 +msgid "We will load these coordinates into a variable and define an additional variable with the configurable line thickness:" +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:451 +msgid "And finally we will use the method :ref:`draw_polyline ` to actually draw the line, like this:" +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:483 +msgid "You should get the following output:" +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:487 +msgid "Unlike ``draw_polygon()``, polylines can only have a single unique color for all its points (the second argument). This method has 2 additional arguments: the width of the line (which is as small as possible by default) and enabling or disabling the anti-aliasing (it is disabled by default)." +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:492 +msgid "The order of the ``_draw`` calls is important- like with the Node positions on the tree hierarchy, the different shapes will be drawn from top to bottom, resulting in the latest shapes hiding earlier ones if they overlap. In this case we want the mouth drawn over the head, so we put it afterwards." +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:497 +msgid "Notice how we can define colors in different ways, either with a hexadecimal code or a predefined color name. Check the class :ref:`Color ` for other constants and ways to define Colors." +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:502 +msgid "Drawing circles" +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:504 +msgid "To create the eyes, we are going to add 4 additional calls to draw the eye shapes, in different sizes, colors and positions." +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:507 +msgid "To draw a circle, you position it based on its center using the :ref:`draw_circle ` method. The first parameter is a :ref:`Vector2` with the coordinates of its center, the second is its radius, and the third is its color:" +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:548 +msgid "When executing it, you should have something like this:" +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:553 +msgid "For partial, unfilled arcs (portions of a circle shape between certain arbitrary angles), you can use the method :ref:`draw_arc `." +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:558 +msgid "Drawing lines" +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:560 +msgid "To draw the final shape (the nose) we will use a line to approximate it." +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:562 +msgid ":ref:`draw_line ` can be used to draw a single segment by providing its start and end coordinates as arguments, like this:" +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:604 +msgid "You should now be able to see the following shape on screen:" +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:608 +msgid "Note that if multiple unconnected lines are going to be drawn at the same time, you may get additional performance by drawing all of them in a single call, using the :ref:`draw_multiline ` method." +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:613 +msgid "Drawing text" +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:615 +msgid "While using the :ref:`Label ` Node is the most common way to add text to your application, the low level `_draw` function includes functionality to add text to your custom Node drawing. We will use it to add the name \"GODOT\" under the robot head." +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:620 +msgid "We will use the :ref:`draw_string ` method to do it, like this:" +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:669 +msgid "Here we first load into the defaultFont variable the configured default theme font (a custom one can be set instead) and then we pass the following parameters: font, position, text, horizontal alignment, width, and font size." +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:673 +msgid "You should see the following on your screen:" +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:677 +msgid "Additional parameters as well as other methods related to text and characters can be found on the :ref:`CanvasItem ` class reference." +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:683 +msgid "Show the drawing while editing" +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:685 +msgid "While the code so far is able to draw the logo on a running window, it will not show up on the ``2D view`` on the editor. In certain cases you would also like to show your custom Node2D or control on the editor, to position and scale it appropriately, like most other nodes do." +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:690 +msgid "To show the logo directly on the editor (without running it), you can use the :ref:`@tool` annotation to request the custom drawing of the node to also appear while editing, like this:" +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:707 +msgid "You will need to save your scene, rebuild your project (for C# only) and reload the current scene manually at the menu option ``Scene > Reload Saved Scene`` to refresh the current node in the ``2D`` view the first time you add or remove the ``@tool`` annotation." +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:713 +msgid "Animation" +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:715 +msgid "If we wanted to make the custom shape change at runtime, we could modify the methods called or its arguments at execution time, or apply a transform." +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:718 +msgid "For example, if we want the custom shape we just designed to rotate, we could add the following variable and code to the ``_ready`` and ``_process`` methods:" +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:751 +msgid "The problem with the above code is that because we have created the points approximately on a rectangle starting from the upper left corner, the ``(0, 0)`` coordinate and extending to the right and down, we see that the rotation is done using the top left corner as pivot. A position transform change on the node won't help us here, as the rotation transform is applied first." +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:757 +msgid "While we could rewrite all of the points' coordinates to be centered around ``(0, 0)``, including negative coordinates, that would be a lot of work." +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:760 +msgid "One possible way to work around this is to use the lower level :ref:`draw_set_transform` method to fix this issue, translating all points in the CanvasItem's own space, and then moving it back to its original place with a regular node transform, either in the editor or in code, like this:" +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:794 +msgid "This is the result, rotating around a pivot now on ``(60, 60)``:" +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:798 +msgid "If what we wanted to animate was a property inside the ``_draw()`` call, we must remember to call ``queue_redraw()`` to force a refresh, as otherwise it would not be updated on screen." +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:801 +msgid "For example, this is how we can make the robot appear to open and close its mouth, by changing the width of its mouth line follow a sinusoidal (:ref:`sin`) curve:" +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:841 +msgid "It will look somewhat like this when run:" +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:845 +msgid "Please note that ``_mouth_width`` is a user defined property like any other and it or any other used as a drawing argument can be animated using more standard and high level methods such as a :ref:`Tween` or an :ref:`AnimationPlayer` Node. The only difference is that a ``queue_redraw()`` call is needed to apply those changes so they get shown on screen." +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:855 +msgid "Example 2: drawing a dynamic line" +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:857 +msgid "The previous example was useful to learn how to draw and modify nodes with custom shapes and animations. This could have some advantages, such as using exact coordinates and vectors for drawing, rather than bitmaps -which means they will scale well when transformed on screen. In some cases, similar results could be achieved composing higher level functionality with nodes such as :ref:`sprites` or :ref:`AnimatedSprites` loading SVG resources (which are also images defined with vectors) and the :ref:`AnimationPlayer` node." +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:867 +msgid "In other cases that will not be possible because we will not know what the resulting graphical representation will be before running the code. Here we will see how to draw a dynamic line whose coordinates are not known beforehand, and are affected by the user's input." +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:873 +msgid "Drawing a straight line between 2 points" +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:875 +msgid "Let's assume we want to draw a straight line between 2 points, the first one will be fixed on the upper left corner ``(0, 0)`` and the second will be defined by the cursor position on screen." +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:879 +msgid "We could draw a dynamic line between those 2 points like this:" +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:930 +msgid "In this example we obtain the position of the mouse in the default viewport every frame with the method :ref:`get_mouse_position `. If the position has changed since the last draw request (a small optimization to avoid redrawing on every frame)- we will schedule a redraw. Our ``_draw()`` method only has one line: requesting the drawing of a green line of width 10 pixels between the top left corner and that obtained position." +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:938 +msgid "The width, color, and position of the starting point can be configured with with the corresponding properties." +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:941 +msgid "It should look like this when run:" +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:946 +msgid "Drawing an arc between 2 points" +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:948 +msgid "The above example works, but we may want to join those 2 points with a different shape or function, other than a straight line." +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:951 +msgid "Let's try now creating an arc (a portion of a circumference) between both points." +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:954 +msgid "Exporting the line starting point, segments, width, color, and antialiasing will allow us to modify those properties very easily directly from the editor inspector panel:" +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:996 +msgid "To draw the arc, we can use the method :ref:`draw_arc`. There are many arcs that pass through 2 points, so we will chose for this example the semicircle that has its center in the middle point between the 2 initial points." +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:1002 +msgid "Calculating this arc will be more complex than in the case of the line:" +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:1041 +msgid "The center of the semicircle will be the middle point between both points. The radius will be half the distance between both points. The start and end angles will be the angles of the vector from point1 to point2 and vice-versa. Note we had to normalize the ``end_angle`` in positive values because if ``end_angle`` is less than ``start_angle``, the arc will be drawn counter-clockwise, which we don't want in this case (the arc would be upside-down)." +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:1050 +msgid "The result should be something like this, with the arc going down and between the points:" +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:1055 +msgid "Feel free to play with the parameters in the inspector to obtain different results: change the color, the width, the antialiasing, and increase the number of segments to increase the curve smoothness, at the cost of extra performance." msgstr "" #: ../../docs/:0 diff --git a/sphinx/templates/tutorials/2d/index.pot b/sphinx/templates/tutorials/2d/index.pot index 6289ae1ece..2579785081 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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/particle_systems_2d.pot b/sphinx/templates/tutorials/2d/particle_systems_2d.pot index 7e9e4d1f13..198a20f93a 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 9aad6e2236..62764d9a7c 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 d2af848307..c2ef2819c0 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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_antialiasing.pot b/sphinx/templates/tutorials/3d/3d_antialiasing.pot index 1182e956d6..1b6e959cd3 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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_rendering_limitations.pot b/sphinx/templates/tutorials/3d/3d_rendering_limitations.pot index 10d78074ab..26e3a14ae5 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 ffbc3bba5d..5e4f424a08 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 6cb5fd9631..3d2439c3fd 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\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 "The CSG nodes in Godot are mainly intended for prototyping. There is no b msgstr "" #: ../../docs/tutorials/3d/csg_tools.rst:20 -msgid "If you're looking for an easy to use level design tool for a project, you may want to use `Qodot `__ instead. It lets you design levels using `TrenchBroom `__ and import them in Godot." +msgid "If you're looking for an easy to use level design tool for a project, you may want to use `Qodot `__ instead. It lets you design levels using `TrenchBroom `__ and import them in Godot." msgstr "" #: ../../docs/tutorials/3d/csg_tools.rst:30 diff --git a/sphinx/templates/tutorials/3d/environment_and_post_processing.pot b/sphinx/templates/tutorials/3d/environment_and_post_processing.pot index bf1c66c1e6..3d3fcf0cd4 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -320,540 +320,544 @@ msgstr "" msgid "The second is **Transmit Enabled** which simulates more realistic light transmittance. In practice, it makes light stand out more across the fog." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:305 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:306 +msgid "Fog can cause banding to appear on the viewport, especially at higher density levels. See :ref:`doc_3d_rendering_limitations_color_banding` for guidance on reducing banding." +msgstr "" + +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:311 msgid "Volumetric Fog" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:307 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:313 msgid "Volumetric fog provides a realistic fog effect to the scene, with fog color being affected by the lights that traverse the fog." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:312 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:318 msgid "See :ref:`doc_volumetric_fog` for documentation on setting up volumetric fog." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:315 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:321 msgid "Tonemap" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:317 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:323 msgid "Tonemap selects the tonemapping curve that will be applied to the scene, from a list of standard curves used in the film and game industries. Tonemapping operators other than Linear are used to make light and dark areas more homogeneous, while also avoiding clipping of bright highlights." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:322 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:328 msgid "The tone mapping options are:" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:324 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:330 msgid "**Mode:** The tone mapping mode to use." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:326 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:332 msgid "**Linear:** The default tonemapping mode. This is the fastest and simplest tonemapping operator, but it causes bright lighting to look blown out, with noticeable clipping in the output colors." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:329 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:335 msgid "**Reinhardt:** Performs a variation on rendered pixels' colors by this formula: ``color = color / (1 + color)``. This avoids clipping bright highlights, but the resulting image can look a bit dull." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:332 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:338 msgid "**Filmic:** This avoids clipping bright highlights, with a resulting image that usually looks more vivid than Reinhardt." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:334 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:340 msgid "**ACES:** Academy Color Encoding System tonemapper. ACES is slightly more expensive than other options, but it handles bright lighting in a more realistic fashion by desaturating it as it becomes brighter. ACES typically has a more contrasted output compared to Reinhardt and Filmic. ACES is the recommended option when aiming for photorealistic visuals. This tonemapping mode was called \"ACES Fitted\" in Godot 3.x." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:341 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:347 msgid "**Exposure:** Tone mapping exposure which simulates amount of light received over time (default: ``1.0``). Higher values result in an overall brighter appearance. If the scene appears too dark as a result of a tonemapping operator or whitepoint change, try increasing this value slightly." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:346 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:352 msgid "**White:** Tone mapping whitepoint, which simulates where in the scale white is located (default: ``1.0``). For photorealistic lighting, recommended values are between ``6.0`` and ``8.0``. Higher values result in less blown out highlights, but make the scene appear slightly darker as a whole." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:352 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:358 msgid "Mid- and post-processing effects" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:354 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:360 msgid "The Environment resource supports many popular mid- and post-processing effects." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:358 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:364 msgid "Screen-space effects such as :abbr:`SSR (Screen-Space Reflections)`, :abbr:`SSAO (Screen-Space Ambient Occlusion)`, :abbr:`SSIL (Screen-Space Indirect Lighting)` and glow do not operate on geometry that is located outside the camera view or is occluded by other opaque geometry. Consider this when tweaking their settings to avoid distracting changes during gameplay." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:366 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:372 msgid "Screen-Space Reflections (SSR)" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:368 -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:410 -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:484 -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:530 -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:831 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:374 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:416 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:490 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:536 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:837 msgid "*This feature is only available when using the Forward+ backend, not Mobile or Compatibility.*" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:371 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:377 msgid "While Godot supports several sources of reflection data such as :ref:`doc_reflection_probes`, they may not provide enough detail for all situations. Scenarios where screen-space reflections make the most sense are when objects are in contact with each other (object over floor, over a table, floating on water, etc)." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:379 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:385 msgid "On top of providing more detail, screen-space reflections also work in real-time (while other types of reflections are usually precomputed). This can be used to make characters, cars, etc. reflect on surrounding surfaces when moving around." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:383 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:389 msgid "Screen-space reflections can be used at the same time as other reflection sources to benefit from detailed reflections when possible, while having a fallback when screen-space reflections cannot be used (for example, to reflect off-screen objects)." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:388 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:394 msgid "A few user-controlled parameters are available to better tweak the technique:" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:390 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:396 msgid "**Max Steps:** Determines the length of the reflection. The bigger this number, the more costly it is to compute." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:392 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:398 msgid "**Fade In:** Allows adjusting the fade-in curve, which is useful to make the contact area softer." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:394 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:400 msgid "**Fade Out:** Allows adjusting the fade-out curve, so the step limit fades out softly." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:396 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:402 msgid "**Depth Tolerance:** Can be used to allow screen-space rays to pass behind objects. The rays will treat each object as if it has this depth in determining if it can pass behind the object. Higher values will make screen-space reflections exhibit fewer \"breakups\", at the cost of some objects creating physically incorrect reflections." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:402 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:408 msgid "Keep in mind that screen-space-reflections only work for reflecting opaque geometry. Transparent materials won't be reflected, as they don't write to the depth buffer. This also applies to shaders that use ``hint_screen_texture`` or ``hint_depth_texture`` uniforms." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:408 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:414 msgid "Screen-Space Ambient Occlusion (SSAO)" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:413 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:419 msgid "As mentioned in the **Ambient** section, areas where light from light nodes does not reach (either because it's outside the radius or shadowed) are lit with ambient light. Godot can simulate this using VoxelGI, ReflectionProbe, the Sky, or a constant ambient color. The problem, however, is that all the methods proposed previously act more on a larger scale (large regions) than at the smaller geometry level." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:420 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:426 msgid "Constant ambient color and Sky are the same everywhere, while GI and Reflection probes have more local detail, but not enough to simulate situations where light is not able to fill inside hollow or concave features." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:424 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:430 msgid "This can be simulated with Screen Space Ambient Occlusion. As you can see in the image below, its purpose is to make sure concave areas are darker, simulating a narrower path for the light to enter:" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:430 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:436 msgid "It is a common mistake to enable this effect, turn on a light, and not be able to appreciate it. This is because :abbr:`SSAO (Screen-Space Ambient Occlusion)` only acts on *ambient* light. It does not affect direct light." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:434 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:440 msgid "This is why, in the image above, the effect is less noticeable under the direct light (on the left). If you want to force :abbr:`SSAO (Screen-Space Ambient Occlusion)` to work with direct light too, use the **Light Affect** parameter. Even though this is not physically correct, some artists like how it looks." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:440 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:446 msgid ":abbr:`SSAO (Screen-Space Ambient Occlusion)` looks best when combined with a real source of indirect light, like VoxelGI:" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:445 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:451 msgid "Tweaking :abbr:`SSAO (Screen-Space Ambient Occlusion)` is possible with several parameters:" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:450 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:456 msgid "**Radius:** The distance at which objects can occlude each other when calculating screen-space ambient occlusion. Higher values will result in occlusion over a greater distance at the cost of performance and quality." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:453 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:459 msgid "**Intensity:** The primary screen-space ambient occlusion intensity. Acts as a multiplier for the screen-space ambient occlusion effect. A higher value results in darker occlusion. Since :abbr:`SSAO (Screen-Space Ambient Occlusion)` is a screen-space effect, it's recommended to remain conservative with this value. :abbr:`SSAO (Screen-Space Ambient Occlusion)` that is too strong can be distracting during gameplay." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:460 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:466 msgid "**Power:** The distribution of occlusion. A higher value results in darker occlusion, similar to **Intensity**, but with a sharper falloff." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:462 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:468 msgid "**Detail:** Sets the strength of the additional level of detail for the screen-space ambient occlusion effect. A high value makes the detail pass more prominent, but it may contribute to aliasing in your final image." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:465 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:471 msgid "**Horizon:** The threshold for considering whether a given point on a surface is occluded or not represented as an angle from the horizon mapped into the 0.0-1.0 range. A value of 1.0 results in no occlusion." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:468 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:474 msgid "**Sharpness:** The amount that the screen-space ambient occlusion effect is allowed to blur over the edges of objects. Setting too high will result in aliasing around the edges of objects. Setting too low will make object edges appear blurry." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:472 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:478 msgid "**Light Affect:** The screen-space ambient occlusion intensity in direct light. In real life, ambient occlusion only applies to indirect light, which means its effects can't be seen in direct light. Values higher than 0 will make the :abbr:`SSAO (Screen-Space Ambient Occlusion)` effect visible in direct light. Values above ``0.0`` are not physically accurate, but some artists prefer this effect." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:482 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:488 msgid "Screen-Space Indirect Lighting (SSIL)" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:487 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:493 msgid ":abbr:`SSIL (Screen-Space Indirect Lighting)` provides indirect lighting for small details or dynamic geometry that other global illumination techniques cannot cover. This applies to bounced diffuse lighting, but also emissive materials. When :abbr:`SSIL (Screen-Space Indirect Lighting)` is enabled on its own, the effect may not be that noticeable, which is intended." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:493 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:499 msgid "Instead, :abbr:`SSIL (Screen-Space Indirect Lighting)` is meant to be used as a *complement* to other global illumination techniques such as VoxelGI, SDFGI and LightmapGI. :abbr:`SSIL (Screen-Space Indirect Lighting)` also provides a subtle ambient occlusion effect, similar to SSAO but with less detail." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:498 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:504 msgid "This feature only provides indirect lighting. It is not a full global illumination solution. This makes it different from screen-space global illumination (SSGI) offered by other 3D engines. :abbr:`SSIL (Screen-Space Indirect Lighting)` can be combined with :abbr:`SSR (Screen-Space Reflections)` and/or :abbr:`SSAO (Screen-Space Ambient Occlusion)` for greater visual quality (at the cost of performance)." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:505 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:511 msgid "Tweaking :abbr:`SSIL (Screen-Space Indirect Lighting)` is possible with several parameters:" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:507 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:513 msgid "**Radius:** The distance that bounced lighting can travel when using the screen space indirect lighting effect. A larger value will result in light bouncing further in a scene, but may result in under-sampling artifacts which look like long spikes surrounding light sources." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:511 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:517 msgid "**Intensity:** The brightness multiplier for the screen-space indirect lighting effect. A higher value will result in brighter light." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:513 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:519 msgid "**Sharpness:** The amount that the screen-space indirect lighting effect is allowed to blur over the edges of objects. Setting too high will result in aliasing around the edges of objects. Setting too low will make object edges appear blurry." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:517 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:523 msgid "**Normal Rejection:** Amount of normal rejection used when calculating screen-space indirect lighting. Normal rejection uses the normal of a given sample point to reject samples that are facing away from the current pixel. Normal rejection is necessary to avoid light leaking when only one side of an object is illuminated. However, normal rejection can be disabled if light leaking is desirable, such as when the scene mostly contains emissive objects that emit light from faces that cannot be seen from the camera." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:528 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:534 msgid "Signed Distance Field Global Illumination (SDFGI)" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:533 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:539 msgid "Signed distance field global illumination (SDFGI) is a form of real-time global illumination. It is not a screen-space effect, which means it can provide global illumination for off-screen elements (unlike :abbr:`SSIL (Screen-Space Indirect Lighting)`)." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:539 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:545 msgid "See :ref:`doc_using_sdfgi` for instructions on setting up this global illumination technique." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:547 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:553 msgid "Glow" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:549 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:555 msgid "*This feature is only available when using the Forward+ and Mobile backends, not Compatibility.*" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:552 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:558 msgid "In photography and film, when light amount exceeds the maximum *luminance* (brightness) supported by the media, it generally bleeds outwards to darker regions of the image. This is simulated in Godot with the **Glow** effect." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:558 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:564 msgid "By default, even if the effect is enabled, it will be weak or invisible. One of two conditions need to happen for it to actually show:" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:561 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:567 msgid "The light in a pixel surpasses the **HDR Threshold** (where 0 is all light surpasses it, and 1.0 is light over the tonemapper **White** value). Normally, this value is expected to be at 1.0, but it can be lowered to allow more light to bleed. There is also an extra parameter, **HDR Scale**, that allows scaling (making brighter or darker) the light surpassing the threshold." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:570 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:576 msgid "The **Bloom** property has a value greater than ``0.0``. As it increases, it sends the whole screen to the glow processor at higher amounts." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:575 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:581 msgid "Both will cause the light to start bleeding out of the brighter areas." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:577 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:583 msgid "Once glow is visible, it can be controlled with a few extra parameters:" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:579 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:585 msgid "**Intensity** is an overall scale for the effect, it can be made stronger or weaker (``0.0`` removes it)." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:581 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:587 msgid "**Strength** is how strong the gaussian filter kernel is processed. Greater values make the filter saturate and expand outwards. In general, changing this is not needed, as the size can be adjusted more efficiently with the **Levels**." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:585 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:591 msgid "The **Blend Mode** of the effect can also be changed:" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:587 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:593 msgid "**Additive** is the strongest one, as it only adds the glow effect over the image with no blending involved. In general, it's too strong to be used, but can look good with low-intensity **Bloom** (produces a dream-like effect)." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:590 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:596 msgid "**Screen** ensures glow never brightens more than itself and it works great as an all around." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:592 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:598 msgid "**Softlight** is the default and weakest one, producing only a subtle color disturbance around the objects. This mode works best on dark scenes." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:594 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:600 msgid "**Replace** can be used to :ref:`blur the whole screen ` or debug the effect. It only shows the glow effect without the image below." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:597 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:603 msgid "**Mix** mixes the glow effect with the main image. This can be used for greater artistic control. The mix factor is controlled by the **Mix** property which appears above the blend mode (only when the blend mode is set to Mix). High mix factor values will appear to darken the image unless **Bloom** is increased." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:603 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:609 msgid "To change the glow effect size and shape, Godot provides **Levels**. Smaller levels are strong glows that appear around objects, while large levels are hazy glows covering the whole screen:" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:609 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:615 msgid "The real strength of this system, though, is to combine levels to create more interesting glow patterns:" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:614 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:620 msgid "Finally, the glow effect can be controlled using a *glow map*, which is a texture that determines how bright glow should be on each part of the screen. This texture can optionally be colored to tint the glow effect to the glow map's color. The texture is stretched to fit the viewport, so using an aspect ratio that matches your viewport's most common aspect ratio (such as 16:9) is recommended to avoid visible distortion." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:621 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:627 msgid "There are 2 main use cases for a glow map texture:" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:623 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:629 msgid "Create a \"lens dirt\" effect using a dirt pattern texture." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:624 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:630 msgid "Make glow less strong on specific parts of the screen by using a gradient texture." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:631 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:637 msgid "Using glow in 2D" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:633 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:639 msgid "There are 2 ways to use glow in 2D:" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:635 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:641 msgid "Since Godot 4.2, you can enable HDR for 2D rendering when using the Forward+ and Mobile rendering methods. This has a performance cost, but it allows for a greater dynamic range. This also allows you to control which objects glow using their individual **Modulate** or **Self Modulate** properties (use the RAW mode in the color picker). Enabling HDR can also reduce banding in the 2D rendering output." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:642 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:648 msgid "To enable HDR in 2D, open the Project Settings, enable **Rendering > Viewport > HDR 2D** then restart the editor." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:645 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:651 msgid "If you want to maximize performance, you can leave HDR disabled for 2D rendering. However, you will have less control on which objects glow." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:648 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:654 msgid "Enable glow, set the environment background mode to **Canvas** then decrease **Glow HDR Threshold** so that pixels that are not overbright will still glow. To prevent UI elements from glowing, make them children of a :ref:`class_CanvasLayer` node. You can control which layers are affected by glow using the **Background > Canvas Max Layer** property of the Environment resource." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:659 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:665 msgid "Example of using glow in a 2D scene" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:659 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:665 msgid "Example of using glow in a 2D scene. HDR 2D is enabled, while coins and the bullet have their **Modulate** property increased to overbright values using the RAW mode in the color picker." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:665 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:671 msgid "The 2D renderer renders in linear color space if the **Rendering > Viewport > HDR 2D** project setting is enabled, so ``source_color`` must also be used for uniform samplers that are used as color input in ``canvas_item`` shaders. If this is not done, the texture will appear washed out." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:671 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:677 msgid "If 2D HDR is disabled, ``source_color`` will keep working correctly in ``canvas_item`` shaders, so it's recommend to use it when relevant either way." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:678 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:684 msgid "Using glow to blur the screen" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:680 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:686 msgid "Glow can be used to blur the whole viewport, which is useful for background blur when a menu is open. Only 3D rendering will be affected unless the environment's background mode is set to **Canvas**. To prevent UI elements from being blurred when using the Canvas background mode, make them children of a :ref:`class_CanvasLayer` node. You can control which layers are affected by this blurring effect using the **Background > Canvas Max Layer** property of the Environment resource." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:687 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:693 msgid "To use glow as a blurring solution:" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:689 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:695 msgid "Enable **Normalized** and adjust levels according to preference. Increasing higher level indices will result in a more blurred image. It's recommended to leave a single glow level at ``1.0`` and leave all other glow levels at ``0.0``, but this is not required. Note that the final appearance will vary depending on viewport resolution." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:694 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:700 msgid "Set **Intensity** to ``1.0`` and **Bloom** to ``1.0``." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:695 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:701 msgid "Set the blend mode to **Replace** and **HDR Luminance Cap** to ``1.0``." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:701 -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:701 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:707 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:707 msgid "Example of using glow to blur the 2D rendering in the menu's background" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:704 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:710 msgid "Adjustments" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:706 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:712 msgid "At the end of processing, Godot offers the possibility to do some standard image adjustments." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:711 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:717 msgid "**Basic BCS adjustments**" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:713 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:719 msgid "The first adjustment is being able to change the typical **Brightness**, **Contrast**, and **Saturation** properties:" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:718 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:724 msgid "**Color correction using a 1D gradient**" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:720 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:726 msgid "The second adjustment is by supplying a color correction gradient. This can be done by assigning a GradientTexture1D resource to the **Color Correction** property, or by loading a texture containing a horizontal gradient. The leftmost part of the gradient represents black in the source image, whereas the rightmost part of the gradient represents white in the source image." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:726 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:732 msgid "A linear black-to-white gradient like the following one will produce no effect:" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:730 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:736 msgid "But creating custom ones will allow to map each channel to a different color:" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:734 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:740 msgid "**Color correction using a 3D LUT**" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:736 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:742 msgid "A 3D look-up-texture (LUT) can also be used for color correction. This is a special texture used to modify each color channel separately from one another (red, green, blue). This image can be of any resolution, but since color correction is low-frequency data, sticking to low resolutions is recommended for performance reasons. A LUT texture's resolution is typically 17×17×17, 33×33×33, 51×51×51 or 65×65×65 (the odd size allows for better interpolation)." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:743 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:749 msgid "For this to work, the look-up texture's import mode must be set to Texture3D in the Import dock (instead of being imported as a regular Texture2D):" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:748 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:754 msgid "Make sure to configure the number of horizontal and vertical slices to import as well. If you don't do this, the LUT texture will not affect the viewport correctly when used. You can preview how the 3D texture was imported by double-clicking it, in the FileSystem dock, then going to the inspector to flip through the texture's layers." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:754 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:760 msgid "You can use this neutral 33×33×33 LUT template as a base (right-click and choose **Save as…**):" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:759 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:765 msgid "With the above LUT template, after changing its import mode to **Texture3D**, set its number of **Horizontal** slices to ``33`` in the Import dock then click **Reimport**. If you load this LUT into the **Color Correction** property, you won't see any visible difference for now since this texture is designed to be a neutral starting point." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:765 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:771 msgid "This LUT template can be modified in an image editor to provide a different mood to the image. A common workflow is to place the LUT image next to a screenshot of the project's 3D viewport, then use an image editor to modify both the LUT image and the screenshot at the same time. The LUT can then be saved and applied to the game engine to perform the same color correction in real-time." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:771 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:777 msgid "For example, modifying the LUT template in an image editor to give it a \"sepia\" look results in the image on the right:" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:778 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:784 msgid "Adjustments and color correction are applied *after* tonemapping. This means the tonemapping properties defined above still have an effect when adjustments are enabled." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:783 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:789 msgid "Camera attribute options" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:786 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:792 msgid "Depth of Field / Far Blur" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:788 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:794 msgid "This effect simulates focal distance on cameras. It blurs objects behind a given range. It has an initial **Distance** with a **Transition** region (in world units):" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:794 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:800 msgid "The **Amount** parameter controls the amount of blur. For larger blurs, tweaking the depth of field quality in the advanced project settings may be needed to avoid artifacts." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:799 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:805 msgid "Depth of Field / Near Blur" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:801 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:807 msgid "This effect simulates focal distance on cameras. It blurs objects close to the camera (acts in the opposite direction as far blur). It has an initial **Distance** with a **Transition** region (in world units):" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:807 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:813 msgid "The **Amount** parameter controls the amount of blur. For larger blurs, tweaking the **Quality** may be needed in order to avoid artifacts." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:810 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:816 msgid "It is common to use both blurs together to focus the viewer's attention on a given object, or create a so-called `\"tilt shift\" effect `__." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:818 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:824 msgid "When using CameraAttributesPhysical instead of CameraAttributesPractical, depth of field is automatically computed from the camera attributes' focus distance, focal length, and aperture." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:823 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:829 msgid "Exposure" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:825 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:831 msgid "This multiplies the overall scene brightness visible from the camera. Higher values result in a visually brighter scene." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:829 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:835 msgid "Auto Exposure" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:834 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:840 msgid "Even though, in most cases, lighting and texturing are heavily artist controlled, Godot supports a basic high dynamic range implementation with the auto exposure mechanism. This is generally used to add realism when combining interior areas with low light and bright outdoor areas. Auto exposure simulates the camera (or eye) in an effort to adapt between light and dark locations and their different amounts of light." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:843 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:849 msgid "Auto exposure needs to evaluate the scene's brightness every frame, which has a moderate performance cost. Therefore, it's recommended to leave Auto Exposure disabled if it doesn't make much of a difference in your scene." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:849 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:855 msgid "The simplest way to use auto exposure is to make sure outdoor lights (or other strong lights) have energy beyond 1.0. This is done by tweaking their **Energy** multiplier (on the Light itself). To make it consistent, the **Sky** usually needs to use the energy multiplier too, to match with the directional light. Normally, values between 3.0 and 6.0 are enough to simulate indoor-outdoor conditions." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:855 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:861 msgid "By combining Auto Exposure with :ref:`doc_environment_and_post_processing_glow` post-processing, pixels that go over the tonemap **White** will bleed to the glow buffer, creating the typical bloom effect in photography." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:861 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:867 msgid "The user-controllable values in the Auto Exposure section come with sensible defaults, but you can still tweak them:" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:866 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:872 msgid "**Scale:** Value to scale the lighting. Higher values produce brighter images, and lower values produce darker ones." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:868 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:874 msgid "**Min Sensitivity / Min Exposure Value:** Minimum luminance that auto exposure will aim to adjust for (in ISO when using CameraAttributesPractical, or in EV100 when using CameraAttributesPhysical). Luminance is the average of the light in all the pixels of the screen." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:872 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:878 msgid "**Max Sensitivity / Max Exposure Value:** Maximum luminance that auto exposure will aim to adjust for (in ISO when using CameraAttributesPractical, or in EV100 when using CameraAttributesPhysical)." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:875 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:881 msgid "**Speed:** Speed at which luminance corrects itself. The higher the value, the faster luminance correction happens. High values may be more suited to fast-paced games, but can be distracting in some scenarios." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:879 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:885 msgid "When using CameraAttributesPractical, exposure is set using *sensitivity* defined in ISO instead of an exposure value in EV100. Typical ISO values are between 50 and 3200, with higher values resulting in higher final exposure. In real life, daytime photography generally uses ISO values between 100 and 800." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:886 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:892 msgid "See :ref:`doc_physical_light_and_camera_units` if you wish to use real world units to configure your camera's exposure, field of view and depth of field." msgstr "" 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 579816c7cf..9479f64925 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 581ccd5634..0c215e89be 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 888ed58a3f..fb5b61663b 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 29a77cd2c9..b083413ed4 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 05f344079f..b67ba37ef5 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -358,138 +358,146 @@ msgstr "" 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:388 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:387 msgid "Denoising" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:390 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:389 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:400 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:399 msgid "Comparison between denoising disabled and enabled" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:400 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:399 msgid "Comparison between denoising disabled and enabled (with the default JNLM denoiser)." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:402 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:401 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 preseve detail. Godot offers two denoising algorithms:" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:408 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:407 msgid "JNLM (Non-Local Means with Joint Filtering)" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:410 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:409 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:415 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:414 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:423 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:422 msgid "Comparison between JNLM denoiser strength values" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:423 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:422 msgid "Comparison between JNLM denoiser strength values. Higher values can reduce detail." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:426 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:425 msgid "OIDN (Open Image Denoise)" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:428 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:427 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:432 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:431 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:435 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:434 msgid "On AMD GPUs, HIP must be installed and configured." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:436 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:435 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:440 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:439 msgid "On Intel GPUs, SYCL must be installed and configured." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:442 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:441 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:448 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:447 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:456 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:455 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:463 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:462 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:472 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:471 msgid "Comparison between JNLM and OIDN denoisers" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:472 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:471 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:478 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:477 msgid "Dynamic objects" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:480 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:479 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:484 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:483 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:491 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:490 msgid "There are 2 ways to add light probes to a scene:" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:493 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:492 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:497 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:496 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:505 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:504 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:509 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:508 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:516 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:515 msgid "Lightmap data" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:518 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:517 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:527 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:526 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 +msgid "Reducing LightmapGI artifacts" +msgstr "" + +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:533 +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 "" + #: ../../docs/:0 msgid "Translation status" msgstr "" diff --git a/sphinx/templates/tutorials/3d/global_illumination/using_sdfgi.pot b/sphinx/templates/tutorials/3d/global_illumination/using_sdfgi.pot index 67f663ea41..a82357d892 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 2dbdd65fa9..71ddbc6fbf 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -222,6 +222,14 @@ msgstr "" msgid "To combat artifacts that can appear on reflective surfaces, try increasing **Bias** and/or **Normal Bias** in the VoxelGIData resource as described above. Do not increase these values too high, or light leaking will become more pronounced." msgstr "" +#: ../../docs/tutorials/3d/global_illumination/using_voxel_gi.rst:197 +msgid "If you notice VoxelGI nodes popping in and out of existence as the camera moves, this is most likely because the engine is rendering too many VoxelGI instances at once. Godot is limited to rendering 8 VoxelGI nodes at once, which means up to 8 instances can be in the camera view before some of them will start flickering." +msgstr "" + +#: ../../docs/tutorials/3d/global_illumination/using_voxel_gi.rst:203 +msgid "Additionally, for performance reasons, Godot can only blend between 2 VoxelGI nodes at a given pixel on the screen. If you have more than 2 VoxelGI nodes overlapping, global illumination may appear to flicker as the camera moves or rotates." +msgstr "" + #: ../../docs/:0 msgid "Translation status" msgstr "" diff --git a/sphinx/templates/tutorials/3d/high_dynamic_range.pot b/sphinx/templates/tutorials/3d/high_dynamic_range.pot index 1abacd3ad4..7dba4e068c 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 dbe72b90a1..a5f44b437b 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 9e160ddf43..0eba410f54 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 0d0600a7cc..7a51096f2d 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -192,352 +192,356 @@ msgstr "" msgid "Tweaking shadow mapping settings is an art – there are no \"one size fits all\" settings. To achieve the best visuals, you may need to use different shadow bias values on a per-light basis." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:164 -msgid "Directional light" -msgstr "" - -#: ../../docs/tutorials/3d/lights_and_shadows.rst:166 -msgid "This is the most common type of light and represents a light source very far away (such as the sun). It is also the cheapest light to compute and should be used whenever possible (although it's not the cheapest shadow-map to compute, but more on that later)." +#: ../../docs/tutorials/3d/lights_and_shadows.rst:163 +msgid "**Note on Appearance Changes**: When enabling shadows on a light, be aware that the light's appearance might change compared to when it's rendered without shadows in the compatibility renderer. Due to limitations with older mobile devices, shadows are implemented using a multi-pass rendering approach so lights with shadows are rendered in sRGB space instead of linear space. This change in rendering space can sometimes drastically alter the light's appearance. To achieve a similar appearance to an unshadowed light, you may need to adjust the light's energy setting." msgstr "" #: ../../docs/tutorials/3d/lights_and_shadows.rst:171 -msgid "Directional light models an infinite number of parallel light rays covering the whole scene. The directional light node is represented by a big arrow which indicates the direction of the light rays. However, the position of the node does not affect the lighting at all and can be anywhere." +msgid "Directional light" +msgstr "" + +#: ../../docs/tutorials/3d/lights_and_shadows.rst:173 +msgid "This is the most common type of light and represents a light source very far away (such as the sun). It is also the cheapest light to compute and should be used whenever possible (although it's not the cheapest shadow-map to compute, but more on that later)." msgstr "" #: ../../docs/tutorials/3d/lights_and_shadows.rst:178 -msgid "Every face whose front-side is hit by the light rays is lit, while the others stay dark. Unlike most other light types directional lights, don't have specific parameters." +msgid "Directional light models an infinite number of parallel light rays covering the whole scene. The directional light node is represented by a big arrow which indicates the direction of the light rays. However, the position of the node does not affect the lighting at all and can be anywhere." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:182 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:185 +msgid "Every face whose front-side is hit by the light rays is lit, while the others stay dark. Unlike most other light types, directional lights don't have specific parameters." +msgstr "" + +#: ../../docs/tutorials/3d/lights_and_shadows.rst:189 msgid "The directional light also offers a **Angular Distance** property, which determines the light's angular size in degrees. Increasing this above ``0.0`` will make shadows softer at greater distances from the caster, while also affecting the sun's appearance in procedural sky materials. This is called a *contact-hardening* shadow (also known as PCSS)." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:188 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:195 msgid "For reference, the angular distance of the Sun viewed from the Earth is approximately ``0.5``. This kind of shadow is expensive, so check the recommendations in :ref:`doc_lights_and_shadows_pcss_recommendations` if setting this value above ``0.0`` on lights with shadows enabled." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:194 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:201 msgid "Directional shadow mapping" msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:196 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:203 msgid "To compute shadow maps, the scene is rendered (only depth) from an orthogonal point of view that covers the whole scene (or up to the max distance). There is, however, a problem with this approach because objects closer to the camera receive low-resolution shadows that may appear blocky." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:201 -msgid "To fix this, a technique named *Parallel Split Shadow Maps* (PSSM) is used. This splits the view frustum in 2 or 4 areas. Each area gets its own shadow map. This allows small areas close to the viewer to have the same shadow resolution as a huge, far-away area." +#: ../../docs/tutorials/3d/lights_and_shadows.rst:208 +msgid "To fix this, a technique named *Parallel Split Shadow Maps* (PSSM) is used. This splits the view frustum in 2 or 4 areas. Each area gets its own shadow map. This allows small areas close to the viewer to have the same shadow resolution as a huge, far-away area. When shadows are enabled for DirectionalLight3D, the default shadow mode is PSSM with 4 splits. In scenarios where an object is large enough to appear in all four splits, it results in increased draw calls. Specifically, such an object will be rendered five times in total: once for each of the four shadow splits and once for the final scene rendering. This can impact performance, understanding this behavior is important for optimizing your scene and managing performance expectations." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:208 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:220 msgid "With this, shadows become more detailed:" msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:212 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:224 msgid "To control PSSM, a number of parameters are exposed:" msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:216 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:228 msgid "Each split distance is controlled relative to the camera far (or shadow **Max Distance** if greater than ``0.0``). ``0.0`` is the eye position and ``1.0`` is where the shadow ends at a distance. Splits are in-between. Default values generally work well, but tweaking the first split a bit is common to give more detail to close objects (like a character in a third-person game)." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:222 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:234 msgid "Always make sure to set a shadow **Max Distance** according to what the scene needs. A lower maximum distance will result in better-looking shadows and better performance, as fewer objects will need to be included in shadow rendering. You can also adjust **Fade Start** to control how aggressive the shadow fade-out should be at a distance. For scenes where the **Max Distance** fully covers the scene at any given camera position, you can increase **Fade Start** to ``1.0`` to prevent the shadow from fading at a distance. This should not be done in scenes where **Max Distance** doesn't fully cover the scene, as the shadow will appear to be suddenly cut off at a distance." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:232 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:244 msgid "Sometimes, the transition between a split and the next can look bad. To fix this, the **Blend Splits** option can be turned on, which sacrifices detail and performance in exchange for smoother transitions:" msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:238 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:250 msgid "The **Shadow > Normal Bias** parameter can be used to fix special cases of self-shadowing when objects are perpendicular to the light. The only downside is that it makes the shadow a bit thinner. Consider increasing **Shadow > Normal Bias** before increasing **Shadow > Bias** in most situations." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:243 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:255 msgid "Lastly, **Pancake Size** is a property that can be adjusted to fix missing shadows when using large objects with unsubdivided meshes. Only change this value if you notice missing shadows that are not related to shadow biasing issues." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:249 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:261 msgid "Omni light" msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:251 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:263 msgid "Omni light is a point source that emits light spherically in all directions up to a given radius." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:256 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:268 msgid "In real life, light attenuation is an inverse function, which means omni lights don't have a radius. This is a problem because it means computing several omni lights would become demanding." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:259 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:271 msgid "To solve this, a **Range** parameter is introduced together with an attenuation function." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:263 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:275 msgid "These two parameters allow tweaking how this works visually in order to find aesthetically pleasing results." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:267 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:279 msgid "A **Size** parameter is also available in OmniLight3D. Increasing this value will make the light fade out slower and shadows appear blurrier when far away from the caster. This can be used to simulate area lights to an extent. This is called a *contact-hardening* shadow (also known as PCSS). This kind of shadow is expensive, so check the recommendations in :ref:`doc_lights_and_shadows_pcss_recommendations` if setting this value above ``0.0`` on lights with shadows enabled." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:278 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:290 msgid "Omni shadow mapping" msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:280 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:292 msgid "Omni light shadow mapping is relatively straightforward. The main issue that needs to be considered is the algorithm used to render it." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:283 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:295 msgid "Omni Shadows can be rendered as either **Dual Paraboloid** or **Cube** mapped. **Dual Parabolid** renders quickly, but can cause deformations, while **Cube** is more correct, but slower. The default is **Cube**, but consider changing it to **Dual Parabolid** for lights where it doesn't make much of a visual difference." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:291 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:303 msgid "If the objects being rendered are mostly irregular and subdivided, Dual Paraboloid is usually enough. In any case, as these shadows are cached in a shadow atlas (more on that at the end), it may not make a difference in performance for most scenes." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:296 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:308 msgid "Omni lights with shadows enabled can make use of projectors. The projector texture will *multiply* the light's color by the color at a given point on the texture. As a result, lights will usually appear to be darker once a projector texture is assigned; you can increase **Energy** to compensate for this." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:301 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:313 msgid "Omni light projector textures require a special 360° panorama mapping, similar to :ref:`class_PanoramaSkyMaterial` textures." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:304 -#: ../../docs/tutorials/3d/lights_and_shadows.rst:347 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:316 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:359 msgid "With the projector texture below, the following result is obtained:" msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:312 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:324 msgid "If you've acquired omni projectors in the form of cubemap images, you can use `this web-based conversion tool `__ to convert them to a single panorama image." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:317 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:329 msgid "Spot light" msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:319 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:331 msgid "Spot lights are similar to omni lights, except they emit light only into a cone (or \"cutoff\"). They are useful to simulate flashlights, car lights, reflectors, spots, etc. This type of light is also attenuated towards the opposite direction it points to." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:324 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:336 msgid "Spot lights share the same **Range**, **Attenuation** and **Size** as OmniLight3D, and add two extra parameters:" msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:327 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:339 msgid "**Angle:** The aperture angle of the light." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:328 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:340 msgid "**Angle Attenuation:** The cone attenuation, which helps soften the cone borders." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:331 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:343 msgid "Spot shadow mapping" msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:333 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:345 msgid "Spots feature the same parameters as omni lights for shadow mapping. Rendering spot shadow maps is significantly faster compared to omni lights, as only one shadow texture needs to be rendered (instead of rendering 6 faces, or 2 in dual parabolid mode)." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:338 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:350 msgid "Spot lights with shadows enabled can make use of projectors. The projector texture will *multiply* the light's color by the color at a given point on the texture. As a result, lights will usually appear to be darker once a projector texture is assigned; you can increase **Energy** to compensate for this." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:343 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:355 msgid "Unlike omni light projectors, a spot light projector texture doesn't need to follow a special format to look correct. It will be mapped in a way similar to a :ref:`decal `." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:355 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:367 msgid "Spot lights with wide angles will have lower-quality shadows than spot lights with narrow angles, as the shadow map is spread over a larger surface. At angles wider than 89 degrees, spot light shadows will stop working entirely. If you need shadows for wider lights, use an omni light instead." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:364 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:376 msgid "Shadow atlas" msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:366 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:378 msgid "Unlike Directional lights, which have their own shadow texture, omni and spot lights are assigned to slots of a shadow atlas. This atlas can be configured in the advanced Project Settings (**Rendering > Lights And Shadows > Positional Shadow**)." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:370 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:382 msgid "The resolution applies to the whole shadow atlas. This atlas is divided into four quadrants:" msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:374 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:386 msgid "Each quadrant can be subdivided to allocate any number of shadow maps; the following is the default subdivision:" msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:378 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:390 msgid "The shadow atlas allocates space as follows:" msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:380 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:392 msgid "The biggest shadow map size (when no subdivision is used) represents a light the size of the screen (or bigger)." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:381 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:393 msgid "Subdivisions (smaller maps) represent shadows for lights that are further away from view and proportionally smaller." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:383 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:395 msgid "Every frame, the following procedure is performed for all lights:" msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:385 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:397 msgid "Check if the light is on a slot of the right size. If not, re-render it and move it to a larger/smaller slot." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:386 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:398 msgid "Check if any object affecting the shadow map has changed. If it did, re-render the light." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:387 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:399 msgid "If neither of the above has happened, nothing is done, and the shadow is left untouched." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:389 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:401 msgid "If the slots in a quadrant are full, lights are pushed back to smaller slots, depending on size and distance. If all slots in all quadrants are full, some lights will not be able to render shadows even if shadows are enabled on them." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:393 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:405 msgid "The default shadow allocation strategy allows rendering up to 88 lights with shadows enabled in the camera frustum (4 + 4 + 16 + 64):" msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:396 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:408 msgid "The first and most detailed quadrant can store 4 shadows." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:397 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:409 msgid "The second quadrant can store 4 other shadows." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:398 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:410 msgid "The third quadrant can store 16 shadows, with less detail." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:399 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:411 msgid "The fourth and least detailed quadrant can store 64 shadows, with even less detail." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:401 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:413 msgid "Using a higher number of shadows per quadrant allows supporting a greater amount of total lights with shadows enabled, while also improving performance (as shadows will be rendered at a lower resolution for each light). However, increasing the number of shadows per quadrant comes at the cost of lower shadow quality." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:407 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:419 msgid "In some cases, you may want to use a different allocation strategy. For example, in a top-down game where all lights are around the same size, you may want to set all quadrants to have the same subdivision so that all lights have shadows of similar quality level." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:415 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:427 msgid "Balancing performance and quality" msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:417 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:429 msgid "Shadow rendering is a critical topic in 3D rendering performance. It's important to make the right choices here to avoid creating bottlenecks." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:420 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:432 msgid "Directional shadow quality settings can be changed at run-time by calling the appropriate :ref:`class_RenderingServer` methods." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:423 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:435 msgid "Positional (omni/spot) shadow quality settings can be changed at run-time on the root :ref:`class_Viewport`." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:427 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:439 msgid "Shadow map size" msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:429 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:441 msgid "High shadow resolutions result in sharper shadows, but at a significant performance cost. It should also be noted that *sharper shadows are not always more realistic*. In most cases, this should be kept at its default value of ``4096`` or decreased to ``2048`` for low-end GPUs." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:434 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:446 msgid "If positional shadows become too blurry after decreasing the shadow map size, you can counteract this by adjusting the :ref:`shadow atlas ` quadrants to contain fewer shadows. This will allow each shadow to be rendered at a higher resolution." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:442 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:454 msgid "Shadow filter mode" msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:444 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:456 msgid "Several shadow map quality settings can be chosen here. The default **Soft Low** is a good balance between performance and quality for scenes with detailed textures, as the texture detail will help make the dithering pattern less noticeable." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:448 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:460 msgid "However, in projects with less detailed textures, the shadow dithering pattern may be more visible. To hide this pattern, you can either enable :ref:`doc_3d_antialiasing_taa`, :ref:`doc_3d_antialiasing_fsr2`, :ref:`doc_3d_antialiasing_fxaa`, or increase the shadow filter quality to **Soft Medium** or higher." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:454 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:466 msgid "The **Soft Very Low** setting will automatically decrease shadow blur to make artifacts from the low sample count less visible. Conversely, the **Soft High** and **Soft Ultra** settings will automatically increase shadow blur to better make use of the increased sample count." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:462 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:474 msgid "16-bits versus 32-bit" msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:464 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:476 msgid "By default, Godot uses 16-bit depth textures for shadow map rendering. This is recommended in most cases as it performs better without a noticeable difference in quality." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:468 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:480 msgid "If **16 Bits** is disabled, 32-bit depth textures will be used instead. This can result in less artifacting in large scenes and large lights with shadows enabled. However, the difference is often barely visible, yet this can have a significant performance cost." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:474 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:486 msgid "Light/shadow distance fade" msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:476 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:488 msgid "OmniLight3D and SpotLight3D offer several properties to hide distant lights. This can improve performance significantly in large scenes with dozens of lights or more." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:480 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:492 msgid "**Enabled:** Controls whether distance fade (a form of :abbr:`LOD (Level of Detail)`) is enabled. The light will fade out over **Begin + Length**, after which it will be culled and not sent to the shader at all. Use this to reduce the number of active lights in a scene and thus improve performance." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:484 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:496 msgid "**Begin:** The distance from the camera at which the light begins to fade away (in 3D units)." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:486 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:498 msgid "**Shadow:** The distance from the camera at which the shadow begins to fade away (in 3D units). This can be used to fade out shadows sooner compared to the light, further improving performance. Only available if shadows are enabled for the light." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:489 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:501 msgid "**Length:** The distance over which the light and shadow fades (in 3D units). The light becomes slowly more transparent over this distance and is completely invisible at the end. Higher values result in a smoother fade-out transition, which is more suited when the camera moves fast." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:497 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:509 msgid "PCSS recommendations" msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:499 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:511 msgid "Percentage-closer soft shadows (PCSS) provide a more realistic shadow mapping appearance, with the penumbra size varying depending on the distance between the caster and the surface receiving the shadow. This comes at a high performance cost, especially for directional lights." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:504 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:516 msgid "To avoid performance issues, it's recommended to:" msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:506 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:518 msgid "Only use a handful of lights with PCSS shadows enabled at a given time. The effect is generally most visible on large, bright lights. Secondary light sources that are more faint usually don't benefit much from using PCSS shadows." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:510 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:522 msgid "Provide a setting for users to disable PCSS shadows. On directional lights, this can be done by setting the DirectionalLight3D's ``light_angular_distance`` property to ``0.0`` in a script. On positional lights, this can be done by setting the OmniLight3D or SpotLight3D's ``light_size`` property to ``0.0`` in a script." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:517 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:529 msgid "Projector filter mode" msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:519 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:531 msgid "The way projectors are rendered also has an impact on performance. The **Rendering > Textures > Light Projectors > Filter** advanced project setting lets you control how projector textures should be filtered. **Nearest/Linear** do not use mipmaps, which makes them faster to render. However, projectors will look grainy at distance. **Nearest/Linear Mipmaps** will look smoother at a distance, but projectors will look blurry when viewed from oblique angles. This can be resolved by using **Nearest/Linear Mipmaps Anisotropic**, which is the highest-quality mode but also the most expensive." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:528 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:540 msgid "If your project has a pixel art style, consider setting the filter to one of the **Nearest** values so that projectors use nearest-neighbor filtering. Otherwise, stick to **Linear**." msgstr "" diff --git a/sphinx/templates/tutorials/3d/mesh_lod.pot b/sphinx/templates/tutorials/3d/mesh_lod.pot index 9a4689851a..27a346badc 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 d6bd307337..935b5282e9 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 192774384c..a2da739249 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 19f176db0c..90b731fc70 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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/complex_shapes.pot b/sphinx/templates/tutorials/3d/particles/complex_shapes.pot index ddd9a5c4c7..bf863d1bab 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 7fdc582bf4..f3c9f092cb 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 60563708f1..a98f3c4924 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 8e48b5b523..2740c40bd0 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 69107ac35d..e568ec1588 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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/subemitters.pot b/sphinx/templates/tutorials/3d/particles/subemitters.pot index 0a8ed9fc35..f8dd688532 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 1f2833af42..202a5d6ee0 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 0bae1b57c6..b69b3ba191 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 aa3ad4d2ba..8d4898e2b6 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 c061b43492..f1e000a64d 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -217,11 +217,11 @@ msgstr "" msgid "Here is sample code for generating a sphere. Although the code is presented in GDScript, there is nothing Godot specific about the approach to generating it. This implementation has nothing in particular to do with ArrayMeshes and is just a generic approach to generating a sphere. If you are having trouble understanding it or want to learn more about procedural geometry in general, you can use any tutorial that you find online." msgstr "" -#: ../../docs/tutorials/3d/procedural_geometry/arraymesh.rst:371 +#: ../../docs/tutorials/3d/procedural_geometry/arraymesh.rst:351 msgid "Saving" msgstr "" -#: ../../docs/tutorials/3d/procedural_geometry/arraymesh.rst:373 +#: ../../docs/tutorials/3d/procedural_geometry/arraymesh.rst:353 msgid "Finally, we can use the :ref:`ResourceSaver ` class to save the ArrayMesh. This is useful when you want to generate a mesh and then use it later without having to re-generate it." msgstr "" diff --git a/sphinx/templates/tutorials/3d/procedural_geometry/immediatemesh.pot b/sphinx/templates/tutorials/3d/procedural_geometry/immediatemesh.pot index ac7f7520a5..75690786af 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 52f8e74359..40dc9808ad 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\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 "ImmediateMesh" msgstr "" #: ../../docs/tutorials/3d/procedural_geometry/index.rst:115 -msgid "ImmediateMesh is a mesh that uses an immediate mode style interface (like SurfaceTool) to draw objects. The difference between ImmediateMesh and the SurfaceTool is that ImmediateMesh is drawn directly with code dynamically, while the SurfaceTool is used to generated a Mesh that you can do whatever you want with." +msgid "ImmediateMesh is a mesh that uses an immediate mode style interface (like SurfaceTool) to draw objects. The difference between ImmediateMesh and the SurfaceTool is that ImmediateMesh is drawn directly with code dynamically, while the SurfaceTool is used to generate a Mesh that you can do whatever you want with." msgstr "" #: ../../docs/tutorials/3d/procedural_geometry/index.rst:121 diff --git a/sphinx/templates/tutorials/3d/procedural_geometry/meshdatatool.pot b/sphinx/templates/tutorials/3d/procedural_geometry/meshdatatool.pot index ffaa57225f..2c2cd36c54 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 95649da58b..6e52428f5f 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 9347fcfe2e..a93bb7dad5 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 ad79950975..d0acb96572 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 22c927e456..e21593c897 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 8045379fda..6225997e6d 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 3db8ce2357..b6f91ad33b 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 17cb91706d..e71ddc0d8b 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 6e134ee8d5..ca63b6d5da 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 392f704170..eabb00f9de 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 a873f8b8c1..daf85bfba3 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -164,191 +164,195 @@ msgstr "" msgid "**Rendering > Environment > Volumetric Fog > Use Filter:** Enables filtering of the volumetric fog effect prior to integration. This substantially blurs the fog which reduces fine details but also smooths out harsh edges and aliasing artifacts. Disable when more detail is required." msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:153 -msgid "Using fog volumes for local volumetric fog" -msgstr "" - -#: ../../docs/tutorials/3d/volumetric_fog.rst:155 -msgid "Sometimes, you want fog to be constrained to specific areas. Conversely, you may want to have global volumetric fog but fog should be excluded from certain areas. Both approaches can be followed using FogVolume nodes." +#: ../../docs/tutorials/3d/volumetric_fog.rst:154 +msgid "Volumetric fog can cause banding to appear on the viewport, especially at higher density levels. See :ref:`doc_3d_rendering_limitations_color_banding` for guidance on reducing banding." msgstr "" #: ../../docs/tutorials/3d/volumetric_fog.rst:159 -msgid "Here's a quick start guide to using FogVolumes:" +msgid "Using fog volumes for local volumetric fog" msgstr "" #: ../../docs/tutorials/3d/volumetric_fog.rst:161 -msgid "Make sure **Volumetric Fog** is enabled in the Environment properties. If global volumetric fog is undesired, set its **Density** to ``0.0``." -msgstr "" - -#: ../../docs/tutorials/3d/volumetric_fog.rst:163 -msgid "Create a FogVolume node." -msgstr "" - -#: ../../docs/tutorials/3d/volumetric_fog.rst:164 -msgid "Assign a new FogMaterial to the FogVolume node's **Material** property." +msgid "Sometimes, you want fog to be constrained to specific areas. Conversely, you may want to have global volumetric fog but fog should be excluded from certain areas. Both approaches can be followed using FogVolume nodes." msgstr "" #: ../../docs/tutorials/3d/volumetric_fog.rst:165 +msgid "Here's a quick start guide to using FogVolumes:" +msgstr "" + +#: ../../docs/tutorials/3d/volumetric_fog.rst:167 +msgid "Make sure **Volumetric Fog** is enabled in the Environment properties. If global volumetric fog is undesired, set its **Density** to ``0.0``." +msgstr "" + +#: ../../docs/tutorials/3d/volumetric_fog.rst:169 +msgid "Create a FogVolume node." +msgstr "" + +#: ../../docs/tutorials/3d/volumetric_fog.rst:170 +msgid "Assign a new FogMaterial to the FogVolume node's **Material** property." +msgstr "" + +#: ../../docs/tutorials/3d/volumetric_fog.rst:171 msgid "In the FogMaterial, set **Density** to a positive value to increase density within the FogVolume, or a negative value to subtract the density from global volumetric fog." msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:168 +#: ../../docs/tutorials/3d/volumetric_fog.rst:174 msgid "Configure the FogVolume's extents and shape as needed." msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:172 +#: ../../docs/tutorials/3d/volumetric_fog.rst:178 msgid "Thin fog volumes may appear to flicker when the camera moves or rotates. This can be alleviated by increasing the **Rendering > Environment > Volumetric Fog > Volume Depth** project setting (at a performance cost) or by decreasing **Length** in the Environment volumetric fog properties (at no performance cost, but at the cost of lower fog range). Alternatively, the FogVolume can be made thicker and use a lower density in the **Material**." msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:181 +#: ../../docs/tutorials/3d/volumetric_fog.rst:187 msgid "FogVolume properties" msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:183 +#: ../../docs/tutorials/3d/volumetric_fog.rst:189 msgid "**Extents:** The size of the FogVolume when **Shape** is **Ellipsoid**, **Cone**, **Cylinder** or **Box**. If **Shape** is **Cone** or **Cylinder**, the cone/cylinder will be adjusted to fit within the extents. Non-uniform scaling of cone/cylinder shapes via the **Extents** property is not supported, but you can scale the FogVolume node instead." msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:188 +#: ../../docs/tutorials/3d/volumetric_fog.rst:194 msgid "**Shape:** The shape of the FogVolume. This can be set to **Ellipsoid**, **Cone**, **Cylinder**, **Box** or **World** (acts as global volumetric fog)." msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:190 +#: ../../docs/tutorials/3d/volumetric_fog.rst:196 msgid "**Material:** The material used by the FogVolume. Can be either a built-in FogMaterial or a custom ShaderMaterial (:ref:`doc_fog_shader`)." msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:193 +#: ../../docs/tutorials/3d/volumetric_fog.rst:199 msgid "After choosing **New FogMaterial** in the **Material** property, you can adjust the following properties in FogMaterial:" msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:196 +#: ../../docs/tutorials/3d/volumetric_fog.rst:202 msgid "**Density:** The density of the FogVolume. Denser objects are more opaque, but may suffer from under-sampling artifacts that look like stripes. Negative values can be used to subtract fog from other FogVolumes or global volumetric fog." msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:200 +#: ../../docs/tutorials/3d/volumetric_fog.rst:206 msgid "**Albedo:** The single-scattering Color of the FogVolume. Internally, member albedo is converted into single-scattering, which is additively blended with other FogVolumes and global volumetric fog's **Albedo**." msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:203 +#: ../../docs/tutorials/3d/volumetric_fog.rst:209 msgid "**Emission:** The Color of the light emitted by the FogVolume. Emitted light will not cast light or shadows on other objects, but can be useful for modulating the Color of the FogVolume independently from light sources." msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:206 +#: ../../docs/tutorials/3d/volumetric_fog.rst:212 msgid "**Height Falloff:** The rate by which the height-based fog decreases in density as height increases in world space. A high falloff will result in a sharp transition, while a low falloff will result in a smoother transition. A value of ``0.0`` results in uniform-density fog. The height threshold is determined by the height of the associated FogVolume." msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:211 +#: ../../docs/tutorials/3d/volumetric_fog.rst:217 msgid "**Edge Fade:** The hardness of the edges of the FogVolume. A higher value will result in softer edges, while a lower value will result in harder edges." msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:213 +#: ../../docs/tutorials/3d/volumetric_fog.rst:219 msgid "**Density Texture:** The 3D texture that is used to scale the member density of the FogVolume. This can be used to vary fog density within the FogVolume with any kind of static pattern. For animated effects, consider using a custom :ref:`fog shader `. You can import any image as a 3D texture by :ref:`changing its import type in the Import dock `." msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:221 +#: ../../docs/tutorials/3d/volumetric_fog.rst:227 msgid "Using 3D noise density textures" msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:223 +#: ../../docs/tutorials/3d/volumetric_fog.rst:229 msgid "Since Godot 4.1, there is a NoiseTexture3D resource that can be used to procedurally generate 3D noise. This is well-suited to FogMaterial density textures, which can result in more detailed fog effects:" msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:230 +#: ../../docs/tutorials/3d/volumetric_fog.rst:236 msgid "FogMaterial comparison (without and with density texture)" msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:230 +#: ../../docs/tutorials/3d/volumetric_fog.rst:236 msgid "Screenshot taken with **Volume Size** project setting set to 192 to make high-frequency detail more visible in the fog." msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:233 +#: ../../docs/tutorials/3d/volumetric_fog.rst:239 msgid "To do so, select the **Density Texture** property and choose **New NoiseTexture3D**. Edit this NoiseTexture3D by clicking it, then click **Noise** at the bottom of the NoiseTexture3D properties and choose **New FastNoiseLite**. Adjust the noise texture's width, height and depth according to your fog volume's dimensions." msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:238 +#: ../../docs/tutorials/3d/volumetric_fog.rst:244 msgid "To improve performance, it's recommended to use low texture sizes (64×64×64 or lower), as high-frequency detail is difficult to notice in a FogVolume. If you wish to represent more detailed density variations, you will need to increase **Rendering > Environment > Volumetric Fog > Volume Size** in the project settings, which has a performance cost." msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:246 +#: ../../docs/tutorials/3d/volumetric_fog.rst:252 msgid "NoiseTexture3D's **Color Ramp** affects FogMaterial density textures, but since only the texture's red channel is sampled, only the color ramp's red channel will affect the resulting density." msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:250 +#: ../../docs/tutorials/3d/volumetric_fog.rst:256 msgid "However, using a color ramp will *not* tint the fog volume according to the texture. You would need to use a custom shader that reads a Texture3D to achieve this." msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:255 +#: ../../docs/tutorials/3d/volumetric_fog.rst:261 msgid "Custom FogVolume shaders" msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:257 +#: ../../docs/tutorials/3d/volumetric_fog.rst:263 msgid "This page only covers the built-in settings offered by FogMaterial. If you need to customize fog behavior within a FogVolume node (such as creating animated fog), FogVolume nodes' appearance can be customized using :ref:`doc_fog_shader`." msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:262 +#: ../../docs/tutorials/3d/volumetric_fog.rst:268 msgid "Faking volumetric fog using quads" msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:264 +#: ../../docs/tutorials/3d/volumetric_fog.rst:270 msgid "In some cases, it may be better to use specially configured QuadMeshes as an alternative to volumetric fog:" msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:267 +#: ../../docs/tutorials/3d/volumetric_fog.rst:273 msgid "Quads work with any rendering method, including Forward Mobile and Compatibility." msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:268 +#: ../../docs/tutorials/3d/volumetric_fog.rst:274 msgid "Quads do not require temporal reprojection to look smooth, which makes them suited to fast-moving dynamic effects such as lasers. They can also represent small details which volumetric fog cannot do efficiently." msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:271 +#: ../../docs/tutorials/3d/volumetric_fog.rst:277 msgid "Quads generally have a lower performance cost than volumetric fog." msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:273 +#: ../../docs/tutorials/3d/volumetric_fog.rst:279 msgid "This approach has a few downsides though:" msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:275 +#: ../../docs/tutorials/3d/volumetric_fog.rst:281 msgid "The fog effect has less realistic falloff, especially if the camera enters the fog." msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:276 +#: ../../docs/tutorials/3d/volumetric_fog.rst:282 msgid "Transparency sorting issues may occur when sprites overlap." msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:277 +#: ../../docs/tutorials/3d/volumetric_fog.rst:283 msgid "Performance will not necessarily be better than volumetric fog if there are lots of sprites close to the camera." msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:280 +#: ../../docs/tutorials/3d/volumetric_fog.rst:286 msgid "To create a QuadMesh-based fog sprite:" msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:282 +#: ../../docs/tutorials/3d/volumetric_fog.rst:288 msgid "Create a MeshInstance3D node with a QuadMesh resource in the **Mesh** property. Set the size as desired." msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:284 +#: ../../docs/tutorials/3d/volumetric_fog.rst:290 msgid "Create a new StandardMaterial3D in the mesh's **Material** property." msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:285 +#: ../../docs/tutorials/3d/volumetric_fog.rst:291 msgid "In the StandardMaterial3D, set **Shading > Shading Mode** to **Unshaded**, **Billboard > Mode** to **Enabled**, enable **Proximity Fade** and set **Distance Fade** to **Pixel Alpha**." msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:288 +#: ../../docs/tutorials/3d/volumetric_fog.rst:294 msgid "Set the **Albedo > Texture** to the texture below (right-click and choose **Save as…**):" msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:292 +#: ../../docs/tutorials/3d/volumetric_fog.rst:298 msgid "*After* setting the albedo texture, go to the Import dock, select the texture and change its compression mode to **Lossless** to improve quality." msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:295 +#: ../../docs/tutorials/3d/volumetric_fog.rst:301 msgid "The fog's color is set using the **Albedo > Color** property; its density is set using the color's alpha channel. For best results, you will have to adjust **Proximity Fade > Distance** and **Distance Fade > Max Distance** depending on the size of your QuadMesh." msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:300 +#: ../../docs/tutorials/3d/volumetric_fog.rst:306 msgid "Optionally, billboarding may be left disabled if you place the quad in a way where all of its corners are in solid geometry. This can be useful for fogging large planes that the camera cannot enter, such as bottomless pits." msgstr "" diff --git a/sphinx/templates/tutorials/animation/2d_skeletons.pot b/sphinx/templates/tutorials/animation/2d_skeletons.pot index f023ac6a7a..e2f5386114 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 5189d8e1e0..f241b29ca6 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 06a541bfb8..a13ea640df 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 8dc931fd9b..b4fd31ca08 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 7e1a82e8cb..55a6c0074c 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 eb837f724e..aef531cc9b 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 46aa13e252..9d9b0b46d5 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 236a2c3de5..842711daab 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 4dee55488c..bd1d78a779 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 dc2c7e40a2..0851ea5219 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 4c3dab06eb..1884983654 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 564490db85..8ba099cce0 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 1ad4e63bb2..a13f00c5ca 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 134a63bfa7..e3ad3fb23b 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 5d9d8eabe7..cdcf4605bb 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 8064e77d2d..b87e1024ec 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 8a04f0d398..9169f05297 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 5b6c7bd556..a3bff36606 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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/import_configuration.pot b/sphinx/templates/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.pot index 5b1cca0f7a..f3cbcb26ca 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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/index.pot b/sphinx/templates/tutorials/assets_pipeline/importing_3d_scenes/index.pot index 09e9622a15..b000c9083b 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 f756a3390d..44e96f3db4 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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/node_type_customization.pot b/sphinx/templates/tutorials/assets_pipeline/importing_3d_scenes/node_type_customization.pot index 4d0ec97dbf..b0371f628e 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -122,46 +122,54 @@ msgid "See :ref:`doc_collision_shapes_3d` for a comprehensive overview of collis msgstr "" #: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/node_type_customization.rst:95 -msgid "Create navigation (-navmesh)" +msgid "Create Occluder (-occ, -occonly)" msgstr "" #: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/node_type_customization.rst:97 -msgid "A mesh node with the ``-navmesh`` suffix will be converted to a navigation mesh. The original Mesh object will be removed at import-time." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/node_type_customization.rst:101 -msgid "Create a VehicleBody (-vehicle)" +msgid "If a mesh is imported with the ``-occ`` suffix an :ref:`class_occluder3D` node will be created based on the geometry of the mesh, it does not replace the mesh. A mesh node with the ``-occonly`` suffix will be converted to an :ref:`class_occluder3D` on import." msgstr "" #: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/node_type_customization.rst:103 -msgid "A mesh node with the ``-vehicle`` suffix will be imported as a child to a :ref:`class_VehicleBody3D` node." +msgid "Create navigation (-navmesh)" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/node_type_customization.rst:107 -msgid "Create a VehicleWheel (-wheel)" +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/node_type_customization.rst:105 +msgid "A mesh node with the ``-navmesh`` suffix will be converted to a navigation mesh. The original Mesh object will be removed at import-time." msgstr "" #: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/node_type_customization.rst:109 -msgid "A mesh node with the ``-wheel`` suffix will be imported as a child to a :ref:`class_VehicleWheel3D` node." +msgid "Create a VehicleBody (-vehicle)" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/node_type_customization.rst:113 -msgid "Rigid Body (-rigid)" +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/node_type_customization.rst:111 +msgid "A mesh node with the ``-vehicle`` suffix will be imported as a child to a :ref:`class_VehicleBody3D` node." msgstr "" #: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/node_type_customization.rst:115 +msgid "Create a VehicleWheel (-wheel)" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/node_type_customization.rst:117 +msgid "A mesh node with the ``-wheel`` suffix will be imported as a child to a :ref:`class_VehicleWheel3D` node." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/node_type_customization.rst:121 +msgid "Rigid Body (-rigid)" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/node_type_customization.rst:123 msgid "A mesh node with the ``-rigid`` suffix will be imported as a :ref:`class_RigidBody3D`." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/node_type_customization.rst:118 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/node_type_customization.rst:126 msgid "Animation loop (-loop, -cycle)" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/node_type_customization.rst:120 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/node_type_customization.rst:128 msgid "Animation clips in the source 3D file that start or end with the token ``loop`` or ``cycle`` will be imported as a Godot :ref:`class_Animation` with the loop flag set. **Unlike the other suffixes described above, this does not require a hyphen.**" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/node_type_customization.rst:124 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/node_type_customization.rst:132 msgid "In Blender, this requires using the NLA Editor and naming the Action with the ``loop`` or ``cycle`` prefix or suffix." msgstr "" diff --git a/sphinx/templates/tutorials/assets_pipeline/importing_audio_samples.pot b/sphinx/templates/tutorials/assets_pipeline/importing_audio_samples.pot index 6207fad059..61927dd894 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 b59b738243..9994d933c2 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -61,749 +61,799 @@ msgid "Truevision Targa (``.tga``)" msgstr "" #: ../../docs/tutorials/assets_pipeline/importing_images.rst:28 -msgid "SVG (``.svg``) - SVGs are rasterized using `ThorVG `__ when importing them. `Support is limited `__; complex vectors may not render correctly. You can check whether ThorVG can render a certain vector correctly using its `web-based viewer `__. For complex vectors, rendering them to PNGs using `Inkscape `__ is often a better solution. This can be automated thanks to its `command-line interface `__." +msgid "SVG (``.svg``) - SVGs are rasterized using `ThorVG `__ when importing them. `Support is limited `__; complex vectors may not render correctly. :ref:`Text must be converted to paths `; otherwise, it won't appear in the rasterized image. You can check whether ThorVG can render a certain vector correctly using its `web-based viewer `__. For complex vectors, rendering them to PNGs using `Inkscape `__ is often a better solution. This can be automated thanks to its `command-line interface `__." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:37 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:38 msgid "WebP (``.webp``) - WebP files support transparency and can be compressed lossily or losslessly. The precision is limited to 8 bits per channel." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:43 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:44 msgid "If you've compiled the Godot editor from source with specific modules disabled, some formats may not be available." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:47 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:48 msgid "Importing textures" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:49 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:50 msgid "The default action in Godot is to import images as textures. Textures are stored in video memory. Their pixel data can't be accessed directly from the CPU without converting them back to an :ref:`class_Image` in a script. This is what makes drawing them efficient." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:54 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:55 msgid "There are over a dozen import options that can be adjusted after selecting an image in the FileSystem dock:" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:61 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:62 msgid "Import options in the Import dock after selecting an image in the FileSystem dock" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:61 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:62 msgid "Import options in the Import dock after selecting an image in the FileSystem dock. Some of these options are only visible with certain compression modes." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:67 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:68 msgid "Changing import type" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:69 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:70 msgid "It is possible to choose other types of imported resources in the Import dock:" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:71 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:72 msgid "**BitMap:** 1-bit monochrome texture (intended to be used as a click mask in :ref:`class_TextureButton` and :ref:`class_TouchScreenButton`). This resource type cannot be displayed directly onto 2D or 3D nodes, but the pixel values can be queried from a script using :ref:`get_bit `." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:76 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:77 msgid "**Cubemap:** Import the texture as a 6-sided cubemap, with interpolation between the cubemap's sides (seamless cubemaps), which can be sampled in custom shaders." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:79 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:80 msgid "**CubemapArray:** Import the texture as a collection of 6-sided cubemaps, which can be sampled in custom shaders. This resource type can only be displayed when using the Forward+ or Forward Mobile rendering methods, not Compatibility." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:83 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:84 msgid "**Font Data (Monospace Image Font):** Import the image as a bitmap font where all characters have the same width. See :ref:`doc_gui_using_fonts`." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:85 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:86 msgid "**Image:** Import the image as-is. This resource type cannot be displayed directly onto 2D or 3D nodes, but the pixel values can be queried from a script using :ref:`get_pixel`." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:88 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:89 msgid "**Texture2D:** Import the image as a 2-dimensional texture, suited for display on 2D and 3D surfaces. This is the default import mode." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:90 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:91 msgid "**Texture2DArray:** Import the image as a collection of 2-dimensional textures. Texture2DArray is similar to a 3-dimensional texture, but without interpolation between layers. Built-in 2D and 3D shaders cannot display texture arrays, so you must create a custom shader in :ref:`2D ` or :ref:`3D ` to display a texture from a texture array." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:95 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:96 msgid "**Texture3D:** Import the image as a 3-dimensional texture. This is *not* a 2D texture applied onto a 3D surface. Texture3D is similar to a texture array, but with interpolation between layers. Texture3D is typically used for :ref:`class_FogMaterial` density maps in :ref:`volumetric fog `, :ref:`class_Environment` 3D LUT color correction and custom shaders." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:101 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:102 msgid "**TextureAtlas:** Import the image as an *atlas* of different textures. Can be used to reduce memory usage for animated 2D sprites. Only supported in 2D due to missing support in built-in 3D shaders." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:106 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:107 msgid "Detect 3D" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:108 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:109 msgid "The default import options (no mipmaps and **Lossless** compression) are suited for 2D, but are not ideal for most 3D projects. **Detect 3D** makes Godot aware of when a texture is used in a 3D scene (such as a texture in a :ref:`class_BaseMaterial3D`). If this happens, several import options are changed so the texture flags are friendlier to 3D. Mipmaps are enabled and the compression mode is changed to **VRAM Compressed** unless :ref:`doc_importing_images_detect_3d_compress_to` is changed. The texture is also reimported automatically." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:117 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:118 msgid "A message is printed to the Output panel when a texture is detected to be used in 3D." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:119 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:120 msgid "If you run into quality issues when a texture is detected to be used in 3D (e.g. for pixel art textures), change the :ref:`doc_importing_images_detect_3d_compress_to` option before using the texture in 3D, or change :ref:`doc_importing_images_compress_mode` to **Lossless** after using the texture in 3D. This is preferable to disabling **Detect 3D**, as mipmap generation remains enabled to prevent textures from looking grainy at a distance." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:128 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:129 msgid "Import options" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:132 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:133 msgid "In Godot 4.0, changing the texture filter and repeat mode is no longer done in the import options." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:135 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:136 msgid "Instead, texture filter and repeat modes are changed in the CanvasItem properties in 2D (with a project setting acting as a default), and in a :ref:`per-material configuration in 3D `. In custom shaders, filter and repeat mode is changed on the ``sampler2D`` uniform using hints described in the :ref:`doc_shading_language` documentation." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:145 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:146 msgid "Compress > Mode" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:147 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:148 msgid "Images are one of the largest assets in a game. To handle them efficiently, they need to be compressed. Godot offers several compression methods, depending on the use case." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:151 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:152 msgid "**Lossless:** This is the default and most common compression mode for 2D assets. It shows assets without any kind of artifacting, and disk compression is decent. It will use considerably more amount of video memory than VRAM Compression, though. This is also the recommended setting for pixel art." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:155 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:156 msgid "**Lossy:** This is a good choice for large 2D assets. It has some artifacts, but less than VRAM compression and the file size is several times lower compared to Lossless or VRAM Uncompressed. Video memory usage isn't decreased by this mode; it's the same as with Lossless or VRAM Uncompressed." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:159 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:160 msgid "**VRAM Compressed:** This is the default and most common compression mode for 3D assets. Size on disk is reduced and video memory usage is also decreased considerably (usually by a factor between 4 and 6). This mode should be avoided for 2D as it exhibits noticeable artifacts, especially for lower-resolution textures." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:164 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:165 msgid "**VRAM Uncompressed:** Only useful for formats that can't be compressed, such as raw floating-point images." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:166 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:167 msgid "**Basis Universal:** This alternative VRAM compression mode encodes the texture to a format that can be transcoded to most GPU-compressed formats at load-time. This provides very small files that make use of VRAM compression, at the cost of lower quality compared to VRAM Compressed and slow compression times. VRAM usage is usually the same as VRAM Compressed. Basis Universal does not support floating-point image formats (the engine will internally fall back to VRAM Compressed instead)." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:176 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:177 msgid "Even in 3D, \"pixel art\" textures should have VRAM compression disabled as it will negatively affect their appearance, without improving performance significantly due to their low resolution." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:180 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:181 msgid "In this table, each of the 5 options are described together with their advantages and disadvantages (|good| = best, |bad| = worst):" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:201 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:201 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:201 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:201 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:201 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:201 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:201 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:201 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:201 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:201 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:201 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:201 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:201 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:201 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:201 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:201 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:201 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:201 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:201 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:201 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:201 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:201 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:201 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:201 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:201 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:201 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:201 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:201 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:202 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:202 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:202 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:202 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:202 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:202 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:202 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:202 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:202 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:202 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:202 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:202 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:202 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:202 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:202 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:202 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:202 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:202 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:202 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:202 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:202 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:202 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:202 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:202 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:202 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:202 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:202 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:202 msgid "good" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:199 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:199 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:199 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:199 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:199 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:199 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:199 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:199 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:199 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:199 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:199 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:199 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:199 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:199 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:199 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:199 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:199 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:199 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:200 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:200 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:200 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:200 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:200 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:200 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:200 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:200 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:200 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:200 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:200 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:200 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:200 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:200 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:200 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:200 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:200 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:200 msgid "bad" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:184 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:185 msgid "Compress mode" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:184 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:208 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:185 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:209 msgid "Lossless" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:184 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:208 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:185 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:209 msgid "Lossy" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:184 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:208 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:185 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:209 msgid "VRAM Compressed" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:184 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:208 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:185 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:209 msgid "VRAM Uncompressed" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:184 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:208 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:185 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:209 msgid "Basis Universal" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:186 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:187 msgid "**Description**" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:186 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:187 msgid "Stored as Lossless WebP / PNG" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:186 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:187 msgid "Stored as Lossy WebP" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:186 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:187 msgid "Stored as S3TC, BPTC or ETC2 depending on platform" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:186 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:187 msgid "Stored as raw pixels" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:186 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:187 msgid "Transcoded to VRAM Compressed format" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:188 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:189 msgid "**Size on disk**" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:188 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:188 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:189 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:189 msgid "|regular| Small" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:203 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:203 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:203 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:203 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:203 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:203 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:203 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:203 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:203 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:203 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:203 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:203 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:203 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:203 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:204 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:204 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:204 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:204 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:204 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:204 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:204 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:204 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:204 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:204 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:204 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:204 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:204 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:204 msgid "regular" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:188 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:188 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:189 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:189 msgid "|good| Very small" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:188 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:190 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:190 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:190 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:189 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:191 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:191 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:191 msgid "|bad| Large" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:190 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:191 msgid "**Memory usage**" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:190 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:190 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:191 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:191 msgid "|good| Small" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:192 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:193 msgid "**Performance**" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:192 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:192 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:192 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:196 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:196 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:193 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:193 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:193 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:197 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:197 msgid "|regular| Normal" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:192 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:192 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:196 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:193 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:193 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:197 msgid "|good| Fast" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:194 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:195 msgid "**Quality loss**" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:194 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:194 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:195 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:195 msgid "|good| None" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:194 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:195 msgid "|regular| Slight" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:194 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:194 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:195 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:195 msgid "|bad| Moderate" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:196 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:197 msgid "**Load time**" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:196 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:196 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:197 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:197 msgid "|bad| Slow" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:205 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:206 msgid "Estimated memory usage for a single RGBA8 texture with mipmaps enabled:" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:208 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:209 msgid "Texture size" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:210 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:211 msgid "**128×128**" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:210 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:210 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:210 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:212 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:212 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:211 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:211 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:211 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:213 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:213 msgid "|good| 85 KiB" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:210 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:210 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:211 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:211 msgid "|good| 21 KiB" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:212 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:213 msgid "**256×256**" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:212 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:212 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:212 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:214 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:214 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:213 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:213 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:213 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:215 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:215 msgid "|good| 341 KiB" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:214 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:215 msgid "**512×512**" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:214 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:214 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:214 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:216 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:216 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:215 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:215 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:215 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:217 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:217 msgid "|good| 1.33 MiB" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:216 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:217 msgid "**1024×1024**" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:216 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:216 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:216 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:218 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:218 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:217 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:217 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:217 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:219 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:219 msgid "|regular| 5.33 MiB" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:218 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:219 msgid "**2048×2048**" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:218 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:218 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:218 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:220 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:220 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:219 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:219 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:219 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:221 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:221 msgid "|bad| 21.33 MiB" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:220 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:221 msgid "**4096×4096**" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:220 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:220 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:220 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:221 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:221 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:221 msgid "|bad| 85.33 MiB" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:225 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:226 msgid "In the above table, memory usage will be reduced by 25% for images that do not have an alpha channel (RGB8). Memory usage will be further decreased by 25% for images that have mipmaps disabled." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:229 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:230 msgid "Notice how at larger resolutions, the impact of VRAM compression is much greater. With a 4:1 compression ratio (6:1 for opaque textures with S3TC), VRAM compression effectively allows a texture to be twice as large on each axis, while using the same amount of memory on the GPU." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:234 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:235 msgid "VRAM compression also reduces the memory bandwidth required to sample the texture, which can speed up rendering in memory bandwidth-constrained scenarios (which are frequent on integrated graphics and mobile). These factors combined make VRAM compression a must-have for 3D games with high-resolution textures." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:239 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:240 msgid "You can preview how much memory a texture takes by double-clicking it in the FileSystem dock, then looking at the Inspector:" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:246 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:247 msgid "Previewing a texture in the Inspector" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:246 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:247 msgid "Previewing a texture in the Inspector. Credit: `Red Brick 03 - Poly Haven `__" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:249 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:250 msgid "Compress > High Quality" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:253 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:254 msgid "High-quality VRAM texture compression is only supported in the Forward+ and Forward Mobile rendering methods." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:256 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:257 msgid "When using the Compatibility rendering method, this option is always considered disabled." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:259 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:260 msgid "If enabled, uses BPTC compression on desktop platforms and :abbr:`ASTC (Adaptive Scalable Texture Compression)` compression on mobile platforms. When using BPTC, BC7 is used for SDR textures and BC6H is used for HDR textures." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:263 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:264 msgid "If disabled (default), uses the faster but lower-quality S3TC compression on desktop platforms and ETC2 on mobile/web platforms. When using S3TC, DXT1 (BC1) is used for opaque textures and DXT5 (BC3) is used for transparent or normal map (:abbr:`RGTC (Red-Green Texture Compression)`) textures." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:268 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:269 msgid "BPTC and ASTC support VRAM compression for HDR textures, but S3TC and ETC2 do not (see **HDR Compression** below)." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:272 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:273 msgid "Compress > HDR Compression" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:276 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:277 msgid "This option only has an effect on textures that are imported as HDR formats in Godot (``.hdr`` and ``.exr`` files)." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:279 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:280 msgid "If set to **Disabled**, never uses VRAM compression for HDR textures, regardless of whether they're opaque or transparent. Instead, the texture is converted to RGBE9995 (9-bits per channel + 5-bit exponent = 32 bits per pixel) to reduce memory usage compared to a half-float or single-precision float image format." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:284 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:285 msgid "If set to **Opaque Only** (default), only uses VRAM compression for opaque HDR textures. This is due to a limitation of HDR formats, as there is no VRAM-compressed HDR format that supports transparency at the same time." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:288 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:289 msgid "If set to **Always**, will force VRAM compression even for HDR textures with an alpha channel. To perform this, the alpha channel is discarded on import." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:292 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:293 msgid "Compress > Normal Map" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:294 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:295 msgid "When using a texture as normal map, only the red and green channels are required. Given regular texture compression algorithms produce artifacts that don't look that nice in normal maps, the :abbr:`RGTC (Red-Green Texture Compression)` compression format is the best fit for this data. Forcing this option to **Enable** will make Godot import the image as :abbr:`RGTC (Red-Green Texture Compression)` compressed. By default, it's set to **Detect**. This means that if the texture is ever detected to be used as a normal map, it will be changed to **Enable** and reimported automatically." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:302 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:303 msgid "Note that :abbr:`RGTC (Red-Green Texture Compression)` compression affects the resulting normal map image. You will have to adjust custom shaders that use the normal map's blue channel to take this into account. Built-in material shaders already ignore the blue channel in a normal map (regardless of the actual normal map's contents)." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:308 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:309 msgid "In the example below, the normal map with :abbr:`RGTC (Red-Green Texture Compression)` compression is able to preserve its detail much better, while using the same amount of memory as a standard RGBA VRAM-compressed texture:" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:316 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:316 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:317 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:317 msgid "Normal map with standard VRAM compression (left) and with RGTC VRAM compression (right)" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:320 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:421 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:321 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:422 msgid "Godot requires the normal map to use the X+, Y+ and Z+ coordinates, which is known as an OpenGL-style normal map. If you've imported a material made to be used with another engine, it may be DirectX-style. In this case, the normal map needs to be converted by enabling the **Normal Map Invert Y** import option." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:325 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:426 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:326 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:427 msgid "More information about normal maps (including a coordinate order table for popular engines) can be found `here `__." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:330 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:331 msgid "Compress > Channel Pack" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:332 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:333 msgid "If set to **sRGB Friendly** (default), prevents the RG color format from being used as it does not support sRGB color." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:335 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:336 msgid "If set to **Optimized**, allows the RG color format to be used if the texture does not use the blue channel." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:338 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:339 msgid "A third option **Normal Map (RG Channels)** is *only* available in layered textures (:ref:`class_Cubemap`, :ref:`class_CubemapArray`, :ref:`class_Texture2DArray` and :ref:`class_Texture3D`). This forces all layers from the texture to be imported with the RG color format to reduce memory usage, with only the red and green channels preserved. This only has an effect on textures with the **VRAM Compressed** or **Basis Universal** compression modes." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:348 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:349 msgid "Mipmaps > Generate" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:350 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:351 msgid "If enabled, smaller versions of the texture are generated on import. For example, a 64×64 texture will generate 6 mipmaps (32×32, 16×16, 8×8, 4×4, 2×2, 1×1). This has several benefits:" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:354 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:355 msgid "Textures will not become grainy in the distance (in 3D), or if scaled down due to camera zoom or CanvasItem scale (in 2D)." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:356 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:357 msgid "Performance will improve if the texture is displayed in the distance, since sampling smaller versions of the original texture is faster and requires less memory bandwidth." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:360 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:361 msgid "The downside of mipmaps is that they increase memory usage by roughly 33%." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:362 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:363 msgid "It's recommended to enable mipmaps in 3D. However, in 2D, this should only be enabled if your project visibly benefits from having mipmaps enabled. If the camera never zooms out significantly, there won't be a benefit to enabling mipmaps but memory usage will increase." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:368 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:369 msgid "Mipmaps > Limit" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:372 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:373 msgid "**Mipmaps > Limit** is currently not implemented and has no effect when changed." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:374 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:375 msgid "If set to a value greater than ``-1``, limits the maximum number of mipmaps that can be generated. This can be decreased if you don't want textures to become too low-resolution at extreme distances, at the cost of some graininess." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:379 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:380 msgid "Roughness > Mode" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:381 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:382 msgid "The color channel to consider as a roughness map in this texture. Only effective if **Roughness > Src Normal** is not empty." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:385 -msgid "Rougness > Src Normal" +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:386 +msgid "Roughness > Src Normal" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:387 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:388 msgid "The path to the texture to consider as a normal map for roughness filtering on import. Specifying this can help decrease specular aliasing slightly in 3D." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:390 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:391 msgid "Roughness filtering on import is only used in 3D rendering, not 2D." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:393 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:394 msgid "Process > Fix Alpha Border" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:395 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:396 msgid "This puts pixels of the same surrounding color in transition from transparent to opaque areas. For textures displayed with bilinear filtering, this helps mitigate the outline effect when exporting images from an image editor." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:401 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:402 msgid "It's recommended to leave this enabled (as it is by default), unless this causes issues for a particular image." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:405 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:406 msgid "Process > Premult Alpha" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:407 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:408 msgid "An alternative to fixing darkened borders with **Fix Alpha Border** is to use premultiplied alpha. By enabling this option, the texture will be converted to this format. A premultiplied alpha texture requires specific materials to be displayed correctly:" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:412 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:413 msgid "In 2D, a :ref:`class_CanvasItemMaterial` will need to be created and configured to use the **Premul Alpha** blend mode on CanvasItems that use this texture." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:415 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:416 msgid "In 3D, there is no support for premultiplied alpha blend mode yet, so this option is only suited for 2D." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:419 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:420 msgid "Process > Normal Map Invert Y" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:431 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:432 msgid "Process > HDR as sRGB" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:433 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:434 msgid "Some HDR images you can find online may be broken and contain sRGB color data (instead of linear color data). It is advised not to use those files. If you absolutely have to, enabling this option on will make them look correct." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:439 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:440 msgid "Enabling **HDR as sRGB** on well-formatted HDR images will cause the resulting image to look too dark, so leave this disabled if unsure." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:443 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:444 msgid "Process > HDR Clamp Exposure" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:445 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:446 msgid "Some HDR panorama images you can find online may contain extremely bright pixels, due to being taken from real life sources without any clipping." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:448 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:449 msgid "While these HDR panorama images are accurate to real life, this can cause the radiance map generated by Godot to contain sparkles when used as a background sky. This can be seen in material reflections (even on rough materials in extreme cases). Enabling **HDR Clamp Exposure** can resolve this using a smart clamping formula that does not introduce *visible* clipping – glow will keep working when looking at the background sky." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:456 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:457 msgid "Process > Size Limit" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:458 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:459 msgid "If set to a value greater than ``0``, the size of the texture is limited on import to a value smaller than or equal to the value specified here. For non-square textures, the size limit affects the longer dimension, with the shorter dimension scaled to preserve aspect ratio. Resizing is performed using cubic interpolation." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:464 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:465 msgid "This can be used to reduce memory usage without affecting the source images, or avoid issues with textures not displaying on mobile/web platforms (as these usually can't display textures larger than 4096×4096)." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:471 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:472 msgid "Detect 3D > Compress To" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:473 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:474 msgid "This changes the :ref:`doc_importing_images_compress_mode` option that is used when a texture is detected as being used in 3D." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:476 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:477 msgid "Changing this import option only has an effect if a texture is detected as being used in 3D. Changing this to **Disabled** then reimporting will not change the existing compress mode on a texture (if it's detected to be used in 3D), but choosing **VRAM Compressed** or **Basis Universal** will." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:482 -msgid "Best practices" +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:483 +msgid "SVG > Scale" msgstr "" #: ../../docs/tutorials/assets_pipeline/importing_images.rst:485 -msgid "Supporting high-resolution texture sizes in 2D without artifacts" +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:497 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:506 +msgid "*This is only available for SVG images.*" msgstr "" #: ../../docs/tutorials/assets_pipeline/importing_images.rst:487 -msgid "To support :ref:`multiple resolutions ` with crisp visuals at high resolutions, you will need to use high-resolution source images (suited for the highest resolution you wish to support without blurriness, which is typically 4K in modern desktop games)." +msgid "The scale the SVG should be rendered at, with ``1.0`` being the original design size. Higher values result in a larger image. Note that unlike font oversampling, this affects the physical size the SVG is rendered at in 2D. See also **Editor > Scale With Editor Scale** below." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:492 -msgid "There are 2 ways to proceed:" +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:495 +msgid "Editor > Scale With Editor Scale" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:494 -msgid "Use a high base resolution in the project settings (such as 4K), then use the textures at original scale. This is an easier approach." +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:499 +msgid "If true, scales the imported image to match the editor's display scale factor. This should be enabled for editor plugin icons and custom class icons, but should be left disabled otherwise." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:496 -msgid "Use a low base resolution in the project settings (such as 1080p), then downscale textures when using them. This is often more difficult and can make various calculations in script tedious, so the approach described above is recommended instead." +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:504 +msgid "Editor > Convert Colors With Editor Theme" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:501 -msgid "After doing this, you may notice that textures become grainy at lower viewport resolutions. To resolve this, enable **Mipmaps** on textures used in 2D in the Import dock. This will increase memory usage." +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:508 +msgid "If checked, converts the imported image's colors to match the editor's icon and font color palette. This assumes the image uses the exact same colors as :ref:`Godot's own color palette for editor icons `, with the source file designed for a dark editor theme. This should be enabled for editor plugin icons and custom class icons, but should be left disabled otherwise." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:505 -msgid "Enabling mipmaps can also make textures appear blurrier, but you can choose to make textures sharper (at the cost of some graininess) by setting **Rendering > Textures > Default Filters > Texture Mipmap Bias** to a negative value." +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:517 +msgid "Importing SVG images with text" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:511 -msgid "Use appropriate texture sizes in 3D" -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:513 -msgid "While there's no \"one size fits all\" recommendation, here are some general recommendations for choosing texture sizes in 3D:" -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:516 -msgid "The size of a texture should be adjusted to have a consistent texel density compared to surrounding objects. While this cannot be ensured perfectly when sticking to power-of-two texture sizes, it's usually possible to keep texture detail fairly consistent throughout a 3D scene." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:520 -msgid "The smaller the object appears on screen, the smaller its texture should be. For example, a tree that only appears in the background doesn't need a texture resolution as high as other objects the player may be able to walk close to." +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:519 +msgid "As the SVG library used in Godot doesn't support rasterizing text found in SVG images, text must be converted to a path first. Otherwise, text won't appear in the rasterized image." msgstr "" #: ../../docs/tutorials/assets_pipeline/importing_images.rst:523 -msgid "Using power-of-two texture sizes is recommended, but is not required. Textures don't have to be square – sizes such as 1024×512 are acceptable." +msgid "There are two ways to achieve this in a non-destructive manner, so you can keep editing the original text afterwards:" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:525 -msgid "There are diminishing returns to using large texture sizes, despite the increased memory usage and loading times. Most modern 3D games not using a pixel art style stick to 2048×2048 textures on average, with 1024×1024 and 512×512 for textures spanning smaller surfaces." +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:526 +msgid "Select your text object in Inkscape, then duplicate it in place by pressing :kbd:`Ctrl + D` and use **Path > Object to Path**. Hide the original text object afterwards using the **Layers and Objects** dock." msgstr "" #: ../../docs/tutorials/assets_pipeline/importing_images.rst:529 -msgid "When working with physically-based materials in 3D, you can reduce memory usage and file size without affecting quality too much by using a lower resolution for certain texture maps. This works especially well for textures that only feature low-frequency detail (such as a normal map for a snow texture)." +msgid "Use the Inkscape command line to export a SVG from another SVG file with text converted to paths:" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:535 -msgid "If you have control over how the 3D models are created, these tips are also worth exploring:" +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:537 +msgid "Best practices" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:538 -msgid "When working with 3D models that are mostly symmetrical, you may be able to use mirrored UVs to double the effective texel density. This may look unnatural when used on human faces though." +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:540 +msgid "Supporting high-resolution texture sizes in 2D without artifacts" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:541 -msgid "When working with 3D models using a low-poly style and plain colors, you can rely on vertex colors instead of textures to represent colors on the model's surfaces." +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:542 +msgid "To support :ref:`multiple resolutions ` with crisp visuals at high resolutions, you will need to use high-resolution source images (suited for the highest resolution you wish to support without blurriness, which is typically 4K in modern desktop games)." msgstr "" #: ../../docs/tutorials/assets_pipeline/importing_images.rst:547 +msgid "There are 2 ways to proceed:" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:549 +msgid "Use a high base resolution in the project settings (such as 4K), then use the textures at original scale. This is an easier approach." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:551 +msgid "Use a low base resolution in the project settings (such as 1080p), then downscale textures when using them. This is often more difficult and can make various calculations in script tedious, so the approach described above is recommended instead." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:556 +msgid "After doing this, you may notice that textures become grainy at lower viewport resolutions. To resolve this, enable **Mipmaps** on textures used in 2D in the Import dock. This will increase memory usage." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:560 +msgid "Enabling mipmaps can also make textures appear blurrier, but you can choose to make textures sharper (at the cost of some graininess) by setting **Rendering > Textures > Default Filters > Texture Mipmap Bias** to a negative value." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:566 +msgid "Use appropriate texture sizes in 3D" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:568 +msgid "While there's no \"one size fits all\" recommendation, here are some general recommendations for choosing texture sizes in 3D:" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:571 +msgid "The size of a texture should be adjusted to have a consistent texel density compared to surrounding objects. While this cannot be ensured perfectly when sticking to power-of-two texture sizes, it's usually possible to keep texture detail fairly consistent throughout a 3D scene." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:575 +msgid "The smaller the object appears on screen, the smaller its texture should be. For example, a tree that only appears in the background doesn't need a texture resolution as high as other objects the player may be able to walk close to." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:578 +msgid "Using power-of-two texture sizes is recommended, but is not required. Textures don't have to be square – sizes such as 1024×512 are acceptable." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:580 +msgid "There are diminishing returns to using large texture sizes, despite the increased memory usage and loading times. Most modern 3D games not using a pixel art style stick to 2048×2048 textures on average, with 1024×1024 and 512×512 for textures spanning smaller surfaces." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:584 +msgid "When working with physically-based materials in 3D, you can reduce memory usage and file size without affecting quality too much by using a lower resolution for certain texture maps. This works especially well for textures that only feature low-frequency detail (such as a normal map for a snow texture)." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:590 +msgid "If you have control over how the 3D models are created, these tips are also worth exploring:" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:593 +msgid "When working with 3D models that are mostly symmetrical, you may be able to use mirrored UVs to double the effective texel density. This may look unnatural when used on human faces though." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:596 +msgid "When working with 3D models using a low-poly style and plain colors, you can rely on vertex colors instead of textures to represent colors on the model's surfaces." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:602 msgid "Images can be loaded and saved at runtime using :ref:`runtime file loading and saving `, including from an exported project." msgstr "" diff --git a/sphinx/templates/tutorials/assets_pipeline/importing_translations.pot b/sphinx/templates/tutorials/assets_pipeline/importing_translations.pot index 51bcab6bac..b4a18e19fe 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 66a801c7ee..44e2559f02 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 791b8a59d4..94da9120db 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 bd0b1775b7..02f613669a 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 5532a4373d..5d53397a9b 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 9b0a7d1a81..1a9bfcd757 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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/index.pot b/sphinx/templates/tutorials/audio/index.pot index a277dae6e8..2fa25cf506 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 a2b9aa4d2e..2ffc9e0a9a 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 10eed088c0..33b92b11e4 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 b12e646672..8c16b7738a 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -29,90 +29,134 @@ msgid "Basic usage of text-to-speech involves the following one-time steps:" msgstr "" #: ../../docs/tutorials/audio/text_to_speech.rst:11 -msgid "Query the system for a list of usable voices" +msgid "Enable TTS in the Godot editor for your project" msgstr "" #: ../../docs/tutorials/audio/text_to_speech.rst:12 +msgid "Query the system for a list of usable voices" +msgstr "" + +#: ../../docs/tutorials/audio/text_to_speech.rst:13 msgid "Store the ID of the voice you want to use" msgstr "" -#: ../../docs/tutorials/audio/text_to_speech.rst:14 -msgid "Once you have the voice ID, you can use it to speak some text:" +#: ../../docs/tutorials/audio/text_to_speech.rst:15 +msgid "By default, the Godot project-level setting for text-to-speech is disabled, to avoid unnecessary overhead. To enable it:" msgstr "" -#: ../../docs/tutorials/audio/text_to_speech.rst:59 -msgid "Requirements for functionality" +#: ../../docs/tutorials/audio/text_to_speech.rst:17 +msgid "Go to **Project > Project Settings**" msgstr "" -#: ../../docs/tutorials/audio/text_to_speech.rst:61 -msgid "Godot includes text-to-speech functionality. You can find these under the :ref:`DisplayServer class `." +#: ../../docs/tutorials/audio/text_to_speech.rst:18 +msgid "Make sure the **Advanced Settings** toggle is enabled" msgstr "" -#: ../../docs/tutorials/audio/text_to_speech.rst:63 -msgid "Godot depends on system libraries for text-to-speech functionality. These libraries are installed by default on Windows and macOS, but not on all Linux distributions. If they are not present, text-to-speech functionality will not work. Specifically, the ``tts_get_voices()`` method will return an empty list, indicating that there are no usable voices." +#: ../../docs/tutorials/audio/text_to_speech.rst:19 +msgid "Click on **Audio > General**" msgstr "" -#: ../../docs/tutorials/audio/text_to_speech.rst:65 -msgid "Both Godot users on Linux and end-users on Linux running Godot games need to ensure that their system includes the system libraries for text-to-speech to work. Please consult the table below or your own distribution's documentation to determine what libraries you need to install." +#: ../../docs/tutorials/audio/text_to_speech.rst:20 +msgid "Ensure the **Text to Speech** option is checked" +msgstr "" + +#: ../../docs/tutorials/audio/text_to_speech.rst:21 +msgid "Restart Godot if prompted to do so." +msgstr "" + +#: ../../docs/tutorials/audio/text_to_speech.rst:23 +msgid "Text-to-speech uses a specific voice. Depending on the user's system, they might have multiple voices installed. Once you have the voice ID, you can use it to speak some text:" msgstr "" #: ../../docs/tutorials/audio/text_to_speech.rst:68 -msgid "Distro-specific one-liners" +msgid "Requirements for functionality" msgstr "" #: ../../docs/tutorials/audio/text_to_speech.rst:70 -msgid "**Arch Linux**" +msgid "Godot includes text-to-speech functionality. You can find these under the :ref:`DisplayServer class `." +msgstr "" + +#: ../../docs/tutorials/audio/text_to_speech.rst:72 +msgid "Godot depends on system libraries for text-to-speech functionality. These libraries are installed by default on Windows and macOS, but not on all Linux distributions. If they are not present, text-to-speech functionality will not work. Specifically, the ``tts_get_voices()`` method will return an empty list, indicating that there are no usable voices." +msgstr "" + +#: ../../docs/tutorials/audio/text_to_speech.rst:74 +msgid "Both Godot users on Linux and end-users on Linux running Godot games need to ensure that their system includes the system libraries for text-to-speech to work. Please consult the table below or your own distribution's documentation to determine what libraries you need to install." msgstr "" #: ../../docs/tutorials/audio/text_to_speech.rst:77 -msgid "Best practices" +msgid "Distro-specific one-liners" msgstr "" #: ../../docs/tutorials/audio/text_to_speech.rst:79 -msgid "The best practices for text-to-speech, in terms of the ideal player experience for blind players, is to send output to the player's screen reader. This preserves the choice of language, speed, pitch, etc. that the user set, as well as allows advanced features like allowing players to scroll backward and forward through text. As of now, Godot doesn't provide this level of integration." -msgstr "" - -#: ../../docs/tutorials/audio/text_to_speech.rst:81 -msgid "With the current state of the Godot text-to-speech APIs, best practices include:" -msgstr "" - -#: ../../docs/tutorials/audio/text_to_speech.rst:83 -msgid "Develop the game with text-to-speech enabled, and ensure that everything sounds correct" -msgstr "" - -#: ../../docs/tutorials/audio/text_to_speech.rst:84 -msgid "Allow players to control which voice to use, and save/persist that selection across game sessions" +msgid "**Arch Linux**" msgstr "" #: ../../docs/tutorials/audio/text_to_speech.rst:85 -msgid "Allow players to control the speech rate, and save/persist that selection across game sessions" +msgid "Troubleshooting" msgstr "" #: ../../docs/tutorials/audio/text_to_speech.rst:87 -msgid "This provides your blind players with the most flexibility and comfort available when not using a screen reader, and minimizes the chance of frustrating and alienating them." +msgid "If you get the error `Invalid get index '0' (on base: 'PackedStringArray').` for the line `var voice_id = voices[0]`, check if there are any items in `voices`. If not:" +msgstr "" + +#: ../../docs/tutorials/audio/text_to_speech.rst:89 +msgid "All users: make sure you enabled **Text to Speech** in project settings" msgstr "" #: ../../docs/tutorials/audio/text_to_speech.rst:90 -msgid "Caveats and Other Information" -msgstr "" - -#: ../../docs/tutorials/audio/text_to_speech.rst:92 -msgid "Expect delays when you call `tts_speak` and `tts_stop`. The actual delay time varies depending on both the OS and on your machine's specifications. This is especially critical on Android and Web, where some of the voices depend on web services, and the actual time to playback depends on server load, network latency, and other factors." +msgid "Linux users: ensure you installed the system-specific libraries for text to speech" msgstr "" #: ../../docs/tutorials/audio/text_to_speech.rst:93 -msgid "Non-English text works if the correct voices are installed and used. On Windows, you can consult the instructions in `this article`_ to enable additional language voices on Windows." -msgstr "" - -#: ../../docs/tutorials/audio/text_to_speech.rst:94 -msgid "Non-ASCII characters, such as umlaut, are pronounced correctly if you select the correct voice." +msgid "Best practices" msgstr "" #: ../../docs/tutorials/audio/text_to_speech.rst:95 +msgid "The best practices for text-to-speech, in terms of the ideal player experience for blind players, is to send output to the player's screen reader. This preserves the choice of language, speed, pitch, etc. that the user set, as well as allows advanced features like allowing players to scroll backward and forward through text. As of now, Godot doesn't provide this level of integration." +msgstr "" + +#: ../../docs/tutorials/audio/text_to_speech.rst:97 +msgid "With the current state of the Godot text-to-speech APIs, best practices include:" +msgstr "" + +#: ../../docs/tutorials/audio/text_to_speech.rst:99 +msgid "Develop the game with text-to-speech enabled, and ensure that everything sounds correct" +msgstr "" + +#: ../../docs/tutorials/audio/text_to_speech.rst:100 +msgid "Allow players to control which voice to use, and save/persist that selection across game sessions" +msgstr "" + +#: ../../docs/tutorials/audio/text_to_speech.rst:101 +msgid "Allow players to control the speech rate, and save/persist that selection across game sessions" +msgstr "" + +#: ../../docs/tutorials/audio/text_to_speech.rst:103 +msgid "This provides your blind players with the most flexibility and comfort available when not using a screen reader, and minimizes the chance of frustrating and alienating them." +msgstr "" + +#: ../../docs/tutorials/audio/text_to_speech.rst:106 +msgid "Caveats and Other Information" +msgstr "" + +#: ../../docs/tutorials/audio/text_to_speech.rst:108 +msgid "Expect delays when you call `tts_speak` and `tts_stop`. The actual delay time varies depending on both the OS and on your machine's specifications. This is especially critical on Android and Web, where some of the voices depend on web services, and the actual time to playback depends on server load, network latency, and other factors." +msgstr "" + +#: ../../docs/tutorials/audio/text_to_speech.rst:109 +msgid "Non-English text works if the correct voices are installed and used. On Windows, you can consult the instructions in `this article`_ to enable additional language voices on Windows." +msgstr "" + +#: ../../docs/tutorials/audio/text_to_speech.rst:110 +msgid "Non-ASCII characters, such as umlaut, are pronounced correctly if you select the correct voice." +msgstr "" + +#: ../../docs/tutorials/audio/text_to_speech.rst:111 msgid "Blind players use a number of screen readers, including JAWS, NVDA, VoiceOver, Narrator, and more." msgstr "" -#: ../../docs/tutorials/audio/text_to_speech.rst:96 +#: ../../docs/tutorials/audio/text_to_speech.rst:112 msgid "Windows text-to-speech APIs generally perform better than their equivalents on other systems (e.g. `tts_stop` followed by `tts_speak` immediately speaks the new message)." msgstr "" 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 53f287b7eb..4e70c19770 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 53b43efffa..9a9e32622a 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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_interfaces.pot b/sphinx/templates/tutorials/best_practices/godot_interfaces.pot index ff82dd7c06..519aaaeed8 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 0b519372d1..34eaa21120 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 42ee1dc28a..cb1dd13ac8 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 2274cc4de7..45a2759e50 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 c36c8a8d51..40002a0499 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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/node_alternatives.pot b/sphinx/templates/tutorials/best_practices/node_alternatives.pot index fa59aca1dc..5d964948e8 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 548a365c5c..0b376640b3 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 13b67b688d..d4fcab8970 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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/scenes_versus_scripts.pot b/sphinx/templates/tutorials/best_practices/scenes_versus_scripts.pot index 4a0389c2c8..8498a109c7 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 3d69a746a1..b839807637 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -44,75 +44,71 @@ msgstr "" msgid "Official Git plugin" msgstr "" -#: ../../docs/tutorials/best_practices/version_control_systems.rst:26 -msgid "As of July 2023, the Git plugin hasn't been updated to work with Godot 4.1 and later yet." -msgstr "" - -#: ../../docs/tutorials/best_practices/version_control_systems.rst:29 +#: ../../docs/tutorials/best_practices/version_control_systems.rst:24 msgid "Using Git from inside the editor is supported with an official plugin. You can find the latest releases on `GitHub `__." msgstr "" -#: ../../docs/tutorials/best_practices/version_control_systems.rst:33 +#: ../../docs/tutorials/best_practices/version_control_systems.rst:28 msgid "Documentation on how to use the Git plugin can be found on its `wiki `__." msgstr "" -#: ../../docs/tutorials/best_practices/version_control_systems.rst:37 +#: ../../docs/tutorials/best_practices/version_control_systems.rst:32 msgid "Files to exclude from VCS" msgstr "" -#: ../../docs/tutorials/best_practices/version_control_systems.rst:41 +#: ../../docs/tutorials/best_practices/version_control_systems.rst:36 msgid "This lists files and folders that should be ignored from version control in Godot 4.1 and later." msgstr "" -#: ../../docs/tutorials/best_practices/version_control_systems.rst:44 +#: ../../docs/tutorials/best_practices/version_control_systems.rst:39 msgid "The list of files of folders that should be ignored from version control in Godot 3.x and Godot 4.0 is **entirely** different. This is important, as Godot 3.x and 4.0 may store sensitive credentials in ``export_presets.cfg`` (unlike Godot 4.1 and later)." msgstr "" -#: ../../docs/tutorials/best_practices/version_control_systems.rst:49 +#: ../../docs/tutorials/best_practices/version_control_systems.rst:44 msgid "If you are using Godot 3, check the ``3.5`` version of this documentation page instead." msgstr "" -#: ../../docs/tutorials/best_practices/version_control_systems.rst:52 +#: ../../docs/tutorials/best_practices/version_control_systems.rst:47 msgid "There are some files and folders Godot automatically creates when opening a project in the editor for the first time. To avoid bloating your version control repository with generated data, you should add them to your VCS ignore:" msgstr "" -#: ../../docs/tutorials/best_practices/version_control_systems.rst:56 +#: ../../docs/tutorials/best_practices/version_control_systems.rst:51 msgid "``.godot/``: This folder stores various project cache data." msgstr "" -#: ../../docs/tutorials/best_practices/version_control_systems.rst:57 +#: ../../docs/tutorials/best_practices/version_control_systems.rst:52 msgid "``*.translation``: These files are binary imported :ref:`translations ` generated from CSV files." msgstr "" -#: ../../docs/tutorials/best_practices/version_control_systems.rst:60 +#: ../../docs/tutorials/best_practices/version_control_systems.rst:55 msgid "You can make the Godot project manager generate version control metadata for you automatically when creating a project. When choosing the **Git** option, this creates ``.gitignore`` and ``.gitattributes`` files in the project root:" msgstr "" -#: ../../docs/tutorials/best_practices/version_control_systems.rst:68 +#: ../../docs/tutorials/best_practices/version_control_systems.rst:63 msgid "Creating version control metadata in the project manager's New Project dialog" msgstr "" -#: ../../docs/tutorials/best_practices/version_control_systems.rst:68 +#: ../../docs/tutorials/best_practices/version_control_systems.rst:63 msgid "Creating version control metadata in the project manager's **New Project** dialog" msgstr "" -#: ../../docs/tutorials/best_practices/version_control_systems.rst:70 +#: ../../docs/tutorials/best_practices/version_control_systems.rst:65 msgid "In existing projects, select the **Project** menu at the top of the editor, then choose **Version Control > Generate Version Control Metadata**. This creates the same files as if the operation was performed in the project manager." msgstr "" -#: ../../docs/tutorials/best_practices/version_control_systems.rst:75 +#: ../../docs/tutorials/best_practices/version_control_systems.rst:70 msgid "Working with Git on Windows" msgstr "" -#: ../../docs/tutorials/best_practices/version_control_systems.rst:77 +#: ../../docs/tutorials/best_practices/version_control_systems.rst:72 msgid "Most Git for Windows clients are configured with the ``core.autocrlf`` set to ``true``. This can lead to files unnecessarily being marked as modified by Git due to their line endings being converted from LF to CRLF automatically." msgstr "" -#: ../../docs/tutorials/best_practices/version_control_systems.rst:81 +#: ../../docs/tutorials/best_practices/version_control_systems.rst:76 msgid "It is better to set this option as:" msgstr "" -#: ../../docs/tutorials/best_practices/version_control_systems.rst:87 +#: ../../docs/tutorials/best_practices/version_control_systems.rst:82 msgid "Creating version control metadata using the project manager or editor will automatically enforce LF line endings using the ``.gitattributes`` file. In this case, you don't need to change your Git configuration." msgstr "" 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 acc1c09f03..136179926b 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 fd1ec834db..9d71e30b01 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -776,126 +776,142 @@ msgid "Depending on where your Godot binary is located and what your current wor msgstr "" #: ../../docs/tutorials/editor/command_line_tutorial.rst:267 -msgid "This can be done by giving the path to the ``project.godot`` file of your project as either the first argument, like this:" +msgid "When running the editor, this can be done by giving the path to the ``project.godot`` file of your project as either the first argument, like this:" msgstr "" #: ../../docs/tutorials/editor/command_line_tutorial.rst:274 -msgid "Or by using the ``--path`` argument:" +msgid "For all commands, this can be done by using the ``--path`` argument:" msgstr "" #: ../../docs/tutorials/editor/command_line_tutorial.rst:280 msgid "For example, the full command for exporting your game (as explained below) might look like this:" msgstr "" +#: ../../docs/tutorials/editor/command_line_tutorial.rst:286 +msgid "When starting from a subdirectory of your project, use the ``--upwards`` argument for Godot to automatically find the ``project.godot`` file by recursively searching the parent directories." +msgstr "" + #: ../../docs/tutorials/editor/command_line_tutorial.rst:289 +msgid "For example, running a scene (as explained below) nested in a subdirectory might look like this when your working directory is in the same path:" +msgstr "" + +#: ../../docs/tutorials/editor/command_line_tutorial.rst:300 msgid "Creating a project" msgstr "" -#: ../../docs/tutorials/editor/command_line_tutorial.rst:292 +#: ../../docs/tutorials/editor/command_line_tutorial.rst:303 msgid "Creating a project from the command line can be done by navigating the shell to the desired place and making a ``project.godot`` file." msgstr "" -#: ../../docs/tutorials/editor/command_line_tutorial.rst:303 +#: ../../docs/tutorials/editor/command_line_tutorial.rst:314 msgid "The project can now be opened with Godot." msgstr "" -#: ../../docs/tutorials/editor/command_line_tutorial.rst:307 +#: ../../docs/tutorials/editor/command_line_tutorial.rst:318 msgid "Running the editor" msgstr "" -#: ../../docs/tutorials/editor/command_line_tutorial.rst:309 -msgid "Running the editor is done by executing Godot with the ``-e`` flag. This must be done from within the project directory or a subdirectory, otherwise the command is ignored and the Project Manager appears." +#: ../../docs/tutorials/editor/command_line_tutorial.rst:320 +msgid "Running the editor is done by executing Godot with the ``-e`` flag. This must be done from within the project directory or by setting the project path as explained above, otherwise the command is ignored and the Project Manager appears." msgstr "" -#: ../../docs/tutorials/editor/command_line_tutorial.rst:317 +#: ../../docs/tutorials/editor/command_line_tutorial.rst:328 +msgid "When passing in the full path to the ``project.godot`` file, the ``-e`` flag may be omitted." +msgstr "" + +#: ../../docs/tutorials/editor/command_line_tutorial.rst:330 msgid "If a scene has been created and saved, it can be edited later by running the same code with that scene as argument." msgstr "" -#: ../../docs/tutorials/editor/command_line_tutorial.rst:325 +#: ../../docs/tutorials/editor/command_line_tutorial.rst:338 msgid "Erasing a scene" msgstr "" -#: ../../docs/tutorials/editor/command_line_tutorial.rst:327 +#: ../../docs/tutorials/editor/command_line_tutorial.rst:340 msgid "Godot is friends with your filesystem and will not create extra metadata files. Use ``rm`` to erase a scene file. Make sure nothing references that scene. Otherwise, an error will be thrown upon opening the project." msgstr "" -#: ../../docs/tutorials/editor/command_line_tutorial.rst:336 +#: ../../docs/tutorials/editor/command_line_tutorial.rst:349 msgid "Running the game" msgstr "" -#: ../../docs/tutorials/editor/command_line_tutorial.rst:338 -msgid "To run the game, simply execute Godot within the project directory or subdirectory." +#: ../../docs/tutorials/editor/command_line_tutorial.rst:351 +msgid "To run the game, execute Godot within the project directory or with the project path as explained above." msgstr "" -#: ../../docs/tutorials/editor/command_line_tutorial.rst:345 +#: ../../docs/tutorials/editor/command_line_tutorial.rst:357 +msgid "Note that passing in the ``project.godot`` file will always run the editor instead of running the game." +msgstr "" + +#: ../../docs/tutorials/editor/command_line_tutorial.rst:359 msgid "When a specific scene needs to be tested, pass that scene to the command line." msgstr "" -#: ../../docs/tutorials/editor/command_line_tutorial.rst:353 +#: ../../docs/tutorials/editor/command_line_tutorial.rst:366 msgid "Debugging" msgstr "" -#: ../../docs/tutorials/editor/command_line_tutorial.rst:355 +#: ../../docs/tutorials/editor/command_line_tutorial.rst:368 msgid "Catching errors in the command line can be a difficult task because they scroll quickly. For this, a command line debugger is provided by adding ``-d``. It works for running either the game or a single scene." msgstr "" -#: ../../docs/tutorials/editor/command_line_tutorial.rst:370 +#: ../../docs/tutorials/editor/command_line_tutorial.rst:383 msgid "Exporting" msgstr "" -#: ../../docs/tutorials/editor/command_line_tutorial.rst:372 +#: ../../docs/tutorials/editor/command_line_tutorial.rst:385 msgid "Exporting the project from the command line is also supported. This is especially useful for continuous integration setups." msgstr "" -#: ../../docs/tutorials/editor/command_line_tutorial.rst:377 +#: ../../docs/tutorials/editor/command_line_tutorial.rst:390 msgid "Using the ``--headless`` command line argument is **required** on platforms that do not have GPU access (such as continuous integration). On platforms with GPU access, ``--headless`` prevents a window from spawning while the project is exporting." msgstr "" -#: ../../docs/tutorials/editor/command_line_tutorial.rst:390 +#: ../../docs/tutorials/editor/command_line_tutorial.rst:403 msgid "The preset name must match the name of an export preset defined in the project's ``export_presets.cfg`` file. If the preset name contains spaces or special characters (such as \"Windows Desktop\"), it must be surrounded with quotes." msgstr "" -#: ../../docs/tutorials/editor/command_line_tutorial.rst:394 +#: ../../docs/tutorials/editor/command_line_tutorial.rst:407 msgid "To export a debug version of the game, use the ``--export-debug`` switch instead of ``--export-release``. Their parameters and usage are the same." msgstr "" -#: ../../docs/tutorials/editor/command_line_tutorial.rst:397 +#: ../../docs/tutorials/editor/command_line_tutorial.rst:410 msgid "To export only a PCK file, use the ``--export-pack`` option followed by the preset name and output path, with the file extension, instead of ``--export-release`` or ``--export-debug``. The output path extension determines the package's format, either PCK or ZIP." msgstr "" -#: ../../docs/tutorials/editor/command_line_tutorial.rst:404 +#: ../../docs/tutorials/editor/command_line_tutorial.rst:417 msgid "When specifying a relative path as the path for ``--export-release``, ``--export-debug`` or ``--export-pack``, the path will be relative to the directory containing the ``project.godot`` file, **not** relative to the current working directory." msgstr "" -#: ../../docs/tutorials/editor/command_line_tutorial.rst:409 +#: ../../docs/tutorials/editor/command_line_tutorial.rst:422 msgid "Running a script" msgstr "" -#: ../../docs/tutorials/editor/command_line_tutorial.rst:411 +#: ../../docs/tutorials/editor/command_line_tutorial.rst:424 msgid "It is possible to run a ``.gd`` script from the command line. This feature is especially useful in large projects, e.g. for batch conversion of assets or custom import/export." msgstr "" -#: ../../docs/tutorials/editor/command_line_tutorial.rst:415 +#: ../../docs/tutorials/editor/command_line_tutorial.rst:428 msgid "The script must inherit from ``SceneTree`` or ``MainLoop``." msgstr "" -#: ../../docs/tutorials/editor/command_line_tutorial.rst:417 +#: ../../docs/tutorials/editor/command_line_tutorial.rst:430 msgid "Here is an example ``sayhello.gd``, showing how it works:" msgstr "" -#: ../../docs/tutorials/editor/command_line_tutorial.rst:428 +#: ../../docs/tutorials/editor/command_line_tutorial.rst:441 msgid "And how to run it:" msgstr "" -#: ../../docs/tutorials/editor/command_line_tutorial.rst:435 +#: ../../docs/tutorials/editor/command_line_tutorial.rst:448 msgid "If no ``project.godot`` exists at the path, current path is assumed to be the current working directory (unless ``--path`` is specified)." msgstr "" -#: ../../docs/tutorials/editor/command_line_tutorial.rst:438 +#: ../../docs/tutorials/editor/command_line_tutorial.rst:451 msgid "The first line of ``sayhello.gd`` above is commonly referred to as a *shebang*. If the Godot binary is in your ``PATH`` as ``godot``, it allows you to run the script as follows in modern Linux distributions, as well as macOS:" msgstr "" -#: ../../docs/tutorials/editor/command_line_tutorial.rst:450 +#: ../../docs/tutorials/editor/command_line_tutorial.rst:463 msgid "If the above doesn't work in your current version of Linux or macOS, you can always have the shebang run Godot straight from where it is located as follows:" msgstr "" diff --git a/sphinx/templates/tutorials/editor/customizing_editor.pot b/sphinx/templates/tutorials/editor/customizing_editor.pot index 11e72042bc..c5c7d0100a 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 c023c690eb..568297e92f 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 894fde9127..42d642a4f8 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 c51c2000e2..da2c5015b6 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 19f24b3c3c..3467974e32 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 e464045ace..8518cd4f43 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 93df41fe63..ce9f3f9fd4 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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_settings.pot b/sphinx/templates/tutorials/editor/project_settings.pot index e401647261..3b9dab4dc2 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 c3953c96d0..aef8e37adf 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 83fc299c47..0a8fbc7b9b 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 560292f781..c1e8d0f77c 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 505dea975a..cb080cd33c 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 db4b3013c8..a99c315374 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -85,7 +85,7 @@ msgid "NDK version r23c (23.2.8568313)" msgstr "" #: ../../docs/tutorials/export/exporting_for_android.rst:43 -msgid "Alternatively, you can install the Android SDK using the `command line tools `__." +msgid "Alternatively, you can install the Android SDK using the `command line tools `__." msgstr "" #: ../../docs/tutorials/export/exporting_for_android.rst:45 diff --git a/sphinx/templates/tutorials/export/exporting_for_dedicated_servers.pot b/sphinx/templates/tutorials/export/exporting_for_dedicated_servers.pot index 67562ca0b8..19e2c6c32c 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 0c8780cab4..2080046422 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -216,6 +216,30 @@ msgstr "" msgid "``GODOT_IOS_PROVISIONING_PROFILE_UUID_RELEASE``" msgstr "" +#: ../../docs/tutorials/export/exporting_for_ios.rst:133 +msgid "Troubleshooting" +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_ios.rst:136 +msgid "xcode-select points at wrong SDK location" +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_ios.rst:138 +msgid "xcode-select is a tool that comes with Xcode and among other things points at iOS SDKs on your Mac. If you have Xcode installed, opened it, agreed to the license agreement, and installed the command line tools, xcode-select should point at the right location for the iPhone SDK. If it somehow doesn't, Godot will fail exporting to iOS with an error that may look like this:" +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_ios.rst:148 +msgid "In this case, Godot is trying to find the ``Platforms`` folder containing the iPhone SDK inside the ``/Library/Developer/CommandLineTools/`` folder, but the ``Platforms`` folder with the iPhone SDK is actually located under ``/Applications/Xcode.app/Contents/Developer``. To verify this, you can open up Terminal and run the following command to see what xcode-select points at:" +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_ios.rst:157 +msgid "To fix xcode-select pointing at a wrong location, enter this command in Terminal:" +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_ios.rst:163 +msgid "After running this command, Godot should be able to successfully export to iOS." +msgstr "" + #: ../../docs/:0 msgid "Translation status" msgstr "" diff --git a/sphinx/templates/tutorials/export/exporting_for_linux.pot b/sphinx/templates/tutorials/export/exporting_for_linux.pot index 96793a494b..043eb9907c 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 ed41ef94be..7052e5dd13 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -25,586 +25,586 @@ msgid "This page describes how to export a Godot project to macOS. If you're loo msgstr "" #: ../../docs/tutorials/export/exporting_for_macos.rst:12 -msgid "macOS apps are exported as an ``.app`` bundle, a folder with a specific structure which stores the executable, libraries and all the project files. This bundle can be exported as is, packed in a ZIP archive or DMG disk image (only supported when exporting from a computer running macOS)." +msgid "macOS apps exported with the official export templates are exported as a single \"Universal 2\" binary ``.app`` bundle, a folder with a specific structure which stores the executable, libraries and all the project files. This bundle can be exported as is, packed in a ZIP archive or DMG disk image (only supported when exporting from a computer running macOS). `Universal binaries for macOS support both Intel x86_64 and ARM64 (Apple silicon, i.e. M1) architectures `__." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:16 +#: ../../docs/tutorials/export/exporting_for_macos.rst:17 msgid "Requirements" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:18 +#: ../../docs/tutorials/export/exporting_for_macos.rst:19 msgid "Download the Godot export templates. Use the Godot menu: ``Editor > Manage Export Templates``." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:19 +#: ../../docs/tutorials/export/exporting_for_macos.rst:20 msgid "A valid and unique ``Bundle identifier`` should be set in the ``Application`` section of the export options." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:23 +#: ../../docs/tutorials/export/exporting_for_macos.rst:24 msgid "Projects exported without code signing and notarization will be blocked by Gatekeeper if they are downloaded from unknown sources, see the :ref:`Running Godot apps on macOS ` page for more information." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:26 +#: ../../docs/tutorials/export/exporting_for_macos.rst:27 msgid "Code signing and notarization" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:28 +#: ../../docs/tutorials/export/exporting_for_macos.rst:29 msgid "By default, macOS will run only applications that are signed and notarized. If you use any other signing configuration, see :ref:`Running Godot apps on macOS ` for workarounds." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:30 +#: ../../docs/tutorials/export/exporting_for_macos.rst:31 msgid "To notarize an app, you **must** have a valid `Apple Developer ID Certificate `__." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:33 +#: ../../docs/tutorials/export/exporting_for_macos.rst:34 msgid "If you have an Apple Developer ID Certificate and exporting from macOS" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:35 +#: ../../docs/tutorials/export/exporting_for_macos.rst:36 msgid "Install `Xcode `__ command line tools and open Xcode at least once or run the ``sudo xcodebuild -license accept`` command to accept license agreement." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:38 -#: ../../docs/tutorials/export/exporting_for_macos.rst:62 +#: ../../docs/tutorials/export/exporting_for_macos.rst:39 +#: ../../docs/tutorials/export/exporting_for_macos.rst:63 msgid "To sign exported app" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:40 +#: ../../docs/tutorials/export/exporting_for_macos.rst:41 msgid "Select ``Xcode codesign`` in the ``Code Signing > Codesign`` option." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:41 +#: ../../docs/tutorials/export/exporting_for_macos.rst:42 msgid "Set valid Apple ID certificate identity (certificate \"Common Name\") in the ``Code Signing > Identity`` section." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:44 -#: ../../docs/tutorials/export/exporting_for_macos.rst:68 +#: ../../docs/tutorials/export/exporting_for_macos.rst:45 +#: ../../docs/tutorials/export/exporting_for_macos.rst:69 msgid "To notarize exported app" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:46 +#: ../../docs/tutorials/export/exporting_for_macos.rst:47 msgid "Select ``Xcode altool`` in the ``Notarization > Notarization`` option." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:47 -#: ../../docs/tutorials/export/exporting_for_macos.rst:71 +#: ../../docs/tutorials/export/exporting_for_macos.rst:48 +#: ../../docs/tutorials/export/exporting_for_macos.rst:72 msgid "Disable the ``Debugging`` entitlement." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:48 +#: ../../docs/tutorials/export/exporting_for_macos.rst:49 msgid "Set valid Apple ID login / app. specific password or `App Store Connect `__ API UUID / Key in the ``Notarization`` section." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:50 +#: ../../docs/tutorials/export/exporting_for_macos.rst:51 msgid "You can use the ``xcrun notarytool history`` command to check notarization status and use the ``xcrun notarytool log {ID}`` command to download the notarization log." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:52 +#: ../../docs/tutorials/export/exporting_for_macos.rst:53 msgid "If you encounter notarization issues, see `Resolving common notarization issues `__ for more info." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:54 +#: ../../docs/tutorials/export/exporting_for_macos.rst:55 msgid "After notarization is completed, `staple the ticket `__ to the exported project." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:57 +#: ../../docs/tutorials/export/exporting_for_macos.rst:58 msgid "If you have an Apple Developer ID Certificate and exporting from Linux or Windows" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:59 +#: ../../docs/tutorials/export/exporting_for_macos.rst:60 msgid "Install `PyOxidizer rcodesign `__, and configure the path to ``rcodesign`` in the ``Editor Settings > Export > macOS > rcodesign``." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:64 +#: ../../docs/tutorials/export/exporting_for_macos.rst:65 msgid "Select ``PyOxidizer rcodesign`` in the ``Code Signing > Codesign`` option." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:65 +#: ../../docs/tutorials/export/exporting_for_macos.rst:66 msgid "Set valid Apple ID PKCS #12 certificate file and password in the ``Code Signing`` section." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:70 +#: ../../docs/tutorials/export/exporting_for_macos.rst:71 msgid "Select ``PyOxidizer rcodesign`` in the ``Notarization > Notarization`` option." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:72 +#: ../../docs/tutorials/export/exporting_for_macos.rst:73 msgid "Set valid `App Store Connect `__ API UUID / Key in the ``Notarization`` section." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:74 +#: ../../docs/tutorials/export/exporting_for_macos.rst:75 msgid "You can use the ``rcodesign notary-log`` command to check notarization status." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:76 +#: ../../docs/tutorials/export/exporting_for_macos.rst:77 msgid "After notarization is completed, use the ``rcodesign staple`` command to staple the ticket to the exported project." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:79 +#: ../../docs/tutorials/export/exporting_for_macos.rst:80 msgid "If you do not have an Apple Developer ID Certificate" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:81 +#: ../../docs/tutorials/export/exporting_for_macos.rst:82 msgid "Select ``Built-in (ad-hoc only)`` in the ``Code Signing > Codesign`` option." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:82 +#: ../../docs/tutorials/export/exporting_for_macos.rst:83 msgid "Select ``Disabled`` in the ``Notarization > Notarization`` option." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:84 +#: ../../docs/tutorials/export/exporting_for_macos.rst:85 msgid "In this case Godot will use a ad-hoc signature, which will make running an exported app easier for the end users, see the :ref:`Running Godot apps on macOS ` page for more information." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:87 +#: ../../docs/tutorials/export/exporting_for_macos.rst:88 msgid "Signing Options" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:90 -#: ../../docs/tutorials/export/exporting_for_macos.rst:110 +#: ../../docs/tutorials/export/exporting_for_macos.rst:91 +#: ../../docs/tutorials/export/exporting_for_macos.rst:111 msgid "Option" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:90 -#: ../../docs/tutorials/export/exporting_for_macos.rst:110 -#: ../../docs/tutorials/export/exporting_for_macos.rst:143 -#: ../../docs/tutorials/export/exporting_for_macos.rst:186 +#: ../../docs/tutorials/export/exporting_for_macos.rst:91 +#: ../../docs/tutorials/export/exporting_for_macos.rst:111 +#: ../../docs/tutorials/export/exporting_for_macos.rst:144 +#: ../../docs/tutorials/export/exporting_for_macos.rst:187 msgid "Description" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:92 +#: ../../docs/tutorials/export/exporting_for_macos.rst:93 msgid "Codesign" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:92 +#: ../../docs/tutorials/export/exporting_for_macos.rst:93 msgid "Tool to use for code signing." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:94 +#: ../../docs/tutorials/export/exporting_for_macos.rst:95 msgid "Identity" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:94 +#: ../../docs/tutorials/export/exporting_for_macos.rst:95 msgid "The \"Full Name\" or \"Common Name\" of the signing identity, store in the macOS keychain. [1]_" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:96 +#: ../../docs/tutorials/export/exporting_for_macos.rst:97 msgid "Certificate File" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:96 +#: ../../docs/tutorials/export/exporting_for_macos.rst:97 msgid "The PKCS #12 certificate file. [2]_" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:98 +#: ../../docs/tutorials/export/exporting_for_macos.rst:99 msgid "Certificate Password" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:98 +#: ../../docs/tutorials/export/exporting_for_macos.rst:99 msgid "Password for the certificate file. [2]_" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:100 +#: ../../docs/tutorials/export/exporting_for_macos.rst:101 msgid "Custom Options" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:100 +#: ../../docs/tutorials/export/exporting_for_macos.rst:101 msgid "Array of command line arguments passed to the code signing tool." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:103 +#: ../../docs/tutorials/export/exporting_for_macos.rst:104 msgid "This option is visible only when signing with Xcode codesign." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:104 +#: ../../docs/tutorials/export/exporting_for_macos.rst:105 msgid "These options are visible only when signing with PyOxidizer rcodesign." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:107 +#: ../../docs/tutorials/export/exporting_for_macos.rst:108 msgid "Notarization Options" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:112 +#: ../../docs/tutorials/export/exporting_for_macos.rst:113 msgid "Notarization" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:112 +#: ../../docs/tutorials/export/exporting_for_macos.rst:113 msgid "Tool to use for notarization." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:114 +#: ../../docs/tutorials/export/exporting_for_macos.rst:115 msgid "Apple ID Name" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:114 +#: ../../docs/tutorials/export/exporting_for_macos.rst:115 msgid "Apple ID account name (email address). [3]_" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:116 +#: ../../docs/tutorials/export/exporting_for_macos.rst:117 msgid "Apple ID Password" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:116 +#: ../../docs/tutorials/export/exporting_for_macos.rst:117 msgid "Apple ID app-specific password. See `Using app-specific passwords `__ to enable two-factor authentication and create app password. [3]_" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:118 +#: ../../docs/tutorials/export/exporting_for_macos.rst:119 msgid "Apple Team ID" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:118 +#: ../../docs/tutorials/export/exporting_for_macos.rst:119 msgid "Team ID (\"Organization Unit\"), if your Apple ID belongs to multiple teams (optional). [3]_" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:120 +#: ../../docs/tutorials/export/exporting_for_macos.rst:121 msgid "API UUID" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:120 +#: ../../docs/tutorials/export/exporting_for_macos.rst:121 msgid "Apple `App Store Connect `__ API issuer UUID." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:122 +#: ../../docs/tutorials/export/exporting_for_macos.rst:123 msgid "API Key" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:122 +#: ../../docs/tutorials/export/exporting_for_macos.rst:123 msgid "Apple `App Store Connect `__ API key." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:127 +#: ../../docs/tutorials/export/exporting_for_macos.rst:128 msgid "You should set either Apple ID Name/Password or App Store Connect API UUID/Key." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:129 +#: ../../docs/tutorials/export/exporting_for_macos.rst:130 msgid "These options are visible only when notarizing with Xcode altool." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:131 +#: ../../docs/tutorials/export/exporting_for_macos.rst:132 msgid "See `Notarizing macOS Software Before Distribution `__ for more info." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:134 +#: ../../docs/tutorials/export/exporting_for_macos.rst:135 msgid "Entitlements" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:137 +#: ../../docs/tutorials/export/exporting_for_macos.rst:138 msgid "Hardened Runtime Entitlements" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:139 +#: ../../docs/tutorials/export/exporting_for_macos.rst:140 msgid "Hardened Runtime entitlements manage security options and resource access policy. See `Hardened Runtime `__ for more info." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:143 -#: ../../docs/tutorials/export/exporting_for_macos.rst:186 +#: ../../docs/tutorials/export/exporting_for_macos.rst:144 +#: ../../docs/tutorials/export/exporting_for_macos.rst:187 msgid "Entitlement" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:145 +#: ../../docs/tutorials/export/exporting_for_macos.rst:146 msgid "Allow JIT Code Execution [4]_" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:145 +#: ../../docs/tutorials/export/exporting_for_macos.rst:146 msgid "Allows creating writable and executable memory for JIT code. If you are using add-ons with dynamic or self-modifying native code, enable them according to the add-on documentation." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:147 +#: ../../docs/tutorials/export/exporting_for_macos.rst:148 msgid "Allow Unsigned Executable Memory [4]_" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:147 +#: ../../docs/tutorials/export/exporting_for_macos.rst:148 msgid "Allows creating writable and executable memory without JIT restrictions. If you are using add-ons with dynamic or self-modifying native code, enable them according to the add-on documentation." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:149 +#: ../../docs/tutorials/export/exporting_for_macos.rst:150 msgid "Allow DYLD Environment Variables [4]_" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:149 +#: ../../docs/tutorials/export/exporting_for_macos.rst:150 msgid "Allows app to uss dynamic linker environment variables to inject code. If you are using add-ons with dynamic or self-modifying native code, enable them according to the add-on documentation." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:151 +#: ../../docs/tutorials/export/exporting_for_macos.rst:152 msgid "Disable Library Validation" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:151 +#: ../../docs/tutorials/export/exporting_for_macos.rst:152 msgid "Allows app to load arbitrary libraries and frameworks. Enable it if you are using GDExtension add-ons or ad-hoc signing, or want to support user-provided external add-ons." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:153 +#: ../../docs/tutorials/export/exporting_for_macos.rst:154 msgid "Audio Input" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:153 +#: ../../docs/tutorials/export/exporting_for_macos.rst:154 msgid "Enable if you need to use the microphone or other audio input sources, if it's enabled you should also provide usage message in the `privacy/microphone_usage_description` option." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:155 +#: ../../docs/tutorials/export/exporting_for_macos.rst:156 msgid "Camera" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:155 +#: ../../docs/tutorials/export/exporting_for_macos.rst:156 msgid "Enable if you need to use the camera, if it's enabled you should also provide usage message in the `privacy/camera_usage_description` option." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:157 +#: ../../docs/tutorials/export/exporting_for_macos.rst:158 msgid "Location" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:157 +#: ../../docs/tutorials/export/exporting_for_macos.rst:158 msgid "Enable if you need to use location information from Location Services, if it's enabled you should also provide usage message in the `privacy/location_usage_description` option." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:159 +#: ../../docs/tutorials/export/exporting_for_macos.rst:160 msgid "Address Book" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:159 +#: ../../docs/tutorials/export/exporting_for_macos.rst:160 msgid "[5]_ Enable to allow access contacts in the user's address book, if it's enabled you should also provide usage message in the `privacy/address_book_usage_description` option." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:161 +#: ../../docs/tutorials/export/exporting_for_macos.rst:162 msgid "Calendars" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:161 +#: ../../docs/tutorials/export/exporting_for_macos.rst:162 msgid "[5]_ Enable to allow access to the user's calendar, if it's enabled you should also provide usage message in the `privacy/calendar_usage_description` option." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:163 +#: ../../docs/tutorials/export/exporting_for_macos.rst:164 msgid "Photo Library" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:163 +#: ../../docs/tutorials/export/exporting_for_macos.rst:164 msgid "[5]_ Enable to allow access to the user's Photos library, if it's enabled you should also provide usage message in the `privacy/photos_library_usage_description` option." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:165 +#: ../../docs/tutorials/export/exporting_for_macos.rst:166 msgid "Apple Events" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:165 +#: ../../docs/tutorials/export/exporting_for_macos.rst:166 msgid "[5]_ Enable to allow app to send Apple events to other apps." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:167 +#: ../../docs/tutorials/export/exporting_for_macos.rst:168 msgid "Debugging" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:167 +#: ../../docs/tutorials/export/exporting_for_macos.rst:168 msgid "[6]_ You can temporarily enable this entitlement to use native debugger (GDB, LLDB) with the exported app. This entitlement should be disabled for production export." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:170 +#: ../../docs/tutorials/export/exporting_for_macos.rst:171 msgid "The ``Allow JIT Code Execution``, ``Allow Unsigned Executable Memory`` and ``Allow DYLD Environment Variables`` entitlements are always enabled for the Godot Mono exports, and are not visible in the export options." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:171 +#: ../../docs/tutorials/export/exporting_for_macos.rst:172 msgid "These features aren't supported by Godot out of the box, enable them only if you are using add-ons which require them." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:172 +#: ../../docs/tutorials/export/exporting_for_macos.rst:173 msgid "To notarize an app, you must disable the ``Debugging`` entitlement." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:175 +#: ../../docs/tutorials/export/exporting_for_macos.rst:176 msgid "App Sandbox Entitlement" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:177 +#: ../../docs/tutorials/export/exporting_for_macos.rst:178 msgid "The App Sandbox restricts access to user data, networking and devices. Sandboxed apps can't access most of the file system, can't use custom file dialogs and execute binaries (using ``OS.execute`` and ``OS.create_process``) outside the ``.app`` bundle. See `App Sandbox `__ for more info." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:183 +#: ../../docs/tutorials/export/exporting_for_macos.rst:184 msgid "To distribute an app through the App Store, you must enable the App Sandbox." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:188 +#: ../../docs/tutorials/export/exporting_for_macos.rst:189 msgid "Enabled" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:188 +#: ../../docs/tutorials/export/exporting_for_macos.rst:189 msgid "Enables App Sandbox." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:190 +#: ../../docs/tutorials/export/exporting_for_macos.rst:191 msgid "Network Server" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:190 +#: ../../docs/tutorials/export/exporting_for_macos.rst:191 msgid "Enable to allow app to listen for incoming network connections." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:192 +#: ../../docs/tutorials/export/exporting_for_macos.rst:193 msgid "Network Client" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:192 +#: ../../docs/tutorials/export/exporting_for_macos.rst:193 msgid "Enable to allow app to establish outgoing network connections." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:194 +#: ../../docs/tutorials/export/exporting_for_macos.rst:195 msgid "Device USB" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:194 +#: ../../docs/tutorials/export/exporting_for_macos.rst:195 msgid "Enable to allow app to interact with USB devices. This entitlement is required to use wired controllers." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:196 +#: ../../docs/tutorials/export/exporting_for_macos.rst:197 msgid "Device Bluetooth" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:196 +#: ../../docs/tutorials/export/exporting_for_macos.rst:197 msgid "Enable to allow app to interact with Bluetooth devices. This entitlement is required to use wireless controllers." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:198 +#: ../../docs/tutorials/export/exporting_for_macos.rst:199 msgid "Files Downloads [7]_" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:198 +#: ../../docs/tutorials/export/exporting_for_macos.rst:199 msgid "Allows read or write access to the user's \"Downloads\" folder." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:200 +#: ../../docs/tutorials/export/exporting_for_macos.rst:201 msgid "Files Pictures [7]_" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:200 +#: ../../docs/tutorials/export/exporting_for_macos.rst:201 msgid "Allows read or write access to the user's \"Pictures\" folder." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:202 +#: ../../docs/tutorials/export/exporting_for_macos.rst:203 msgid "Files Music [7]_" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:202 +#: ../../docs/tutorials/export/exporting_for_macos.rst:203 msgid "Allows read or write access to the user's \"Music\" folder." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:204 +#: ../../docs/tutorials/export/exporting_for_macos.rst:205 msgid "Files Movies [7]_" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:204 +#: ../../docs/tutorials/export/exporting_for_macos.rst:205 msgid "Allows read or write access to the user's \"Movies\" folder." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:206 +#: ../../docs/tutorials/export/exporting_for_macos.rst:207 msgid "Files User Selected [7]_" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:206 +#: ../../docs/tutorials/export/exporting_for_macos.rst:207 msgid "Allows read or write access to arbitrary folder. To gain access, a folder must be selected from the native file dialog by the user." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:208 +#: ../../docs/tutorials/export/exporting_for_macos.rst:209 msgid "Helper Executable" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:208 +#: ../../docs/tutorials/export/exporting_for_macos.rst:209 msgid "List of helper executables to embedded to the app bundle. Sandboxed app are limited to execute only these executable." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:211 +#: ../../docs/tutorials/export/exporting_for_macos.rst:212 msgid "You can optionally provide usage messages for various folders in the `privacy/*_folder_usage_description` options." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:215 +#: ../../docs/tutorials/export/exporting_for_macos.rst:216 msgid "You can override default entitlements by selecting custom entitlements file, in this case all other entitlement are ignored." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:218 +#: ../../docs/tutorials/export/exporting_for_macos.rst:219 msgid "Environment variables" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:220 +#: ../../docs/tutorials/export/exporting_for_macos.rst:221 msgid "You can use the following environment variables to set export options outside of the editor. During the export process, these override the values that you set in the export menu." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:224 +#: ../../docs/tutorials/export/exporting_for_macos.rst:225 msgid "macOS export environment variables" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:227 +#: ../../docs/tutorials/export/exporting_for_macos.rst:228 msgid "Export option" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:228 +#: ../../docs/tutorials/export/exporting_for_macos.rst:229 msgid "Environment variable" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:229 +#: ../../docs/tutorials/export/exporting_for_macos.rst:230 msgid "Encryption / Encryption Key" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:230 +#: ../../docs/tutorials/export/exporting_for_macos.rst:231 msgid "``GODOT_SCRIPT_ENCRYPTION_KEY``" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:231 +#: ../../docs/tutorials/export/exporting_for_macos.rst:232 msgid "Options / Codesign / Certificate File" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:232 +#: ../../docs/tutorials/export/exporting_for_macos.rst:233 msgid "``GODOT_MACOS_CODESIGN_CERTIFICATE_FILE``" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:233 +#: ../../docs/tutorials/export/exporting_for_macos.rst:234 msgid "Options / Codesign / Certificate Password" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:234 +#: ../../docs/tutorials/export/exporting_for_macos.rst:235 msgid "``GODOT_MACOS_CODESIGN_CERTIFICATE_PASSWORD``" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:235 +#: ../../docs/tutorials/export/exporting_for_macos.rst:236 msgid "Options / Codesign / Provisioning Profile" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:236 +#: ../../docs/tutorials/export/exporting_for_macos.rst:237 msgid "``GODOT_MACOS_CODESIGN_PROVISIONING_PROFILE``" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:237 +#: ../../docs/tutorials/export/exporting_for_macos.rst:238 msgid "Options / Notarization / API UUID" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:238 +#: ../../docs/tutorials/export/exporting_for_macos.rst:239 msgid "``GODOT_MACOS_NOTARIZATION_API_UUID``" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:239 +#: ../../docs/tutorials/export/exporting_for_macos.rst:240 msgid "Options / Notarization / API Key" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:240 +#: ../../docs/tutorials/export/exporting_for_macos.rst:241 msgid "``GODOT_MACOS_NOTARIZATION_API_KEY``" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:241 +#: ../../docs/tutorials/export/exporting_for_macos.rst:242 msgid "Options / Notarization / API Key ID" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:242 +#: ../../docs/tutorials/export/exporting_for_macos.rst:243 msgid "``GODOT_MACOS_NOTARIZATION_API_KEY_ID``" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:243 +#: ../../docs/tutorials/export/exporting_for_macos.rst:244 msgid "Options / Notarization / Apple ID Name" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:244 +#: ../../docs/tutorials/export/exporting_for_macos.rst:245 msgid "``GODOT_MACOS_NOTARIZATION_APPLE_ID_NAME``" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:245 +#: ../../docs/tutorials/export/exporting_for_macos.rst:246 msgid "Options / Notarization / Apple ID Password" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:246 +#: ../../docs/tutorials/export/exporting_for_macos.rst:247 msgid "``GODOT_MACOS_NOTARIZATION_APPLE_ID_PASSWORD``" msgstr "" diff --git a/sphinx/templates/tutorials/export/exporting_for_web.pot b/sphinx/templates/tutorials/export/exporting_for_web.pot index ffb20eaf75..8769686c02 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 350314b1b5..86e28b375d 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 e73792c1e8..0b0cacdf04 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 feb2d86422..339749ce58 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -92,159 +92,175 @@ msgstr "" msgid "At that time, the user is expected to come back to the documentation and follow instructions on how to properly set up that platform." msgstr "" -#: ../../docs/tutorials/export/exporting_projects.rst:93 -msgid "Export templates" +#: ../../docs/tutorials/export/exporting_projects.rst:92 +msgid "The buttons at the bottom of the menu allow you to export the project in a few different ways:" msgstr "" #: ../../docs/tutorials/export/exporting_projects.rst:95 -msgid "Apart from setting up the platform, the export templates must be installed to be able to export projects. They can be obtained as a TPZ file (which is a renamed ZIP archive) from the `download page of the website `_." +msgid "Export All: Export the project as a playable build (Godot executable and project data) for all the presets defined. All presets must have an **Export Path** defined for this to work." +msgstr "" + +#: ../../docs/tutorials/export/exporting_projects.rst:98 +msgid "Export Project: Export the project as a playable build (Godot executable and project data) for the selected preset." msgstr "" #: ../../docs/tutorials/export/exporting_projects.rst:100 +msgid "Export PCK/ZIP: Export the project resources as a PCK or ZIP package. This is not a playable build, it only exports the project data without a Godot executable." +msgstr "" + +#: ../../docs/tutorials/export/exporting_projects.rst:104 +msgid "Export templates" +msgstr "" + +#: ../../docs/tutorials/export/exporting_projects.rst:106 +msgid "Apart from setting up the platform, the export templates must be installed to be able to export projects. They can be obtained as a TPZ file (which is a renamed ZIP archive) from the `download page of the website `_." +msgstr "" + +#: ../../docs/tutorials/export/exporting_projects.rst:111 msgid "Once downloaded, they can be installed using the **Install Export Templates** option in the editor:" msgstr "" -#: ../../docs/tutorials/export/exporting_projects.rst:108 +#: ../../docs/tutorials/export/exporting_projects.rst:119 msgid "Resource options" msgstr "" -#: ../../docs/tutorials/export/exporting_projects.rst:110 +#: ../../docs/tutorials/export/exporting_projects.rst:121 msgid "When exporting, Godot makes a list of all the files to export and then creates the package. There are 3 different modes for exporting:" msgstr "" -#: ../../docs/tutorials/export/exporting_projects.rst:113 +#: ../../docs/tutorials/export/exporting_projects.rst:124 msgid "Export all resources in the project" msgstr "" -#: ../../docs/tutorials/export/exporting_projects.rst:114 +#: ../../docs/tutorials/export/exporting_projects.rst:125 msgid "Export selected scenes (and dependencies)" msgstr "" -#: ../../docs/tutorials/export/exporting_projects.rst:115 +#: ../../docs/tutorials/export/exporting_projects.rst:126 msgid "Export selected resources (and dependencies)" msgstr "" -#: ../../docs/tutorials/export/exporting_projects.rst:119 +#: ../../docs/tutorials/export/exporting_projects.rst:130 msgid "**Export all resources in the project** will export every resource in the project. **Export selected scenes** and **Export selected resources** gives you a list of the scenes or resources in the project, and you have to select every scene or resource you want to export." msgstr "" -#: ../../docs/tutorials/export/exporting_projects.rst:128 +#: ../../docs/tutorials/export/exporting_projects.rst:139 msgid "Files and folders whose name 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/export/exporting_projects.rst:132 +#: ../../docs/tutorials/export/exporting_projects.rst:143 msgid "Below the list of resources are two filters that can be setup. The first allows non resource files such as ``.txt``, ``.json`` and ``.csv`` to be exported with the project. The second filter can be used to exclude every file of a certain type without manually deselecting every one. For example, ``.png`` files." msgstr "" -#: ../../docs/tutorials/export/exporting_projects.rst:138 +#: ../../docs/tutorials/export/exporting_projects.rst:149 msgid "Configuration files" msgstr "" -#: ../../docs/tutorials/export/exporting_projects.rst:140 +#: ../../docs/tutorials/export/exporting_projects.rst:151 msgid "The export configuration is stored in two files that can both be found in the project directory:" msgstr "" -#: ../../docs/tutorials/export/exporting_projects.rst:143 +#: ../../docs/tutorials/export/exporting_projects.rst:154 msgid "``export_presets.cfg``: This file contains the vast majority of the export configuration and can be safely committed to version control. There is nothing in here that you would normally have to keep secret." msgstr "" -#: ../../docs/tutorials/export/exporting_projects.rst:146 +#: ../../docs/tutorials/export/exporting_projects.rst:157 msgid "``.godot/export_credentials.cfg``: This file contains export options that are considered confidential, like passwords and encryption keys. It should generally **not** be committed to version control or shared with others unless you know exactly what you are doing." msgstr "" -#: ../../docs/tutorials/export/exporting_projects.rst:151 +#: ../../docs/tutorials/export/exporting_projects.rst:162 msgid "Since the credentials file is usually kept out of version control systems, some export options will be missing if you clone the project to a new machine. The easiest way to deal with this is to copy the file manually from the old location to the new one." msgstr "" -#: ../../docs/tutorials/export/exporting_projects.rst:156 +#: ../../docs/tutorials/export/exporting_projects.rst:167 msgid "Exporting from the command line" msgstr "" -#: ../../docs/tutorials/export/exporting_projects.rst:158 +#: ../../docs/tutorials/export/exporting_projects.rst:169 msgid "In production, it is useful to automate builds, and Godot supports this with the ``--export`` and ``--export-debug`` command line parameters. Exporting from the command line still requires an export preset to define the export parameters. A basic invocation of the command would be:" msgstr "" -#: ../../docs/tutorials/export/exporting_projects.rst:167 +#: ../../docs/tutorials/export/exporting_projects.rst:178 msgid "This will export to ``some_name.exe``, assuming there is a preset called \"Windows Desktop\" and the template can be found. (The export preset name must be written within quotes if it contains spaces or special characters.) The output path is *relative to the project path* or *absolute*; **it does not respect the directory the command was invoked from**." msgstr "" -#: ../../docs/tutorials/export/exporting_projects.rst:173 +#: ../../docs/tutorials/export/exporting_projects.rst:184 msgid "The output file extension should match the one used by the Godot export process:" msgstr "" -#: ../../docs/tutorials/export/exporting_projects.rst:175 +#: ../../docs/tutorials/export/exporting_projects.rst:186 msgid "Windows: ``.exe``" msgstr "" -#: ../../docs/tutorials/export/exporting_projects.rst:176 +#: ../../docs/tutorials/export/exporting_projects.rst:187 msgid "macOS: ``.zip`` (from all platforms) or ``.dmg`` (only when exporting *from* macOS). ``.app`` is not supported directly, although the generated ZIP archive contains an ``.app`` bundle." msgstr "" -#: ../../docs/tutorials/export/exporting_projects.rst:178 +#: ../../docs/tutorials/export/exporting_projects.rst:189 msgid "Linux: Any extension (including none). ``.x86_64`` is typically used for 64-bit x86 binaries." msgstr "" -#: ../../docs/tutorials/export/exporting_projects.rst:179 +#: ../../docs/tutorials/export/exporting_projects.rst:190 msgid "HTML5: ``.zip``" msgstr "" -#: ../../docs/tutorials/export/exporting_projects.rst:180 +#: ../../docs/tutorials/export/exporting_projects.rst:191 msgid "Android: ``.apk``" msgstr "" -#: ../../docs/tutorials/export/exporting_projects.rst:181 +#: ../../docs/tutorials/export/exporting_projects.rst:192 msgid "iOS: ``.zip``" msgstr "" -#: ../../docs/tutorials/export/exporting_projects.rst:183 +#: ../../docs/tutorials/export/exporting_projects.rst:194 msgid "You can also configure it to export *only* the PCK or ZIP file, allowing a single exported main pack file to be used with multiple Godot executables. When doing so, the export preset name must still be specified on the command line:" msgstr "" -#: ../../docs/tutorials/export/exporting_projects.rst:191 +#: ../../docs/tutorials/export/exporting_projects.rst:202 msgid "It is often useful to combine the ``--export`` flag with the ``--path`` flag, so that you do not need to ``cd`` to the project folder before running the command:" msgstr "" -#: ../../docs/tutorials/export/exporting_projects.rst:201 +#: ../../docs/tutorials/export/exporting_projects.rst:212 msgid "See :ref:`doc_command_line_tutorial` for more information about using Godot from the command line." msgstr "" -#: ../../docs/tutorials/export/exporting_projects.rst:205 +#: ../../docs/tutorials/export/exporting_projects.rst:216 msgid "PCK versus ZIP pack file formats" msgstr "" -#: ../../docs/tutorials/export/exporting_projects.rst:207 +#: ../../docs/tutorials/export/exporting_projects.rst:218 msgid "Each format has its upsides and downsides. PCK is the default and recommended format for most use cases, but you may want to use a ZIP archive instead depending on your needs." msgstr "" -#: ../../docs/tutorials/export/exporting_projects.rst:211 +#: ../../docs/tutorials/export/exporting_projects.rst:222 msgid "**PCK format:**" msgstr "" -#: ../../docs/tutorials/export/exporting_projects.rst:213 +#: ../../docs/tutorials/export/exporting_projects.rst:224 msgid "Uncompressed format. Larger file size, but faster to read/write." msgstr "" -#: ../../docs/tutorials/export/exporting_projects.rst:214 +#: ../../docs/tutorials/export/exporting_projects.rst:225 msgid "Not readable and writable using tools normally present on the user's operating system, even though there are `third-party tools `__ to extract and create PCK files." msgstr "" -#: ../../docs/tutorials/export/exporting_projects.rst:219 +#: ../../docs/tutorials/export/exporting_projects.rst:230 msgid "**ZIP format:**" msgstr "" -#: ../../docs/tutorials/export/exporting_projects.rst:221 +#: ../../docs/tutorials/export/exporting_projects.rst:232 msgid "Compressed format. Smaller file size, but slower to read/write." msgstr "" -#: ../../docs/tutorials/export/exporting_projects.rst:222 +#: ../../docs/tutorials/export/exporting_projects.rst:233 msgid "Readable and writable using tools normally present on the user's operating system. This can be useful to make modding easier (see also :ref:`doc_exporting_pcks`)." msgstr "" -#: ../../docs/tutorials/export/exporting_projects.rst:227 +#: ../../docs/tutorials/export/exporting_projects.rst:238 msgid "Due to a `known bug `__, when using a ZIP file as a pack file, the exported binary will not try to use it automatically. Therefore, you have to create a *launcher script* that the player can double-click or run from a terminal to launch the project::" msgstr "" -#: ../../docs/tutorials/export/exporting_projects.rst:239 +#: ../../docs/tutorials/export/exporting_projects.rst:250 msgid "Save the launcher script and place it in the same folder as the exported binary. On Linux, make sure to give executable permissions to the launcher script using the command ``chmod +x launch.sh``." msgstr "" diff --git a/sphinx/templates/tutorials/export/feature_tags.pot b/sphinx/templates/tutorials/export/feature_tags.pot index 14b2782099..5b6b852f79 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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/index.pot b/sphinx/templates/tutorials/export/index.pot index 2346cd6893..f12291f550 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 cf47ac989c..375e575053 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 3180d897b6..a04513049d 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 8cd34ab91a..2b1d904acd 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 3df9c6c073..634a298c2c 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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/locales.pot b/sphinx/templates/tutorials/i18n/locales.pot index 887554c43c..b9fb11a055 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 d61c053a20..69e55897dc 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\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 "Automatic generation using the editor" msgstr "" #: ../../docs/tutorials/i18n/localization_using_gettext.rst:61 -msgid "Since Godot 4.0, the editor can generate a PO template automatically from specified scene and script files. This POT generation also supports translation contexts and pluralization if used in a script, with the optional second argument of ``tr()`` and the ``tr_n()`` method." +msgid "Since Godot 4.0, the editor can generate a PO template automatically from specified scene and GDScript files. This POT generation also supports translation contexts and pluralization if used in a script, with the optional second argument of ``tr()`` and the ``tr_n()`` method." msgstr "" #: ../../docs/tutorials/i18n/localization_using_gettext.rst:66 diff --git a/sphinx/templates/tutorials/i18n/pseudolocalization.pot b/sphinx/templates/tutorials/i18n/pseudolocalization.pot index 79dd6b7c7a..7ac325b5bf 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 9fe80021ba..ea62532cec 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -204,47 +204,51 @@ msgstr "" msgid "First, check that your controller is recognized by other applications. You can use the `Gamepad Tester `__ website to confirm that your controller is recognized." msgstr "" -#: ../../docs/tutorials/inputs/controllers_gamepads_joysticks.rst:297 +#: ../../docs/tutorials/inputs/controllers_gamepads_joysticks.rst:296 +msgid "On Windows Godot only supports up to 4 controllers at a time. This is because Godot uses the XInput API, which is limited to supporting 4 controllers at once. Additional controllers above this limit are ignored by Godot." +msgstr "" + +#: ../../docs/tutorials/inputs/controllers_gamepads_joysticks.rst:301 msgid "My controller has incorrectly mapped buttons or axes." msgstr "" -#: ../../docs/tutorials/inputs/controllers_gamepads_joysticks.rst:299 +#: ../../docs/tutorials/inputs/controllers_gamepads_joysticks.rst:303 msgid "First, if your controller provides some kind of firmware update utility, make sure to run it to get the latest fixes from the manufacturer. For instance, Xbox One and Xbox Series controllers can have their firmware updated using the `Xbox Accessories app `__. (This application only runs on Windows, so you have to use a Windows machine or a Windows virtual machine with USB support to update the controller's firmware.) After updating the controller's firmware, unpair the controller and pair it again with your PC if you are using the controller in wireless mode." msgstr "" -#: ../../docs/tutorials/inputs/controllers_gamepads_joysticks.rst:308 +#: ../../docs/tutorials/inputs/controllers_gamepads_joysticks.rst:312 msgid "If buttons are incorrectly mapped, this may be due to an erroneous mapping from the `SDL game controller database `__. You can contribute an updated mapping to be included in the next Godot version by opening a pull request on the linked repository." msgstr "" -#: ../../docs/tutorials/inputs/controllers_gamepads_joysticks.rst:313 +#: ../../docs/tutorials/inputs/controllers_gamepads_joysticks.rst:317 msgid "There are many ways to create mappings. One option is to use the mapping wizard in the `official Joypads demo `__. Once you have a working mapping for your controller, you can test it by defining the ``SDL_GAMECONTROLLERCONFIG`` environment variable before running Godot:" msgstr "" -#: ../../docs/tutorials/inputs/controllers_gamepads_joysticks.rst:334 +#: ../../docs/tutorials/inputs/controllers_gamepads_joysticks.rst:338 msgid "To test mappings on non-desktop platforms or to distribute your project with additional controller mappings, you can add them by calling :ref:`Input.add_joy_mapping() ` as early as possible in a script's ``_ready()`` function." msgstr "" -#: ../../docs/tutorials/inputs/controllers_gamepads_joysticks.rst:340 +#: ../../docs/tutorials/inputs/controllers_gamepads_joysticks.rst:344 msgid "My controller works on a given platform, but not on another platform." msgstr "" -#: ../../docs/tutorials/inputs/controllers_gamepads_joysticks.rst:343 +#: ../../docs/tutorials/inputs/controllers_gamepads_joysticks.rst:347 msgid "Linux" msgstr "" -#: ../../docs/tutorials/inputs/controllers_gamepads_joysticks.rst:345 +#: ../../docs/tutorials/inputs/controllers_gamepads_joysticks.rst:349 msgid "If you're using a self-compiled engine binary, make sure it was compiled with udev support. This is enabled by default, but it is possible to disable udev support by specifying ``udev=no`` on the SCons command line. If you're using an engine binary supplied by a Linux distribution, double-check whether it was compiled with udev support." msgstr "" -#: ../../docs/tutorials/inputs/controllers_gamepads_joysticks.rst:351 +#: ../../docs/tutorials/inputs/controllers_gamepads_joysticks.rst:355 msgid "Controllers can still work without udev support, but it is less reliable as regular polling must be used to check for controllers being connected or disconnected during gameplay (hotplugging)." msgstr "" -#: ../../docs/tutorials/inputs/controllers_gamepads_joysticks.rst:356 +#: ../../docs/tutorials/inputs/controllers_gamepads_joysticks.rst:360 msgid "HTML5" msgstr "" -#: ../../docs/tutorials/inputs/controllers_gamepads_joysticks.rst:358 +#: ../../docs/tutorials/inputs/controllers_gamepads_joysticks.rst:362 msgid "HTML5 controller support is often less reliable compared to \"native\" platforms. The quality of controller support tends to vary wildly across browsers. As a result, you may have to instruct your players to use a different browser if they can't get their controller to work." msgstr "" diff --git a/sphinx/templates/tutorials/inputs/custom_mouse_cursor.pot b/sphinx/templates/tutorials/inputs/custom_mouse_cursor.pot index 84bebfbac2..1e645aae18 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 ccf9bf2392..9c9c604b52 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 71d87bcc10..7f43f82494 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 d14328b4e6..dcf5de0405 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 97cef3c38f..6dd185048c 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -81,202 +81,202 @@ msgid "If so far no one consumed the event, the :ref:`Node._unhandled_input() ` is turned on, the event is used for object picking. For the root viewport, this can also be enabled in :ref:`Project Settings `. In the case of a 3D scene if a :ref:`Camera3D ` is assigned to the Viewport, a ray to the physics world (in the ray direction from the click) will be cast. If this ray hits an object, it will call the :ref:`CollisionObject3D._input_event() ` function in the relevant physics object (bodies receive this callback by default, but areas do not. This can be configured through :ref:`Area3D ` properties). In the case of a 2D scene, conceptually the same happens with :ref:`CollisionObject2D._input_event() `." +msgid "If no one wanted the event so far, and :ref:`Object Picking ` is turned on, the event is used for object picking. For the root viewport, this can also be enabled in :ref:`Project Settings `. In the case of a 3D scene if a :ref:`Camera3D ` is assigned to the Viewport, a ray to the physics world (in the ray direction from the click) will be cast. If this ray hits an object, it will call the :ref:`CollisionObject3D._input_event() ` function in the relevant physics object. In the case of a 2D scene, conceptually the same happens with :ref:`CollisionObject2D._input_event() `." msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:120 +#: ../../docs/tutorials/inputs/inputevent.rst:119 msgid "When sending events to its child and descendant nodes, the viewport will do so, as depicted in the following graphic, in a reverse depth-first order, starting with the node at the bottom of the scene tree, and ending at the root node. Excluded from this process are Windows and SubViewports." msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:127 +#: ../../docs/tutorials/inputs/inputevent.rst:126 msgid "This order doesn't apply to :ref:`Control._gui_input() `, which uses a different method based on event location or focused Control." msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:130 +#: ../../docs/tutorials/inputs/inputevent.rst:129 msgid "Since Viewports don't send events to other :ref:`SubViewports `, one of the following methods has to be used:" msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:133 +#: ../../docs/tutorials/inputs/inputevent.rst:132 msgid "Use a :ref:`SubViewportContainer `, which automatically sends events to its child :ref:`SubViewports ` after :ref:`Node._input() ` or :ref:`Control._gui_input() `." msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:136 +#: ../../docs/tutorials/inputs/inputevent.rst:135 msgid "Implement event propagation based on the individual requirements." msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:138 +#: ../../docs/tutorials/inputs/inputevent.rst:137 msgid "GUI events also travel up the scene tree but, since these events target specific Controls, only direct ancestors of the targeted Control node receive the event." msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:141 +#: ../../docs/tutorials/inputs/inputevent.rst:140 msgid "In accordance with Godot's node-based design, this enables specialized child nodes to handle and consume particular events, while their ancestors, and ultimately the scene root, can provide more generalized behavior if needed." msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:147 +#: ../../docs/tutorials/inputs/inputevent.rst:146 msgid "Anatomy of an InputEvent" msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:149 +#: ../../docs/tutorials/inputs/inputevent.rst:148 msgid ":ref:`InputEvent ` is just a base built-in type, it does not represent anything and only contains some basic information, such as event ID (which is increased for each event), device index, etc." msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:153 +#: ../../docs/tutorials/inputs/inputevent.rst:152 msgid "There are several specialized types of InputEvent, described in the table below:" msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:156 +#: ../../docs/tutorials/inputs/inputevent.rst:155 msgid "Event" msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:156 +#: ../../docs/tutorials/inputs/inputevent.rst:155 msgid "Description" msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:158 +#: ../../docs/tutorials/inputs/inputevent.rst:157 msgid ":ref:`InputEvent `" msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:158 +#: ../../docs/tutorials/inputs/inputevent.rst:157 msgid "Empty Input Event." msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:160 +#: ../../docs/tutorials/inputs/inputevent.rst:159 msgid ":ref:`InputEventKey `" msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:160 +#: ../../docs/tutorials/inputs/inputevent.rst:159 msgid "Contains a keycode and Unicode value, as well as modifiers." msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:163 +#: ../../docs/tutorials/inputs/inputevent.rst:162 msgid ":ref:`InputEventMouseButton `" msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:163 +#: ../../docs/tutorials/inputs/inputevent.rst:162 msgid "Contains click information, such as button, modifiers, etc." msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:166 +#: ../../docs/tutorials/inputs/inputevent.rst:165 msgid ":ref:`InputEventMouseMotion `" msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:166 +#: ../../docs/tutorials/inputs/inputevent.rst:165 msgid "Contains motion information, such as relative and absolute positions and speed." msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:170 +#: ../../docs/tutorials/inputs/inputevent.rst:169 msgid ":ref:`InputEventJoypadMotion `" msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:170 +#: ../../docs/tutorials/inputs/inputevent.rst:169 msgid "Contains Joystick/Joypad analog axis information." msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:173 +#: ../../docs/tutorials/inputs/inputevent.rst:172 msgid ":ref:`InputEventJoypadButton `" msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:173 +#: ../../docs/tutorials/inputs/inputevent.rst:172 msgid "Contains Joystick/Joypad button information." msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:176 +#: ../../docs/tutorials/inputs/inputevent.rst:175 msgid ":ref:`InputEventScreenTouch `" msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:176 +#: ../../docs/tutorials/inputs/inputevent.rst:175 msgid "Contains multi-touch press/release information. (only available on mobile devices)" msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:180 +#: ../../docs/tutorials/inputs/inputevent.rst:179 msgid ":ref:`InputEventScreenDrag `" msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:180 +#: ../../docs/tutorials/inputs/inputevent.rst:179 msgid "Contains multi-touch drag information. (only available on mobile devices)" msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:183 +#: ../../docs/tutorials/inputs/inputevent.rst:182 msgid ":ref:`InputEventMagnifyGesture `" msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:183 +#: ../../docs/tutorials/inputs/inputevent.rst:182 msgid "Contains a position, a factor as well as modifiers." msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:186 +#: ../../docs/tutorials/inputs/inputevent.rst:185 msgid ":ref:`InputEventPanGesture `" msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:186 +#: ../../docs/tutorials/inputs/inputevent.rst:185 msgid "Contains a position, a delta as well as modifiers." msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:189 +#: ../../docs/tutorials/inputs/inputevent.rst:188 msgid ":ref:`InputEventMIDI `" msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:189 +#: ../../docs/tutorials/inputs/inputevent.rst:188 msgid "Contains MIDI-related information." msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:191 +#: ../../docs/tutorials/inputs/inputevent.rst:190 msgid ":ref:`InputEventShortcut `" msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:191 +#: ../../docs/tutorials/inputs/inputevent.rst:190 msgid "Contains a shortcut." msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:193 +#: ../../docs/tutorials/inputs/inputevent.rst:192 msgid ":ref:`InputEventAction `" msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:193 +#: ../../docs/tutorials/inputs/inputevent.rst:192 msgid "Contains a generic action. These events are often generated by the programmer as feedback. (more on this below)" msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:199 +#: ../../docs/tutorials/inputs/inputevent.rst:198 msgid "Actions" msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:201 +#: ../../docs/tutorials/inputs/inputevent.rst:200 msgid "Actions are a grouping of zero or more InputEvents into a commonly understood title (for example, the default \"ui_left\" action grouping both joypad-left input and a keyboard's left arrow key). They are not required to represent an InputEvent but are useful because they abstract various inputs when programming the game logic." msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:206 +#: ../../docs/tutorials/inputs/inputevent.rst:205 msgid "This allows for:" msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:208 +#: ../../docs/tutorials/inputs/inputevent.rst:207 msgid "The same code to work on different devices with different inputs (e.g., keyboard on PC, Joypad on console)." msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:210 +#: ../../docs/tutorials/inputs/inputevent.rst:209 msgid "Input to be reconfigured at run-time." msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:211 +#: ../../docs/tutorials/inputs/inputevent.rst:210 msgid "Actions to be triggered programmatically at run-time." msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:213 +#: ../../docs/tutorials/inputs/inputevent.rst:212 msgid "Actions can be created from the Project Settings menu in the **Input Map** tab and assigned input events." msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:216 +#: ../../docs/tutorials/inputs/inputevent.rst:215 msgid "Any event has the methods :ref:`InputEvent.is_action() `, :ref:`InputEvent.is_pressed() ` and :ref:`InputEvent `." msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:219 +#: ../../docs/tutorials/inputs/inputevent.rst:218 msgid "Alternatively, it may be desired to supply the game back with an action from the game code (a good example of this is detecting gestures). The Input singleton has a method for this: :ref:`Input.parse_input_event() `. You would normally use it like this:" msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:244 +#: ../../docs/tutorials/inputs/inputevent.rst:243 msgid "InputMap" msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:246 +#: ../../docs/tutorials/inputs/inputevent.rst:245 msgid "Customizing and re-mapping input from code is often desired. If your whole workflow depends on actions, the :ref:`InputMap ` singleton is ideal for reassigning or creating different actions at run-time. This singleton is not saved (must be modified manually) and its state is run from the project settings (project.godot). So any dynamic system of this type needs to store settings in the way the programmer best sees fit." msgstr "" diff --git a/sphinx/templates/tutorials/inputs/mouse_and_input_coordinates.pot b/sphinx/templates/tutorials/inputs/mouse_and_input_coordinates.pot index d803010699..55b2d30146 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 e75f354d95..7ddacdeaf6 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 6834deb665..1141270b19 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 b2ed10d4b3..4be7508a67 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 401503210a..e7436d5c9d 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 d2373cac77..b3fa94b996 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 5acb0a65bf..1efd663b2e 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 9ac8b49104..2662c7efcd 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 b96c07e91f..71c6e6c364 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 77681b0ef8..6974dc8cf3 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 0a0ff03799..e2c4cbc88d 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 1eb8c2ef2a..97d8cd6119 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 36b33848ca..31a1599cb5 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 5e21875516..90425b9ef2 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 696164303d..ce609f77b4 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 12056cf9d3..34ebff51a5 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 d3c469304a..108c67ff29 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 45f50487d9..de0da599df 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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/index.pot b/sphinx/templates/tutorials/navigation/index.pot index a67d40926a..4254a2d0c8 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 c55227355a..9fbc2e9a34 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 ccee7beb1e..ea5855406e 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 3d3c8af061..1c18288ff5 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 e46b45786a..2141558532 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 09db57c5b2..5f643eda8c 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 ec3c40ca33..85ae8a3683 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 e283e561a8..203b508bba 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 57fa28c0c1..67759d83ce 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 b525415497..35d8a6e11d 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 cb52c2c03c..972062e204 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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_navigationlinks.pot b/sphinx/templates/tutorials/navigation/navigation_using_navigationlinks.pot index 780a3a0ec9..b5ae175c1b 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -68,6 +68,14 @@ msgstr "" msgid "A navigation link does not provide any automated movement through the link. Instead, when an agent reaches the position of a link, game code needs to react (e.g. through area triggers) and provide means for the agent to move through the link to end up at the links other position (e.g. through teleport or animation) to continue along the path." msgstr "" +#: ../../docs/tutorials/navigation/navigation_using_navigationlinks.rst:56 +msgid "Navigation link script templates" +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationlinks.rst:58 +msgid "The following script uses the NavigationServer to create a new navigation link." +msgstr "" + #: ../../docs/:0 msgid "Translation status" msgstr "" diff --git a/sphinx/templates/tutorials/navigation/navigation_using_navigationmaps.pot b/sphinx/templates/tutorials/navigation/navigation_using_navigationmaps.pot index e4fd22e905..7f6592057d 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 b037130c09..4da5558a0e 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -20,136 +20,321 @@ msgstr "" msgid "Using navigation meshes" msgstr "" -#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:6 +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:8 msgid "2D and 3D versions of the navigation mesh are available as :ref:`NavigationPolygon` and :ref:`NavigationMesh` respectively." msgstr "" -#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:12 +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:14 msgid "A navigation mesh only describes a traversable area for an agent's center position. Any radius values an agent may have are ignored. If you want pathfinding to account for an agent's (collision) size you need to shrink the navigation mesh accordingly." msgstr "" -#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:15 +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:17 msgid "Navigation works independently from other engine parts like rendering or physics. Navigation meshes are the only things considered when doing pathfinding, e.g. visuals and collision shapes for example are completely ignored by the navigation system. If you need to take other data (like visuals for example) into account when doing pathfinding, you need to adapt your navigation meshes accordingly. The process of factoring in navigation restrictions in navigation meshes is commonly referred to as navigation mesh baking." msgstr "" -#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:20 -msgid "If you experience clipping or collision problems while following navigation paths, always remember that you need to tell the navigation system what your intentions are through an appropriate navigation mesh. By itself the navigation system will never know \"this is a tree / rock / wall collision shape or visual mesh\" because it only knows that \"here I was told I can path safely because it is on a navigation mesh\"." +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:26 +msgid "Navigation mesh polygon convex vs concave comparison" msgstr "" #: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:26 -msgid "Creating 2D navigation meshes" +msgid "A navigation mesh describes a surface that an agent can stand on safely with its center compared to physics shapes that describe outer collision bounds." msgstr "" #: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:28 -msgid "Navigation meshes in the 2D editor are created with the help of the NavigationPolygon draw tools that appear in the top bar of the editor when a NavigationRegion2D is selected." +msgid "If you experience clipping or collision problems while following navigation paths, always remember that you need to tell the navigation system what your intentions are through an appropriate navigation mesh. By itself the navigation system will never know \"this is a tree / rock / wall collision shape or visual mesh\" because it only knows that \"here I was told I can path safely because it is on a navigation mesh\"." msgstr "" #: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:33 -msgid "The NavigationPolygon draw tools can be used to create and edit navigation meshes by defining **outline** polygons. The outline polygons are later converted to real navigation mesh resources for the NavigationServer regions." +msgid "Navigation mesh baking can be done either by using a :ref:`NavigationRegion2D` or :ref:`NavigationRegion3D`, or by using the :ref:`NavigationServer2D` and :ref:`NavigationServer3D` API directly." msgstr "" -#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:38 -msgid "Multiple outlines can be added to the same NavigationPolygon resource as long as they **do not intersect or overlap**. Each additional outline will cut a hole in the polygon created by the larger outline. If the larger polygon is already a hole, it will create a new navigation mesh polygon inside." +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:39 +msgid "Baking a navigation mesh with a NavigationRegion" msgstr "" -#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:42 -msgid "Outlines are not a replacement if the intention is to merge aligned polygons e.g. from grid cells. Outlines, as the name would suggest, cannot intersect each other or have any overlapping vertex positions." +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:45 +msgid "Navigation mesh baking steps" +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:45 +msgid "Baking a navigation mesh with agent radius offset from geometry." msgstr "" #: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:47 -msgid "Outline layouts like seen in this picture will fail the convex partitioning required by the navigation mesh generation. In these layout cases, the outline tool cannot be used. Use the :ref:`Geometry2D` class to merge or intersect polygons to create a merged mesh that is valid for navigation." +msgid "The navigation mesh baking is made more accessible with the NavigationRegion node. When baking with a NavigationRegion node, the individual parsing, baking, and region update steps are all combined into one function." msgstr "" -#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:52 -msgid "The NavigationServer does not connect navigation mesh islands from the same navigation mesh resource. Do not create multiple disconnected islands in the same NavigationRegion2D or NavigationPolygon resource if they should be later connected." +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:50 +msgid "The nodes are available in 2D and 3D as :ref:`NavigationRegion2D` and :ref:`NavigationRegion3D` respectively." msgstr "" -#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:55 -msgid "For 2D, no similar navigation mesh baking with geometry parsing exists like in 3D. The Geometry2D class functions for offset, merge, intersect, and clip can be used to shrink or enlarge existing NavigationPolygons for different actor sizes." +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:54 +msgid "Baking with a NavigationRegion2D" msgstr "" -#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:59 -msgid "Creating 3D navigation meshes" +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:56 +msgid "When a NavigationRegion2D node is selected in the Editor, bake options as well as polygon draw tools appear in the top bar of the Editor." msgstr "" -#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:63 -msgid "Navigation meshes in the 3D editor are created with the help of the :ref:`NavigationMeshGenerator` singleton and the NavigationMesh bake settings that appear in the editor inspector." +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:60 +msgid "In order for the region to work a :ref:`NavigationPolygon` resource needs to be added." msgstr "" -#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:67 -msgid "Navigation mesh baking is the process of creating a simplified mesh used for pathfinding out of (complex) 3D level geometry. For this process Godot parses scene geometry and hands the raw mesh or collision data to the third-party ReCast library for processing and creation of the final navigation mesh." +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:62 +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:108 +msgid "The properties to parse and bake a navigation mesh are then part of the used resource and can be found in the resource Inspector." +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:66 +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:112 +msgid "The result of the source geometry parsing can be influenced with the following properties." +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:68 +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:114 +msgid "The ``parsed_geometry_type`` that filters if visual objects or physics objects or both should be parsed from the :ref:`SceneTree`. For more details on what objects are parsed and how, see the section about parsing source geometry below." +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:70 +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:116 +msgid "The ``collision_mask`` filters which physics collision objects are included when the ``parsed_geometry_type`` includes static colliders." msgstr "" #: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:71 -msgid "The resulting navigation mesh is an approximation of the source geometry surfaces for both performance and technical reasons. Do not expect the navigation mesh to perfectly follow the original surfaces. Especially navigation polygons placed over ramps will not keep an equal distance to the ground surface. To align an actor perfectly with the ground use other means like physics." +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:117 +msgid "The ``source_geometry_mode`` that defines on which node(s) to start the parsing, and how to traverse the :ref:`SceneTree`." +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:72 +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:118 +msgid "The ``source_geometry_group_name`` is used when only a certain node group should be parsed. Depends on the selected ``source_geometry_mode``." +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:74 +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:120 +msgid "With the source geometry added, the result of the baking can be controlled with the following properties." +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:76 +msgid "The ``cell_size`` sets the rasterization grid size and should match the navigation map size." +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:77 +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:123 +msgid "The ``agent_radius`` shrinks the baked navigation mesh to have enough margin for the agent (collision) size." msgstr "" #: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:79 -msgid "Meshes need to be triangulated to work as navigation meshes. Other mesh face formats like quad or ngon are not supported." +msgid "The NavigationRegion2D baking can also be used at runtime with scripts." msgstr "" -#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:82 -msgid "NavigationMesh rebaking at runtime" +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:87 +msgid "To quickly test the 2D baking with default settings:" msgstr "" -#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:84 -msgid "To rebake a ``NavigationMesh`` at runtime, use the ``NavigationRegion3D.bake_navigation_mesh()`` function. Another option is to use the ``NavigationMeshGenerator.bake()`` singleton function with the NavigationMesh resource directly. If the NavigationMesh resource is already prepared, the region can be updated with the NavigationServer3D API directly as well." +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:89 +msgid "Add a :ref:`NavigationRegion2D`." msgstr "" -#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:112 -msgid "Baking a NavigationMesh at runtime is a costly operation. A complex navigation mesh takes some time to bake and if done on the main thread can freeze a game. (Re)baking a large navigation mesh is preferably done in a separate thread." +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:90 +msgid "Add a :ref:`NavigationPolygon` resource to the NavigationRegion2D." msgstr "" -#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:118 -msgid "Property values on a NavigationMesh resource like ``cell_size`` need to match the actual mesh data stored inside in order to merge different navigation meshes without issues." +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:91 +msgid "Add a :ref:`Polygon2D` below the NavigationRegion2D." +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:92 +msgid "Draw 1 NavigationPolygon outline with the selected NavigationRegion2D draw tool." +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:93 +msgid "Draw 1 Polygon2D outline inside the NavigationPolygon outline with the selected Polygon2D draw tool." +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:94 +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:146 +msgid "Hit the Editor bake button and a navigation mesh should appear." +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:100 +msgid "Baking with a NavigationRegion3D" +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:102 +msgid "When a NavigationRegion3D node is selected in the Editor, bake options appear in the top bar of the Editor." +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:106 +msgid "In order for the region to work a :ref:`NavigationMesh` resource needs to be added." msgstr "" #: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:122 -msgid "NavigationRegion2D and NavigationRegion3D both use meshes to mark traversable areas, only the tools to create them are different." +msgid "The ``cell_size`` and ``cell_height`` sets the rasterization voxel grid size and should match the navigation map size." msgstr "" #: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:124 -msgid "For 2D, NavigationPolygon resources are used to draw outline points in the editor. From these outline points the NavigationServer2D creates a mesh to upload navigation data to the NavigationServer." +msgid "The ``agent_height`` excludes areas from the navigation mesh where the agent is too tall to fit in." msgstr "" -#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:126 -msgid "For 3D, NavigationMesh resources are used. Instead of providing draw tools the 3D variant provides an extensive amount of parameters to bake a navigation mesh directly from 3D source geometry." +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:125 +msgid "The ``agent_max_climb`` and ``agent_max_slope`` removes areas where the height difference between neighboring voxels is too large, or where their surface is too steep." msgstr "" -#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:131 -msgid "Technically there is no hard distinction between 2D and 3D on how to use the given toolsets to create flat navigation meshes. The 2D drawing tool can be used to create a flat 3D navigation mesh and the 3D baking tool can be used to parse flat 3D geometry into appropriate 2D navigation meshes." +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:129 +msgid "A too small ``cell_size`` or ``cell_height`` can create so many voxels that it has the potential to freeze the game or even crash." msgstr "" -#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:134 -msgid "2D navigation mesh from CollisionPolygons" +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:132 +msgid "The NavigationRegion3D baking can also be used at runtime with scripts." msgstr "" -#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:136 -msgid "The following script parses all child nodes of a NavigationRegion2D for CollisionPolygons and bakes their shape into the NavigationPolygon. As the NavigationPolygon creates the navigation mesh from outline data the shapes cannot overlap." +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:140 +msgid "To quickly test the 3D baking with default settings:" +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:142 +msgid "Add a :ref:`NavigationRegion3D`." +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:143 +msgid "Add a :ref:`NavigationMesh` resource to the NavigationRegion3D." +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:144 +msgid "Add a :ref:`MeshInstance3D` below the NavigationRegion3D." +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:145 +msgid "Add a :ref:`PlaneMesh` to the MeshInstance3D." +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:155 +msgid "Baking a navigation mesh with the NavigationServer" +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:157 +msgid "The :ref:`NavigationServer2D` and :ref:`NavigationServer3D` have API functions to call each step of the navigation mesh baking process individually." +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:159 +msgid "``parse_source_geometry_data()`` can be used to parse source geometry to a reusable and serializable resource." +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:160 +msgid "``bake_from_source_geometry_data()`` can be used to bake a navigation mesh from already parsed data e.g. to avoid runtime performance issues with (redundant) parsing." +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:161 +msgid "``bake_from_source_geometry_data_async()`` is the same but bakes the navigation mesh deferred with threads, not blocking the main thread." +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:163 +msgid "Compared to a NavigationRegion, the NavigationServer offers finer control over the navigation mesh baking process. In turn it is more complex to use but also provides more advanced options." +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:166 +msgid "Some other advantages of the NavigationServer over a NavigationRegion are:" +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:168 +msgid "The server can parse source geometry without baking, e.g. to cache it for later use." +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:169 +msgid "The server allows selecting the root node at which to start the source geometry parsing manually." +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:170 +msgid "The server can accept and bake from procedurally generated source geometry data." msgstr "" #: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:171 -msgid "Procedural 2D navigation mesh" +msgid "The server can bake multiple navigation meshes in sequence while (re)using the same source geometry data." msgstr "" #: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:173 -msgid "The following script creates a new 2D navigation region and fills it with procedurally generated navigation mesh data from a NavigationPolygon resource." +msgid "To bake navigation meshes with the NavigationServer, source geometry is required. Source geometry is geometry data that should be considered in a navigation mesh baking process. Both navigation meshes for 2D and 3D are created by baking them from source geometry." msgstr "" -#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:198 -msgid "Procedural 3D navigation mesh" +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:177 +msgid "2D and 3D versions of the source geometry resources are available as :ref:`NavigationMeshSourceGeometryData2D` and :ref:`NavigationMeshSourceGeometryData3D` respectively." msgstr "" -#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:200 -msgid "The following script creates a new 3D navigation region and fills it with procedurally generated navigation mesh data from a NavigationMesh resource." +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:181 +msgid "Source geometry can be geometry parsed from visual meshes, from physics collision, or procedural created arrays of data, like outlines (2D) and triangle faces (3D). For convenience, source geometry is commonly parsed directly from node setups in the SceneTree. For runtime navigation mesh (re)bakes, be aware that the geometry parsing always happens on the main thread." msgstr "" -#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:226 -msgid "Navigation mesh for 3D GridMaps" +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:188 +msgid "The SceneTree is not thread-safe. Parsing source geometry from the SceneTree can only be done on the main thread." +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:192 +msgid "The data from visual meshes and polygons needs to be received from the GPU, stalling the RenderingServer in the process. For runtime (re)baking prefer using physics shapes as parsed source geometry." +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:195 +msgid "Source geometry is stored inside resources so the created geometry can be reused for multiple bakes. E.g. baking multiple navigation meshes for different agent sizes from the same source geometry. This also allows to save source geometry to disk so it can be loaded later, e.g. to avoid the overhead of parsing it again at runtime." +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:199 +msgid "The geometry data should be in general kept very simple. As many edges as are required but as few as possible. Especially in 2D duplicated and nested geometry should be avoided as it forces polygon hole calculation that can result in flipped polygons. An example for nested geometry would be a smaller StaticBody2D shape placed completely inside the bounds of another StaticBody2D shape." +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:204 +msgid "Navigation mesh baking common problems" +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:206 +msgid "There are some common user problems and important caveats to consider when creating or baking navigation meshes." +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:218 +msgid "Navigation mesh baking creates frame rate problems at runtime" +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:209 +msgid "The navigation mesh baking is by default done on a background thread, so as long as the platform supports threads, the actual baking is rarely the source of any performance issues (assuming a reasonably sized and complex geometry for runtime rebakes)." +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:212 +msgid "The common source for performance issues at runtime is the parsing step for source geometry that involves nodes and the SceneTree. The SceneTree is not thread-safe so all the nodes need to be parsed on the main thread. Some nodes with a lot of data can be very heavy and slow to parse at runtime, e.g. a TileMap has one or more polygons for every single used cell and TileMapLayer to parse. Nodes that hold meshes need to request the data from the RenderingServer stalling the rendering in the process." +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:217 +msgid "To improve performance, use more optimized shapes, e.g. collision shapes over detailed visual meshes, and merge and simplify as much geometry as possible upfront. If nothing helps, don't parse the SceneTree and add the source geometry procedural with scripts. If only pure data arrays are used as source geometry, the entire baking process can be done on a background thread." +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:225 +msgid "Navigation mesh creates unintended holes in 2D." +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:221 +msgid "The navigation mesh baking in 2D is done by doing polygon clipping operations based on outline paths. Polygons with \"holes\" are a necessary evil to create more complex 2D polygons but can become unpredictable for users with many complex shapes involved." +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:224 +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:230 +msgid "Navigation mesh appears inside geometry in 3D." msgstr "" #: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:228 -msgid "The following script creates a new 3D navigation mesh for each GridMap items, clears the current grid cells, and adds new procedural grid cells with the new navigation mesh." +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:233 +msgid "Navigation mesh script templates" +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:235 +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:350 +msgid "The following script uses the NavigationServer to update a navigation region with procedurally generated navigation mesh data." msgstr "" #: ../../docs/:0 diff --git a/sphinx/templates/tutorials/navigation/navigation_using_navigationobstacles.pot b/sphinx/templates/tutorials/navigation/navigation_using_navigationobstacles.pot index b5f4c419c1..447bdded38 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 a013d9c89c..f415d82307 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 c17c38dbce..c1d070f449 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 ffbcaea365..88af599511 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 75069f595b..7dffe9071a 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 7ca5dbb9a1..389c3be485 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -213,114 +213,122 @@ msgid "For a remote call to be successful, the sending and receiving node need t msgstr "" #: ../../docs/tutorials/networking/high_level_multiplayer.rst:201 -msgid "If a function is annotated with ``@rpc`` on the client script (resp. server script), then this function must also be declared on the server script (resp. client script), and both must have the same signature, **even if this function is not currently used**." +msgid "If a function is annotated with ``@rpc`` on the client script (resp. server script), then this function must also be declared on the server script (resp. client script). Both RPCs must have the same signature which is evaluated with a checksum of **all RPCs**. All RPCs in a script are checked at once, and all RPCs must be declared on both the client scripts and the server scripts, **even functions that are currently not in use**." msgstr "" -#: ../../docs/tutorials/networking/high_level_multiplayer.rst:205 -msgid "If these conditions are not fulfilled, the script may print an error or cause unwanted behavior. See further explanation and troubleshooting on `this post `__." +#: ../../docs/tutorials/networking/high_level_multiplayer.rst:207 +msgid "The signature of the RPC includes the ``@rpc()`` declaration, the function, return type, AND the nodepath. If an RPC resides in a script attached to ``/root/Main/Node1``, then it must reside in precisely the same path and node on both the client script and the server script. Function arguments (example: ``func sendstuff():`` and ``func sendstuff(arg1, arg2):`` **will pass** signature matching)." msgstr "" -#: ../../docs/tutorials/networking/high_level_multiplayer.rst:209 -msgid "The annotation can take a number of arguments, which have default values. ``@rpc`` is equivalent to:" -msgstr "" - -#: ../../docs/tutorials/networking/high_level_multiplayer.rst:215 -msgid "The parameters and their functions are as follows:" +#: ../../docs/tutorials/networking/high_level_multiplayer.rst:213 +msgid "If these conditions are not met (if all RPCs do not pass signature matching), the script may print an error or cause unwanted behavior. The error message may be unrelated to the RPC function you are currently building and testing." msgstr "" #: ../../docs/tutorials/networking/high_level_multiplayer.rst:217 -msgid "``mode``:" +msgid "See further explanation and troubleshooting on `this post `__." msgstr "" #: ../../docs/tutorials/networking/high_level_multiplayer.rst:219 -msgid "``\"authority\"``: Only the multiplayer authority (the server) can call remotely." -msgstr "" - -#: ../../docs/tutorials/networking/high_level_multiplayer.rst:220 -msgid "``\"any_peer\"``: Clients are allowed to call remotely. Useful for transferring user input." -msgstr "" - -#: ../../docs/tutorials/networking/high_level_multiplayer.rst:222 -msgid "``sync``:" -msgstr "" - -#: ../../docs/tutorials/networking/high_level_multiplayer.rst:224 -msgid "``\"call_remote\"``: The function will not be called on the local peer." +msgid "The annotation can take a number of arguments, which have default values. ``@rpc`` is equivalent to:" msgstr "" #: ../../docs/tutorials/networking/high_level_multiplayer.rst:225 -msgid "``\"call_local\"``: The function can be called on the local peer. Useful when the server is also a player." +msgid "The parameters and their functions are as follows:" msgstr "" #: ../../docs/tutorials/networking/high_level_multiplayer.rst:227 -msgid "``transfer_mode``:" +msgid "``mode``:" msgstr "" #: ../../docs/tutorials/networking/high_level_multiplayer.rst:229 -msgid "``\"unreliable\"`` Packets are not acknowledged, can be lost, and can arrive at any order." +msgid "``\"authority\"``: Only the multiplayer authority (the server) can call remotely." msgstr "" #: ../../docs/tutorials/networking/high_level_multiplayer.rst:230 -msgid "``\"unreliable_ordered\"`` Packets are received in the order they were sent in. This is achieved by ignoring packets that arrive later if another that was sent after them has already been received. Can cause packet loss if used incorrectly." +msgid "``\"any_peer\"``: Clients are allowed to call remotely. Useful for transferring user input." msgstr "" -#: ../../docs/tutorials/networking/high_level_multiplayer.rst:231 -msgid "``\"reliable\"`` Resend attempts are sent until packets are acknowledged, and their order is preserved. Has a significant performance penalty." +#: ../../docs/tutorials/networking/high_level_multiplayer.rst:232 +msgid "``sync``:" msgstr "" -#: ../../docs/tutorials/networking/high_level_multiplayer.rst:233 -msgid "``transfer_channel`` is the channel index." +#: ../../docs/tutorials/networking/high_level_multiplayer.rst:234 +msgid "``\"call_remote\"``: The function will not be called on the local peer." msgstr "" #: ../../docs/tutorials/networking/high_level_multiplayer.rst:235 -msgid "The first 3 can be passed in any order, but ``transfer_channel`` must always be last." +msgid "``\"call_local\"``: The function can be called on the local peer. Useful when the server is also a player." msgstr "" #: ../../docs/tutorials/networking/high_level_multiplayer.rst:237 +msgid "``transfer_mode``:" +msgstr "" + +#: ../../docs/tutorials/networking/high_level_multiplayer.rst:239 +msgid "``\"unreliable\"`` Packets are not acknowledged, can be lost, and can arrive at any order." +msgstr "" + +#: ../../docs/tutorials/networking/high_level_multiplayer.rst:240 +msgid "``\"unreliable_ordered\"`` Packets are received in the order they were sent in. This is achieved by ignoring packets that arrive later if another that was sent after them has already been received. Can cause packet loss if used incorrectly." +msgstr "" + +#: ../../docs/tutorials/networking/high_level_multiplayer.rst:241 +msgid "``\"reliable\"`` Resend attempts are sent until packets are acknowledged, and their order is preserved. Has a significant performance penalty." +msgstr "" + +#: ../../docs/tutorials/networking/high_level_multiplayer.rst:243 +msgid "``transfer_channel`` is the channel index." +msgstr "" + +#: ../../docs/tutorials/networking/high_level_multiplayer.rst:245 +msgid "The first 3 can be passed in any order, but ``transfer_channel`` must always be last." +msgstr "" + +#: ../../docs/tutorials/networking/high_level_multiplayer.rst:247 msgid "The function ``multiplayer.get_remote_sender_id()`` can be used to get the unique id of an rpc sender, when used within the function called by rpc." msgstr "" -#: ../../docs/tutorials/networking/high_level_multiplayer.rst:253 +#: ../../docs/tutorials/networking/high_level_multiplayer.rst:263 msgid "Channels" msgstr "" -#: ../../docs/tutorials/networking/high_level_multiplayer.rst:254 +#: ../../docs/tutorials/networking/high_level_multiplayer.rst:264 msgid "Modern networking protocols support channels, which are separate connections within the connection. This allows for multiple streams of packets that do not interfere with each other." msgstr "" -#: ../../docs/tutorials/networking/high_level_multiplayer.rst:257 +#: ../../docs/tutorials/networking/high_level_multiplayer.rst:267 msgid "For example, game chat related messages and some of the core gameplay messages should all be sent reliably, but a gameplay message should not wait for a chat message to be acknowledged. This can be achieved by using different channels." msgstr "" -#: ../../docs/tutorials/networking/high_level_multiplayer.rst:260 +#: ../../docs/tutorials/networking/high_level_multiplayer.rst:270 msgid "Channels are also useful when used with the unreliable ordered transfer mode. Sending packets of variable size with this transfer mode can cause packet loss, since packets which are slower to arrive are ignored. Separating them into multiple streams of homogeneous packets by using channels allows ordered transfer with little packet loss, and without the latency penalty caused by reliable mode." msgstr "" -#: ../../docs/tutorials/networking/high_level_multiplayer.rst:264 +#: ../../docs/tutorials/networking/high_level_multiplayer.rst:274 msgid "The default channel with index 0 is actually three different channels - one for each transfer mode." msgstr "" -#: ../../docs/tutorials/networking/high_level_multiplayer.rst:267 +#: ../../docs/tutorials/networking/high_level_multiplayer.rst:277 msgid "Example lobby implementation" msgstr "" -#: ../../docs/tutorials/networking/high_level_multiplayer.rst:269 +#: ../../docs/tutorials/networking/high_level_multiplayer.rst:279 msgid "This is an example lobby that can handle peers joining and leaving, notify UI scenes through signals, and start the game after all clients have loaded the game scene." msgstr "" -#: ../../docs/tutorials/networking/high_level_multiplayer.rst:384 +#: ../../docs/tutorials/networking/high_level_multiplayer.rst:394 msgid "The game scene's root node should be named Game. In the script attached to it:" msgstr "" -#: ../../docs/tutorials/networking/high_level_multiplayer.rst:403 +#: ../../docs/tutorials/networking/high_level_multiplayer.rst:413 msgid "Exporting for dedicated servers" msgstr "" -#: ../../docs/tutorials/networking/high_level_multiplayer.rst:405 +#: ../../docs/tutorials/networking/high_level_multiplayer.rst:415 msgid "Once you've made a multiplayer game, you may want to export it to run it on a dedicated server with no GPU available. See :ref:`doc_exporting_for_dedicated_servers` for more information." msgstr "" -#: ../../docs/tutorials/networking/high_level_multiplayer.rst:411 +#: ../../docs/tutorials/networking/high_level_multiplayer.rst:421 msgid "The code samples on this page aren't designed to run on a dedicated server. You'll have to modify them so the server isn't considered to be a player. You'll also have to modify the game starting mechanism so that the first player who joins can start the game." msgstr "" diff --git a/sphinx/templates/tutorials/networking/http_client_class.pot b/sphinx/templates/tutorials/networking/http_client_class.pot index 033c8fe138..cb4e000765 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 0f7a52ab3f..b70899ef54 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 fd8a941eaf..2638e73dd2 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 1936b5c27a..0980f6eda6 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 abbbbbe3f0..b4173866be 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 24bb822597..4f4775e0f9 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 f429945a1d..04d40f4c41 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 bf0c5aed99..564999e62e 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 ad29475b68..39813b31e3 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 7a277f1073..80307996a1 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 5d145a3c9b..ef85621f6a 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 002f6c8f00..aaa801b377 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -76,19 +76,23 @@ msgstr "" msgid "Note that the Multi-Threaded thread model has several known bugs, so it may not be usable in all scenarios." msgstr "" -#: ../../docs/tutorials/performance/thread_safe_apis.rst:64 +#: ../../docs/tutorials/performance/thread_safe_apis.rst:63 +msgid "You should avoid calling functions involving direct interaction with the GPU on other threads, such as creating new textures or modifying and retrieving image data, these operations can lead to performance stalls because they require synchronization with the :ref:`RenderingServer`, as data needs to be transmitted to or updated on the GPU." +msgstr "" + +#: ../../docs/tutorials/performance/thread_safe_apis.rst:68 msgid "GDScript arrays, dictionaries" msgstr "" -#: ../../docs/tutorials/performance/thread_safe_apis.rst:66 +#: ../../docs/tutorials/performance/thread_safe_apis.rst:70 msgid "In GDScript, reading and writing elements from multiple threads is OK, but anything that changes the container size (resizing, adding or removing elements) requires locking a mutex." msgstr "" -#: ../../docs/tutorials/performance/thread_safe_apis.rst:69 +#: ../../docs/tutorials/performance/thread_safe_apis.rst:73 msgid "Resources" msgstr "" -#: ../../docs/tutorials/performance/thread_safe_apis.rst:71 +#: ../../docs/tutorials/performance/thread_safe_apis.rst:75 msgid "Modifying a unique resource from multiple threads is not supported. However handling references on multiple threads is supported, hence loading resources on a thread is as well - scenes, textures, meshes, etc - can be loaded and manipulated on a thread and then added to the active scene on the main thread. The limitation here is as described above, one must be careful not to load the same resource from multiple threads at once, therefore it is easiest to use **one** thread for loading and modifying resources, and then the main thread for adding them." msgstr "" diff --git a/sphinx/templates/tutorials/performance/using_multimesh.pot b/sphinx/templates/tutorials/performance/using_multimesh.pot index ee45812acf..9f59680696 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 b85b683c73..4e30463b98 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 190356eaf8..3fb06361b7 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 e7e92db8ec..e57876e0fe 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 47e39021dd..7b0556a2e2 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 d1c74d2ff9..a2525fd275 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 3780f19fda..5d21718fb3 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 584f87c70f..959eae1a41 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 23d1c637c1..5760a21357 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 0b7e0334e4..6380a32138 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 5c73e68d13..c51f9a6ddf 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 ab2049c481..0f461fd7e0 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 c373297d44..2ca8b35114 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 2e83a3c221..ffb41917aa 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 b2a402db38..c29888ee87 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 5798ddcbda..e46228e1eb 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 a01a0b82d9..6baf1dffa8 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 3d19e5b696..ae0dbffc1d 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 f4979ef9a2..43bf3628e9 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 33713f12f6..4f969d7a18 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 5de5d23cde..1060d1084e 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 92dae6a05a..3236ccaf02 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -409,11 +409,11 @@ msgid "For example::" msgstr "" #: ../../docs/tutorials/platform/android/android_plugin.rst:358 -msgid "Support using the gdextension functionality in the Godot Editor" +msgid "Support using the GDExtension functionality in the Godot Editor" msgstr "" #: ../../docs/tutorials/platform/android/android_plugin.rst:360 -msgid "If planning to use the gdextension functionality in the Godot Editor, it is recommended that the gdextension's native binaries are compiled not just for Android, but also for the OS onto which developers / users intend to run the Godot Editor. Not doing so may prevent developers / users from writing code that accesses the plugin from within the Godot Editor." +msgid "If planning to use the GDExtension functionality in the Godot Editor, it is recommended that the GDExtension's native binaries are compiled not just for Android, but also for the OS onto which developers / users intend to run the Godot Editor. Not doing so may prevent developers / users from writing code that accesses the plugin from within the Godot Editor." msgstr "" #: ../../docs/tutorials/platform/android/android_plugin.rst:365 diff --git a/sphinx/templates/tutorials/platform/android/index.pot b/sphinx/templates/tutorials/platform/android/index.pot index ee243f39fc..eedd3bd872 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 1186366ac7..417e071cea 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -124,8 +124,12 @@ msgstr "" msgid "`Tuanisapps `_ offers Switch porting and publishing of Godot games." msgstr "" -#: ../../docs/tutorials/platform/consoles.rst:84 -msgid "If your company offers porting, or porting *and* publishing services for Godot games, feel free to `open an issue or pull request `_ to add your company to the list above." +#: ../../docs/tutorials/platform/consoles.rst:82 +msgid "`Seaven Studio `_ offers Switch, Xbox One, Xbox Series, PlayStation 4 & PlayStation 5 porting of 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 "" #: ../../docs/:0 diff --git a/sphinx/templates/tutorials/platform/index.pot b/sphinx/templates/tutorials/platform/index.pot index a0e9fba052..470ed66fad 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 49fe9361b9..645b29f46a 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 b0e9ee494f..393ddde313 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 11860632b9..b6d5399c77 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 558dc0e507..67457ba61a 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 e164e6a1d9..921ddefbac 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 b8f0b509ac..bdbbc6af15 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 44ee211d8e..a4342a3027 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 59196efd28..499e06159e 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 8182f8a0e2..777b8ac51e 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 1ac2746597..ae0f13f06d 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 f19cf7a981..6af304cdeb 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 126e121c98..e99579fcd0 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 c517ed4b0f..14df1dc15a 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -117,94 +117,98 @@ msgid "That's it for our basic button. You can save this as ``my_button.gd`` ins msgstr "" #: ../../docs/tutorials/plugins/editor/making_plugins.rst:216 +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/plugins/editor/making_plugins.rst:224 msgid "Now, we need to add it as a custom type so it shows on the **Create New Node** dialog. For that, change the ``custom_node.gd`` script to the following:" msgstr "" -#: ../../docs/tutorials/plugins/editor/making_plugins.rst:263 +#: ../../docs/tutorials/plugins/editor/making_plugins.rst:271 msgid "With that done, the plugin should already be available in the plugin list in the **Project Settings**, so activate it as explained in `Checking the results`_." msgstr "" -#: ../../docs/tutorials/plugins/editor/making_plugins.rst:266 +#: ../../docs/tutorials/plugins/editor/making_plugins.rst:274 msgid "Then try it out by adding your new node:" msgstr "" -#: ../../docs/tutorials/plugins/editor/making_plugins.rst:270 +#: ../../docs/tutorials/plugins/editor/making_plugins.rst:278 msgid "When you add the node, you can see that it already has the script you created attached to it. Set a text to the button, save and run the scene. When you click the button, you can see some text in the console:" msgstr "" -#: ../../docs/tutorials/plugins/editor/making_plugins.rst:277 +#: ../../docs/tutorials/plugins/editor/making_plugins.rst:285 msgid "A custom dock" msgstr "" -#: ../../docs/tutorials/plugins/editor/making_plugins.rst:279 +#: ../../docs/tutorials/plugins/editor/making_plugins.rst:287 msgid "Sometimes, you need to extend the editor and add tools that are always available. An easy way to do it is to add a new dock with a plugin. Docks are just scenes based on Control, so they are created in a way similar to usual GUI scenes." msgstr "" -#: ../../docs/tutorials/plugins/editor/making_plugins.rst:283 +#: ../../docs/tutorials/plugins/editor/making_plugins.rst:291 msgid "Creating a custom dock is done just like a custom node. Create a new ``plugin.cfg`` file in the ``addons/my_custom_dock`` folder, then add the following content to it:" msgstr "" -#: ../../docs/tutorials/plugins/editor/making_plugins.rst:308 +#: ../../docs/tutorials/plugins/editor/making_plugins.rst:316 msgid "Then create the script ``custom_dock.gd`` in the same folder. Fill it with the :ref:`template we've seen before ` to get a good start." msgstr "" -#: ../../docs/tutorials/plugins/editor/making_plugins.rst:312 +#: ../../docs/tutorials/plugins/editor/making_plugins.rst:320 msgid "Since we're trying to add a new custom dock, we need to create the contents of the dock. This is nothing more than a standard Godot scene: just create a new scene in the editor then edit it." msgstr "" -#: ../../docs/tutorials/plugins/editor/making_plugins.rst:316 +#: ../../docs/tutorials/plugins/editor/making_plugins.rst:324 msgid "For an editor dock, the root node **must** be a :ref:`Control ` or one of its child classes. For this tutorial, you can create a single button. The name of the root node will also be the name that appears on the dock tab, so be sure to give it a short and descriptive name. Also, don't forget to add some text to your button." msgstr "" -#: ../../docs/tutorials/plugins/editor/making_plugins.rst:324 +#: ../../docs/tutorials/plugins/editor/making_plugins.rst:332 msgid "Save this scene as ``my_dock.tscn``. Now, we need to grab the scene we created then add it as a dock in the editor. For this, you can rely on the function :ref:`add_control_to_dock() ` from the :ref:`EditorPlugin ` class." msgstr "" -#: ../../docs/tutorials/plugins/editor/making_plugins.rst:329 +#: ../../docs/tutorials/plugins/editor/making_plugins.rst:337 msgid "You need to select a dock position and define the control to add (which is the scene you just created). Don't forget to **remove the dock** when the plugin is deactivated. The script could look like this:" msgstr "" -#: ../../docs/tutorials/plugins/editor/making_plugins.rst:389 +#: ../../docs/tutorials/plugins/editor/making_plugins.rst:397 msgid "Note that, while the dock will initially appear at its specified position, the user can freely change its position and save the resulting layout." msgstr "" -#: ../../docs/tutorials/plugins/editor/making_plugins.rst:393 +#: ../../docs/tutorials/plugins/editor/making_plugins.rst:401 msgid "Checking the results" msgstr "" -#: ../../docs/tutorials/plugins/editor/making_plugins.rst:395 +#: ../../docs/tutorials/plugins/editor/making_plugins.rst:403 msgid "It's now time to check the results of your work. Open the **Project Settings** and click on the **Plugins** tab. Your plugin should be the only one on the list." msgstr "" -#: ../../docs/tutorials/plugins/editor/making_plugins.rst:401 +#: ../../docs/tutorials/plugins/editor/making_plugins.rst:409 msgid "You can see the plugin is not enabled. Click the **Enable** checkbox to activate the plugin. The dock should become visible before you even close the settings window. You should now have a custom dock:" msgstr "" -#: ../../docs/tutorials/plugins/editor/making_plugins.rst:409 +#: ../../docs/tutorials/plugins/editor/making_plugins.rst:417 msgid "Going beyond" msgstr "" -#: ../../docs/tutorials/plugins/editor/making_plugins.rst:411 +#: ../../docs/tutorials/plugins/editor/making_plugins.rst:419 msgid "Now that you've learned how to make basic plugins, you can extend the editor in several ways. Lots of functionality can be added to the editor with GDScript; it is a powerful way to create specialized editors without having to delve into C++ modules." msgstr "" -#: ../../docs/tutorials/plugins/editor/making_plugins.rst:416 +#: ../../docs/tutorials/plugins/editor/making_plugins.rst:424 msgid "You can make your own plugins to help yourself and share them in the `Asset Library `_ so that people can benefit from your work." msgstr "" -#: ../../docs/tutorials/plugins/editor/making_plugins.rst:423 +#: ../../docs/tutorials/plugins/editor/making_plugins.rst:431 msgid "Registering autoloads/singletons in plugins" msgstr "" -#: ../../docs/tutorials/plugins/editor/making_plugins.rst:425 +#: ../../docs/tutorials/plugins/editor/making_plugins.rst:433 msgid "It is possible for editor plugins to automatically register :ref:`autoloads ` when the plugin is enabled. This also includes unregistering the autoload when the plugin is disabled." msgstr "" -#: ../../docs/tutorials/plugins/editor/making_plugins.rst:429 +#: ../../docs/tutorials/plugins/editor/making_plugins.rst:437 msgid "This makes setting up plugins faster for users, as they no longer have to manually add autoloads to their project settings if your editor plugin requires the use of an autoload." msgstr "" -#: ../../docs/tutorials/plugins/editor/making_plugins.rst:433 +#: ../../docs/tutorials/plugins/editor/making_plugins.rst:441 msgid "Use the following code to register a singleton from an editor plugin:" msgstr "" diff --git a/sphinx/templates/tutorials/plugins/editor/visual_shader_plugins.pot b/sphinx/templates/tutorials/plugins/editor/visual_shader_plugins.pot index 77f6c491bc..e4e38ba509 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 3279c92e14..3c62ae70da 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 0d32d86422..6f4b0be619 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 b0b5e6343b..6450bc3465 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 b9119902f9..515e85374c 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -104,111 +104,119 @@ msgstr "" 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:102 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:103 +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 +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 msgid "Linux" msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:104 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:116 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:111 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:123 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:116 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:128 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:121 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:133 msgid "macOS" msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:123 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:135 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:128 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:140 msgid "Android" msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:130 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:142 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:135 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:147 msgid "iOS" msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:137 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:149 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:141 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:153 msgid "Input lag" msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:144 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:156 msgid "Project configuration" msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:146 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:158 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:150 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:162 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 unstability issues less likely to occur." msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:161 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:173 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:171 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:183 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:179 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:191 msgid "Hardware/OS-specific" msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:181 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:193 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:192 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:204 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:195 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:207 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:202 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:214 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:205 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:217 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:211 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:223 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:215 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:227 msgid "Reporting jitter, stutter or input lag problems" msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:217 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:229 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:222 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:234 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:229 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:241 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 08048ec7f1..91a8723d5e 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -276,205 +276,217 @@ msgstr "" msgid "This setting is effective with any stretch mode. However, when using the ``disabled`` stretch mode, it will only affect the **Stretch Scale** setting by rounding it *down* to the nearest integer value. This can be used for 3D games that have a pixel art UI, so that the visible area in the 3D viewport doesn't reduce in size (which occurs when using ``canvas_items`` or ``viewport`` stretch mode with the ``integer`` scale mode)." msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:332 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:333 +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/multiple_resolutions.rst:337 +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/multiple_resolutions.rst:343 +msgid "When using integer scaling, this is particularly important as the 1-pixel height reduction from the **Fullscreen** mode can cause integer scaling to use a smaller scale factor than expected." +msgstr "" + +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:348 msgid "Common use case scenarios" msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:334 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:350 msgid "The following settings are recommended to support multiple resolutions and aspect ratios well." msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:338 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:354 msgid "Desktop game" msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:340 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:356 msgid "**Non-pixel art:**" msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:342 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:358 msgid "Set the base window width to ``1920`` and window height to ``1080``. If you have a display smaller than 1920×1080, set **Window Width Override** and **Window Height Override** to lower values to make the window smaller when the project starts." msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:345 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:361 msgid "Alternatively, if you're targeting high-end devices primarily, set the base window width to ``3840`` and window height to ``2160``. This allows you to provide higher resolution 2D assets, resulting in crisper visuals at the cost of higher memory usage and file sizes. Note that this will make non-mipmapped textures grainy on low resolution devices, so make sure to follow the instructions described in :ref:`doc_multiple_resolutions_reducing_aliasing_on_downsampling`." msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:352 -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:398 -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:425 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:368 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:414 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:441 msgid "Set the stretch mode to ``canvas_items``." msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:353 -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:399 -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:426 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:369 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:415 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:442 msgid "Set the stretch aspect to ``expand``. This allows for supporting multiple aspect ratios and makes better use of tall smartphone displays (such as 18:9 or 19:9 aspect ratios)." msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:355 -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:401 -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:428 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:371 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:417 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:444 msgid "Configure Control nodes' anchors to snap to the correct corners using the **Layout** menu." msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:357 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:373 msgid "**Pixel art:**" msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:359 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:375 msgid "Set the base window size to the viewport size you intend to use. Most pixel art games use viewport sizes between 256×224 and 640×480. 640×360 is a good baseline, as it scales to 1280×720, 1920×1080, 2560×1440, and 3840×2160 without any black bars when using integer scaling. Higher viewport sizes will require using higher resolution artwork, unless you intend to show more of the game world at a given time." msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:365 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:381 msgid "Set the stretch mode to ``viewport``." msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:366 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:382 msgid "Set the stretch aspect to ``keep`` to enforce a single aspect ratio (with black bars). As an alternative, you can set the stretch aspect to ``expand`` to support multiple aspect ratios." msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:369 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:385 msgid "If using the ``expand`` stretch aspect, Configure Control nodes' anchors to snap to the correct corners using the **Layout** menu." msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:371 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:387 msgid "Set the stretch scale mode to ``integer``. This prevents uneven pixel scaling from occurring, which makes pixel art not display as intended." msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:376 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:392 msgid "The ``viewport`` stretch mode provides low-resolution rendering that is then stretched to the final window size. If you are OK with sprites being able to move or rotate in \"sub-pixel\" positions or wish to have a high resolution 3D viewport, you should use the ``canvas_items`` stretch mode instead of the ``viewport`` stretch mode." msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:383 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:399 msgid "Mobile game in landscape mode" msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:385 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:401 msgid "Godot is configured to use landscape mode by default. This means you don't need to change the display orientation project setting." msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:388 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:404 msgid "Set the base window width to ``1280`` and window height to ``720``." msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:389 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:405 msgid "Alternatively, if you're targeting high-end devices primarily, set the base window width to ``1920`` and window height to ``1080``. This allows you to provide higher resolution 2D assets, resulting in crisper visuals at the cost of higher memory usage and file sizes. Many devices have even higher resolution displays (1440p), but the difference with 1080p is barely visible given the small size of smartphone displays. Note that this will make non-mipmapped textures grainy on low resolution devices, so make sure to follow the instructions described in :ref:`doc_multiple_resolutions_reducing_aliasing_on_downsampling`." msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:405 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:421 msgid "To better support tablets and foldable phones (which frequently feature displays with aspect ratios close to 4:3), consider using a base resolution that has a 4:3 aspect ratio while following the rest of the instructions here. For instance, you can set the base window width to ``1280`` and the base window height to ``960``." msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:412 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:428 msgid "Mobile game in portrait mode" msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:414 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:430 msgid "Set the base window width to ``720`` and window height to ``1280``." msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:415 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:431 msgid "Alternatively, if you're targeting high-end devices primarily, set the base window width to ``1080`` and window height to ``1920``. This allows you to provide higher resolution 2D assets, resulting in crisper visuals at the cost of higher memory usage and file sizes. Many devices have even higher resolution displays (1440p), but the difference with 1080p is barely visible given the small size of smartphone displays. Note that this will make non-mipmapped textures grainy on low resolution devices, so make sure to follow the instructions described in :ref:`doc_multiple_resolutions_reducing_aliasing_on_downsampling`." msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:424 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:440 msgid "Set **Display > Window > Handheld > Orientation** to ``portrait``." msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:432 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:448 msgid "To better support tablets and foldable phones (which frequently feature displays with aspect ratios close to 4:3), consider using a base resolution that has a 3:4 aspect ratio while following the rest of the instructions here. For instance, you can set the base window width to ``960`` and the base window height to ``1280``." msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:439 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:455 msgid "Non-game application" msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:441 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:457 msgid "Set the base window width and height to the smallest window size that you intend to target. This is not required, but this ensures that you design your UI with small window sizes in mind." msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:443 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:459 msgid "Keep the stretch mode to its default value, ``disabled``." msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:444 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:460 msgid "Keep the stretch aspect to its default value, ``ignore`` (its value won't be used since the stretch mode is ``disabled``)." msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:446 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:462 msgid "You can define a minimum window size by setting ``OS.min_window_size`` in a script's ``_ready()`` function. This prevents the user from resizing the application below a certain size, which could break the UI layout." msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:452 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:468 msgid "Godot doesn't support manually overriding the 2D scale factor yet, so it is not possible to have hiDPI support in non-game applications. Due to this, it is recommended to leave **Allow Hidpi** disabled in non-game applications to allow for the OS to use its low-DPI fallback." msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:458 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:474 msgid "hiDPI support" msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:460 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:476 msgid "By default, Godot projects aren't considered DPI-aware by the operating system. This is done to improve performance on low-end systems, since the operating system's DPI fallback scaling will be faster than letting the application scale itself (even when using the ``viewport`` stretch mode)." msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:465 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:481 msgid "However, the OS-provided DPI fallback scaling doesn't play well with fullscreen mode. If you want crisp visuals on hiDPI displays or if project uses fullscreen, it's recommended to enable **Display > Window > Dpi > Allow Hidpi** in the Project Settings." msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:470 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:486 msgid "**Allow Hidpi** is only effective on Windows and macOS. It's ignored on all other platforms." msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:475 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:491 msgid "The Godot editor itself is always marked as DPI-aware. Running the project from the editor will only be DPI-aware if **Allow Hidpi** is enabled in the Project Settings." msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:482 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:498 msgid "Reducing aliasing on downsampling" msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:484 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:500 msgid "If the game has a very high base resolution (e.g. 3840×2160), aliasing might appear when downsampling to something considerably lower like 1280×720." msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:487 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:503 msgid "To resolve this, you can :ref:`enable mipmaps ` on all your 2D textures. However, enabling mipmaps will increase memory usage which can be an issue on low-end mobile devices." msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:492 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:508 msgid "Handling aspect ratios" msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:494 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:510 msgid "Once scaling for different resolutions is accounted for, make sure that your *user interface* also scales for different aspect ratios. This can be done using :ref:`anchors ` and/or :ref:`containers `." msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:500 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:516 msgid "Field of view scaling" msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:502 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:518 msgid "The 3D Camera node's **Keep Aspect** property defaults to the **Keep Height** scaling mode (also called *Hor+*). This is usually the best value for desktop games and mobile games in landscape mode, as widescreen displays will automatically use a wider field of view." msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:507 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:523 msgid "However, if your 3D game is intended to be played in portrait mode, it may make more sense to use **Keep Width** instead (also called *Vert-*). This way, smartphones with an aspect ratio taller than 16:9 (e.g. 19:9) will use a *taller* field of view, which is more logical here." msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:513 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:529 msgid "Scaling 2D and 3D elements differently using Viewports" msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:515 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:531 msgid "Using multiple Viewport nodes, you can have different scales for various elements. For instance, you can use this to render the 3D world at a low resolution while keeping 2D elements at the native resolution. This can improve performance significantly while keeping the HUD and other 2D elements crisp." msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:520 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:536 msgid "This is done by using the root Viewport node only for 2D elements, then creating a Viewport node to display the 3D world and displaying it using a SubViewportContainer or TextureRect node. There will effectively be two viewports in the final project. One upside of using TextureRect over SubViewportContainer is that it allows enable linear filtering. This makes scaled 3D viewports look better in many cases." msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:527 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:543 msgid "See the `3D viewport scaling demo `__ for examples." msgstr "" diff --git a/sphinx/templates/tutorials/rendering/viewports.pot b/sphinx/templates/tutorials/rendering/viewports.pot index 317870336d..4380403a50 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 6f1cbb2722..f3ec9d13c0 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -104,7 +104,7 @@ msgstr "" #: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:84 #: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:99 -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:138 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:132 msgid "In Godot's **Editor → Editor Settings** menu:" msgstr "" @@ -148,203 +148,199 @@ msgstr "" msgid "To configure a project for debugging, you need a ``tasks.json`` and ``launch.json`` file in the ``.vscode`` folder with the necessary configuration. An example configuration can be found `here `__ . In the ``launch.json`` file, make sure the ``program`` parameter in the relevant configuration points to your Godot executable, either by changing it to the path of the executable or by defining a ``GODOT4`` environment variable that points to the executable. Now, when you start the debugger in Visual Studio Code, your Godot project will run." msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:121 -msgid "There is also a `C# Tools for Godot `__ Visual Studio Code extension, that is meant to make this setup easier and to provide further useful tools. But it is not yet updated to work with Godot 4." -msgstr "" - -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:126 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:120 msgid "Visual Studio (Windows only)" msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:128 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:122 msgid "Download and install the latest version of `Visual Studio `__. Visual Studio will include the required SDKs if you have the correct workloads selected, so you don't need to manually install the things listed in the \"Prerequisites\" section." msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:134 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:128 msgid "While installing Visual Studio, select this workload:" msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:136 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:130 msgid ".NET desktop development" msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:140 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:134 msgid "Set **Dotnet** -> **Editor** -> **External Editor** to **Visual Studio**." msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:142 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:136 msgid "If you see an error like \"Unable to find package Godot.NET.Sdk\", your NuGet configuration may be incorrect and need to be fixed." msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:145 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:139 msgid "A simple way to fix the NuGet configuration file is to regenerate it. In a file explorer window, go to ``%AppData%\\NuGet``. Rename or delete the ``NuGet.Config`` file. When you build your Godot project again, the file will be automatically created with default values." msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:151 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:145 msgid "Creating a C# script" msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:153 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:147 msgid "After you successfully set up C# for Godot, you should see the following option when selecting **Attach Script** in the context menu of a node in your scene:" msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:158 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:152 msgid "Note that while some specifics change, most concepts work the same when using C# for scripting. If you're new to Godot, you may want to follow the tutorials on :ref:`doc_scripting` at this point. While some documentation pages still lack C# examples, most notions can be transferred from GDScript." msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:165 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:159 msgid "Project setup and workflow" msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:167 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:161 msgid "When you create the first C# script, Godot initializes the C# project files for your Godot project. This includes generating a C# solution (``.sln``) and a project file (``.csproj``), as well as some utility files and folders (``.godot/mono``). All of these but ``.godot/mono`` are important and should be committed to your version control system. Everything under ``.godot`` can be safely added to the ignore list of your VCS. When troubleshooting, it can sometimes help to delete the ``.godot/mono`` folder and let it regenerate." msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:178 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:172 msgid "Example" msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:180 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:174 msgid "Here's a blank C# script with some comments to demonstrate how it works." msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:206 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:200 msgid "As you can see, functions normally in global scope in GDScript like Godot's ``print`` function are available in the ``GD`` static class which is part of the ``Godot`` namespace. For a full list of methods in the ``GD`` class, see the class reference pages for :ref:`@GDScript ` and :ref:`@GlobalScope `." msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:214 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:208 msgid "Keep in mind that the class you wish to attach to your node should have the same name as the ``.cs`` file. Otherwise, you will get the following error:" msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:217 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:211 msgid "*\"Cannot find class XXX for script res://XXX.cs\"*" msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:220 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:214 msgid "General differences between C# and GDScript" msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:222 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:216 msgid "The C# API uses ``PascalCase`` instead of ``snake_case`` in GDScript/C++. Where possible, fields and getters/setters have been converted to properties. In general, the C# Godot API strives to be as idiomatic as is reasonably possible." msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:226 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:220 msgid "For more information, see the :ref:`doc_c_sharp_differences` page." msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:230 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:224 msgid "You need to (re)build the project assemblies whenever you want to see new exported variables or signals in the editor. This build can be manually triggered by clicking the **Build** button in the top right corner of the editor." msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:237 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:231 msgid "You will also need to rebuild the project assemblies to apply changes in \"tool\" scripts." msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:241 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:235 msgid "Current gotchas and known issues" msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:243 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:237 msgid "As C# support is quite new in Godot, there are some growing pains and things that need to be ironed out. Below is a list of the most important issues you should be aware of when diving into C# in Godot, but if in doubt, also take a look over the official `issue tracker for .NET issues `_." msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:249 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:243 msgid "Writing editor plugins is possible, but it is currently quite convoluted." msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:250 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:244 msgid "State is currently not saved and restored when hot-reloading, with the exception of exported variables." msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:252 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:246 msgid "Attached C# scripts should refer to a class that has a class name that matches the file name." msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:254 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:248 msgid "There are some methods such as ``Get()``/``Set()``, ``Call()``/``CallDeferred()`` and signal connection method ``Connect()`` that rely on Godot's ``snake_case`` API naming conventions. So when using e.g. ``CallDeferred(\"AddChild\")``, ``AddChild`` will not work because the API is expecting the original ``snake_case`` version ``add_child``. However, you can use any custom properties or methods without this limitation. Prefer using the exposed ``StringName`` in the ``PropertyName``, ``MethodName`` and ``SignalName`` to avoid extra ``StringName`` allocations and worrying about snake_case naming." msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:264 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:258 msgid "As of Godot 4.0, exporting .NET projects is supported for desktop platforms (Linux, Windows and macOS). Other platforms will gain support in future 4.x releases." msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:269 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:263 msgid "Common pitfalls" msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:271 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:265 msgid "You might encounter the following error when trying to modify some values in Godot objects, e.g. when trying to change the X coordinate of a ``Node2D``:" msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:287 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:281 msgid "This is perfectly normal. Structs (in this example, a ``Vector2``) in C# are copied on assignment, meaning that when you retrieve such an object from a property or an indexer, you get a copy of it, not the object itself. Modifying said copy without reassigning it afterwards won't achieve anything." msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:292 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:286 msgid "The workaround is simple: retrieve the entire struct, modify the value you want to modify, and reassign the property." msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:301 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:295 msgid "Since C# 10, it is also possible to use `with expressions `_ on structs, allowing you to do the same thing in a single line." msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:308 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:302 msgid "You can read more about this error on the `C# language reference `_." msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:311 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:305 msgid "Performance of C# in Godot" msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:313 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:307 msgid "According to some preliminary `benchmarks `_, the performance of C# in Godot — while generally in the same order of magnitude — is roughly **~4×** that of GDScript in some naive cases. C++ is still a little faster; the specifics are going to vary according to your use case. GDScript is likely fast enough for most general scripting workloads." msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:319 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:313 msgid "Most properties of Godot C# objects that are based on ``GodotObject`` (e.g. any ``Node`` like ``Control`` or ``Node3D`` like ``Camera3D``) require native (interop) calls as they talk to Godot's C++ core. Consider assigning values of such properties into a local variable if you need to modify or read them multiple times at a single code location:" msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:355 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:349 msgid "Passing raw arrays (such as ``byte[]``) or ``string`` to Godot's C# API requires marshalling which is comparatively pricey." msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:358 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:352 msgid "The implicit conversion from ``string`` to ``NodePath`` or ``StringName`` incur both the native interop and marshalling costs as the ``string`` has to be marshalled and passed to the respective native constructor." msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:362 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:356 msgid "Using NuGet packages in Godot" msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:364 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:358 msgid "`NuGet `_ packages can be installed and used with Godot, as with any C# project. Many IDEs are able to add packages directly. They can also be added manually by adding the package reference in the ``.csproj`` file located in the project root:" msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:378 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:372 msgid "As of Godot 3.2.3, Godot automatically downloads and sets up newly added NuGet packages the next time it builds the project." msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:382 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:376 msgid "Profiling your C# code" msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:384 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:378 msgid "The following tools may be used for performance and memory profiling of your managed code:" msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:386 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:380 msgid "JetBrains Rider with dotTrace/dotMemory plugin." msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:387 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:381 msgid "Standalone JetBrains dotTrace/dotMemory." msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:388 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:382 msgid "Visual Studio." msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:390 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:384 msgid "Profiling managed and unmanaged code at once is possible with both JetBrains tools and Visual Studio, but limited to Windows." msgstr "" 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 e0c75fca8b..6405c9acc4 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 b076f04c0c..b4ec87a5c8 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 33656d3806..ac0cf94aff 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 f430e4fb27..341c349499 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 35b088e867..f7f07ebdb1 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 acef93a637..20f498f13a 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -41,7 +41,7 @@ msgid "In addition, you can always access signal names associated with a node ty msgstr "" #: ../../docs/tutorials/scripting/c_sharp/c_sharp_signals.rst:32 -msgid "Godot will take care of disconnecting all the signals you connected through events when your nodes are freed. Meaning that: as you don't need to call ``Disconnect`` on all signals you used ``Connect`` on, you don't need to ``-=`` all the signals you used ``+=`` on." +msgid "While all engine signals connected as events are automatically disconnected when nodes are freed, custom signals aren't. Meaning that: you will need to manually disconnect (using ``-=``) all the custom signals you connected as C# events (using ``+=``)." msgstr "" #: ../../docs/tutorials/scripting/c_sharp/c_sharp_signals.rst:37 @@ -81,7 +81,7 @@ msgid "Signals support arguments of any :ref:`Variant-compatible \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 3951f25b51..48ce024a46 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 d74eeb4a0f..a45a96b73b 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 9165c714e1..264ef131dd 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 5bf8b0c8b9..4bd8cc01bc 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 0a8c80f628..b88e3f7ff2 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 2f763ec239..1cdf175ed4 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 f3cc5b701c..f93ead56f2 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 37ef36870b..638c37513b 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 fb171cd358..7aaad31f0c 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 6b99ca0457..492c54fa3a 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 42325d742d..b66cb7df0d 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 5a14d51c92..537ac2225a 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 bc4c336755..6087b53ed3 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 d1b3b16d3a..c6442313b2 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 b2ef167911..88b2abb060 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 6145e0f8e4..3cc9ce15d1 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 ebb97614f5..879ff64fcc 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 b85a3677ef..18657ebf04 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 aff0ce9628..6c31bd286c 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -16,15 +16,15 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: ../../docs/tutorials/scripting/c_sharp/diagnostics/index.rst:2 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/index.rst:4 msgid "C# diagnostics" msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/diagnostics/index.rst:4 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/index.rst:6 msgid "Godot includes analyzers that inspect your C# source code to check for invalid or unsupported code and let you know that something is wrong during build time." msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/diagnostics/index.rst:8 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/index.rst:10 msgid "Rules" msgstr "" diff --git a/sphinx/templates/tutorials/scripting/c_sharp/index.pot b/sphinx/templates/tutorials/scripting/c_sharp/index.pot index e375910943..3dff1e5848 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 15aee71710..5f6ee55fa1 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 55830853fa..1532389b81 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 8c146dbf23..7e11b53397 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 a52bf9ff85..eac85c8134 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 1fcbea9683..f3527b094f 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 5990bcb83a..c3a1b9b4e0 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 a993deea43..ac5f9ae971 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 9cb641aaf6..cc6f9adbf9 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 783a4ba5f1..e9b626fb02 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 b0ec7593d4..617c9ddd8c 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 a16e2ba82f..625502f1a2 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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/index.pot b/sphinx/templates/tutorials/scripting/gdextension/index.pot index 0658760e14..d87600b9b5 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 2f66f435fe..b21c5030c4 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -121,30 +121,34 @@ msgid "`D `__" msgstr "" #: ../../docs/tutorials/scripting/gdextension/what_is_gdextension.rst:99 -msgid "`Haxe `__" +msgid "`Go `__" msgstr "" #: ../../docs/tutorials/scripting/gdextension/what_is_gdextension.rst:100 -msgid "`Rust `__" +msgid "`Haxe `__" msgstr "" #: ../../docs/tutorials/scripting/gdextension/what_is_gdextension.rst:101 +msgid "`Rust `__" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/what_is_gdextension.rst:102 msgid "`Swift `__" msgstr "" -#: ../../docs/tutorials/scripting/gdextension/what_is_gdextension.rst:105 +#: ../../docs/tutorials/scripting/gdextension/what_is_gdextension.rst:106 msgid "Not all bindings mentioned here may be production-ready. Make sure to research options thoroughly before starting a project with one of those. Also, double-check whether the binding is compatible with the Godot version you're using." msgstr "" -#: ../../docs/tutorials/scripting/gdextension/what_is_gdextension.rst:111 +#: ../../docs/tutorials/scripting/gdextension/what_is_gdextension.rst:112 msgid "Version compatibility" msgstr "" -#: ../../docs/tutorials/scripting/gdextension/what_is_gdextension.rst:113 +#: ../../docs/tutorials/scripting/gdextension/what_is_gdextension.rst:114 msgid "GDExtension add-ons compiled for a given Godot version are only guaranteed to work with the same minor release series. For example, a GDExtension add-on compiled for Godot 4.0 will only work with Godot 4.0, 4.0.1, 4.0.2. In addition, GDExtension is not compatible with Godot 3.x." msgstr "" -#: ../../docs/tutorials/scripting/gdextension/what_is_gdextension.rst:118 +#: ../../docs/tutorials/scripting/gdextension/what_is_gdextension.rst:119 msgid "GDExtension add-ons are also only compatible with engine builds that use the level of floating-point precision the extension was compiled for. This means that if you use a engine build with double-precision floats, the extension must also be compiled for double-precision floats. See :ref:`doc_large_world_coordinates` for details." msgstr "" diff --git a/sphinx/templates/tutorials/scripting/gdscript/gdscript_advanced.pot b/sphinx/templates/tutorials/scripting/gdscript/gdscript_advanced.pot index b5eb846be7..acaba89bdb 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 fc310a7980..d093358865 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\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:1479 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1533 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:1467 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1521 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:1538 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1592 msgid "match" msgstr "" @@ -1490,814 +1490,866 @@ msgid "You can turn off this check, or make it only a warning, by changing it in msgstr "" #: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1022 -msgid "Static variables" +msgid "Initialization order" msgstr "" #: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1024 +msgid "Member variables are initialized in the following order:" +msgstr "" + +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1026 +msgid "Depending on the variable's static type, the variable is either ``null`` (untyped variables and objects) or has a default value of the type (``0`` for ``int``, ``false`` for ``bool``, etc.)." +msgstr "" + +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1029 +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." +msgstr "" + +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1032 +msgid "If defined, the ``_init()`` method is called." +msgstr "" + +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1033 +msgid "When instantiating scenes and resources, the exported values are assigned." +msgstr "" + +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1034 +msgid "*(Only for ``Node``-derived classes)* ``@onready`` variables are initialized." +msgstr "" + +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1035 +msgid "*(Only for ``Node``-derived classes)* If defined, the ``_ready()`` method is called." +msgstr "" + +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1039 +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:1055 +msgid "Will print::" +msgstr "" + +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1061 +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:1065 +msgid "Static variables" +msgstr "" + +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1067 msgid "A class member variable can be declared static::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1028 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1071 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:1031 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1074 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:1037 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1080 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:1040 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1083 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:1059 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1102 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:1078 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1121 msgid "Static variables can have type hints, setters and getters::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1088 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1131 msgid "A base class static variable can also be accessed via a child class::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1104 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1147 msgid "``@static_unload`` annotation" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1106 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1149 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:1114 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1157 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:1116 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1159 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:1123 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1166 msgid "See also `Static functions`_ and `Static constructor`_." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1126 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1169 msgid "Casting" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1128 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1171 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:1132 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1175 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:1140 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1183 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:1147 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1190 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:1156 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1199 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:1166 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1209 msgid "Constants" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1168 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1211 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:1173 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1216 msgid "We recommend using constants whenever a value is not meant to change." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1186 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1229 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:1192 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1235 msgid "Assigning a value of an incompatible type will raise an error." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1194 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1237 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:1199 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1242 msgid "Since objects, arrays and dictionaries are passed by reference, constants are \"flat\". This means that if you declare a constant array or dictionary, it can still be modified afterwards. They can't be reassigned with another value though." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1204 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1247 msgid "Enums" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1206 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1249 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:1220 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1263 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:1224 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1267 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:1244 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1292 msgid "Functions" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1246 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1294 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:1259 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1307 msgid "A function can ``return`` at any point. The default return value is ``null``." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1261 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1309 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:1269 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1317 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:1275 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1323 msgid "If a function argument has a default value, it's possible to infer the type::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1280 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1328 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:1286 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1334 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:1295 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1343 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:1303 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1351 msgid "Referencing functions" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1305 +#: ../../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:1325 +#: ../../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." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1330 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1378 msgid "Lambda functions" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1332 +#: ../../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." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1340 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1388 msgid "Lambda functions can be named for debugging purposes::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1345 +#: ../../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``)::" +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::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1353 +#: ../../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." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1356 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1410 msgid "Static functions" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1358 +#: ../../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:1364 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1418 msgid "Lambdas cannot be declared static." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1366 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1420 msgid "See also `Static variables`_ and `Static constructor`_." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1369 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1423 msgid "Statements and control flow" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1371 +#: ../../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:1376 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1430 msgid "Expressions" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1378 +#: ../../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." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1381 +#: ../../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." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1384 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1438 msgid "Here are some examples of expressions::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1400 +#: ../../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." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1404 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1458 msgid "if/else/elif" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1406 +#: ../../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." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1420 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1474 msgid "Short statements can be written on the same line as the condition::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1427 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1481 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:1433 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1487 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:1456 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1510 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:1469 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1523 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:1481 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1535 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:1516 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1570 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:1525 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1579 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:1540 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1594 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:1545 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1599 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:1549 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1603 msgid "Basic syntax" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1561 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1615 msgid "Crash-course for people who are familiar with switch statements" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1563 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1617 msgid "Replace ``switch`` with ``match``." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1564 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1618 msgid "Remove ``case``." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1565 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1619 msgid "Remove any ``break``\\ s." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1566 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1620 msgid "Change ``default`` to a single underscore." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1569 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1623 msgid "Control flow" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1571 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1625 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:1576 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1630 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:1578 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1632 msgid "The following pattern types are available:" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1589 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1643 msgid "Literal pattern" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1581 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1635 msgid "Matches a `literal `_::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1600 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1654 msgid "Expression pattern" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1592 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1646 msgid "Matches a constant expression, an identifier, or an attribute access (``A.B``)::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1613 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1667 msgid "Wildcard pattern" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1603 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1657 msgid "This pattern matches everything. It's written as a single underscore." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1605 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1659 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:1625 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1679 msgid "Binding pattern" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1616 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1670 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:1646 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1700 msgid "Array pattern" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1628 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1682 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:1630 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1684 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:1632 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1686 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:1634 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1688 msgid "Every subpattern has to be comma-separated." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1673 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1727 msgid "Dictionary pattern" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1649 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1703 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:1651 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1705 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:1653 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1707 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:1655 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1709 msgid "Every subpattern has to be comma separated." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1657 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1711 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:1659 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1713 msgid "A value pattern is separated from the key pattern with a ``:``." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1684 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1738 msgid "Multiple patterns" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1676 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1730 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:1687 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1741 msgid "Pattern guards" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1689 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1743 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:1707 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1761 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:1709 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1763 msgid "If a matching pattern is found, the guard expression is evaluated." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1711 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1765 msgid "If it's true, then the body of the branch is executed and ``match`` ends." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1712 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1766 msgid "If it's false, then the patterns of the next branch are checked." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1715 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1769 msgid "Classes" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1717 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1771 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:1733 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1787 msgid "Registering named classes" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1735 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1789 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:1748 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1804 +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 msgid "Here's a class file example:" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1769 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1831 msgid "If you want to use ``extends`` too, you can keep both on the same line::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1775 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1837 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:1780 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1842 msgid "Inheritance" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1782 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1844 msgid "A class (stored as a file) can inherit from:" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1784 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1846 msgid "A global class." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1785 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1847 msgid "Another class file." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1786 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1848 msgid "An inner class inside another class file." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1788 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1850 msgid "Multiple inheritance is not allowed." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1790 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1852 msgid "Inheritance uses the ``extends`` keyword::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1803 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1865 msgid "If inheritance is not explicitly defined, the class will default to inheriting :ref:`class_RefCounted`." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1806 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1868 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:1818 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1880 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:1823 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1885 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:1830 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1892 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:1841 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1903 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:1844 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1906 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:1847 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1909 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:1851 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1913 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:1857 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1919 msgid "Class constructor" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1859 +#: ../../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::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1868 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1930 msgid "This is better explained through examples. Consider this scenario::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1892 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1954 msgid "There are a few things to keep in mind here:" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1894 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1956 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:1897 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1959 msgid "``idle.gd`` can have a different number of arguments than the base class ``state.gd``." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1898 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1960 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:1900 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1962 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:1910 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1972 msgid "Static constructor" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1912 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1974 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:1920 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1982 msgid "A static constructor cannot take arguments and must not return any value." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1925 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1987 msgid "Inner classes" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1927 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1989 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:1952 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2014 msgid "Classes as resources" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1954 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2016 msgid "Classes stored as files are treated as :ref:`resources `. 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:1971 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2033 msgid "Exports" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1975 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2037 msgid "Documentation about exports has been moved to :ref:`doc_gdscript_exports`." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1981 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2043 msgid "Properties (setters and getters)" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1983 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2045 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:1987 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2049 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:1991 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2053 msgid "Example::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2002 +#: ../../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:2008 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2070 msgid "Alternative syntax" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2010 +#: ../../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:2016 +#: ../../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:2020 +#: ../../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:2024 +#: ../../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:2029 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2091 msgid "When setter/getter is not called" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2031 +#: ../../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:2034 +#: ../../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:2045 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2107 msgid "This also applies to the alternative syntax::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2054 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2116 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:2067 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2129 msgid "Tool mode" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2069 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2131 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:2082 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2144 msgid "See :ref:`doc_running_code_in_the_editor` for more information." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2084 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2146 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:2092 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2154 msgid "Memory management" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2094 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2156 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:2105 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2167 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:2108 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2170 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:2133 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2195 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:2140 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2202 msgid "Signals" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2142 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2204 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:2155 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2217 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:2162 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2224 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:2165 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2227 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:2179 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2241 msgid "You can emit as many arguments as you want along with a signal." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2181 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2243 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:2185 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2247 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:2224 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2286 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:2238 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2300 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:2241 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2303 msgid "You can write optional argument names in parentheses after the signal's definition::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2247 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2309 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:2253 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2315 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:2258 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2320 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:2262 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2324 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:2276 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2338 msgid "Our ``BattleLog`` node receives each element in the binds array as an extra argument::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2289 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2351 msgid "Awaiting for signals or coroutines" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2291 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2353 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:2296 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2358 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:2304 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2366 msgid "In this case, the ``wait_confirmation`` becomes a coroutine, which means that the caller also needs to await for it::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2314 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2376 msgid "Note that requesting a coroutine's return value without ``await`` will trigger an error::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2319 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2381 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:2326 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2388 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:2336 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2398 msgid "This also means that returning a signal from a function that isn't a coroutine will make the caller await on that signal::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2345 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2407 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:2351 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2413 msgid "Assert keyword" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2353 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2415 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:2365 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2427 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:2368 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2430 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 706d425c5f..c78525bde4 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -171,55 +171,55 @@ msgstr "" msgid "Complete script example" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:204 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:201 msgid "``@deprecated`` and ``@experimental`` tags" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:206 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:203 msgid "You can mark a class or any of its members as deprecated or experimental. This will add the corresponding indicator in the built-in documentation viewer. This can be especially useful for plugin and library creators." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:212 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:209 msgid "**Deprecated** marks a non-recommended API that is subject to removal or incompatible change in a future major release. Usually the API is kept for backwards compatibility." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:214 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:211 msgid "**Experimental** marks a new unstable API that may be changed or removed in the current major branch. Using this API is not recommended in production code." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:219 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:216 msgid "While technically you can use both ``@deprecated`` and ``@experimental`` tags on the same class/member, this is not recommended as it is against common conventions." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:223 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:220 msgid "BBCode and class reference" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:225 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:222 msgid "The editor help window which renders the documentation supports :ref:`bbcode `. As a result it's possible to align and format the documentation. Color texts, images, fonts, tables, URLs, animation effects, etc. can be added with the :ref:`bbcode `." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:229 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:226 msgid "Godot's class reference supports BBCode-like tags. They add nice formatting to the text which could also be used in the documentation. See also :ref:`class reference bbcode `." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:232 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:229 msgid "Whenever you link to a member of another class, you need to specify the class name. For links to the same class, the class name is optional and can be omitted." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:235 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:232 msgid "Here's the list of available tags:" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:238 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:235 msgid "Tag and Description" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:238 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:235 msgid "Example" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:238 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:235 msgid "Result" msgstr "" @@ -231,11 +231,11 @@ msgstr "" msgid "Link to class" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:240 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:237 msgid "``Move the [Sprite2D].``" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:240 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:237 msgid "Move the :ref:`class_Sprite2D`." msgstr "" @@ -247,11 +247,11 @@ msgstr "" msgid "Link to annotation" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:243 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:240 msgid "``See [annotation @GDScript.@export].``" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:243 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:240 msgid "See :ref:`@GDScript.@export `." msgstr "" @@ -263,11 +263,11 @@ msgstr "" msgid "Link to constant" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:246 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:243 msgid "``See [constant @GlobalScope.KEY_F1].``" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:246 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:243 msgid "See :ref:`@GlobalScope.KEY_F1 `." msgstr "" @@ -279,11 +279,11 @@ msgstr "" msgid "Link to enum" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:249 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:246 msgid "``See [enum Mesh.ArrayType].``" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:249 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:246 msgid "See :ref:`Mesh.ArrayType `." msgstr "" @@ -295,11 +295,11 @@ msgstr "" msgid "Link to method" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:252 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:249 msgid "``Call [method Node3D.hide].``" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:252 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:249 msgid "Call :ref:`Node3D.hide() `." msgstr "" @@ -311,11 +311,11 @@ msgstr "" msgid "Link to member" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:255 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:252 msgid "``Get [member Node2D.scale].``" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:255 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:252 msgid "Get :ref:`Node2D.scale `." msgstr "" @@ -327,11 +327,11 @@ msgstr "" msgid "Link to signal" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:258 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:255 msgid "``Emit [signal Node.renamed].``" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:258 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:255 msgid "Emit :ref:`Node.renamed `." msgstr "" @@ -343,11 +343,11 @@ msgstr "" msgid "Link to theme item" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:261 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:258 msgid "``See [theme_item Label.font].``" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:261 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:258 msgid "See :ref:`Label.font `." msgstr "" @@ -359,11 +359,11 @@ msgstr "" msgid "Formats a parameter name (as code)" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:264 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:261 msgid "``Takes [param size] for the size.``" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:264 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:261 msgid "Takes ``size`` for the size." msgstr "" @@ -399,11 +399,11 @@ msgstr "" msgid "Bold" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:270 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:267 msgid "``Some [b]bold[/b] text.``" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:270 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:267 msgid "Some **bold** text." msgstr "" @@ -415,11 +415,11 @@ msgstr "" msgid "Italic" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:273 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:270 msgid "``Some [i]italic[/i] text.``" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:273 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:270 msgid "Some *italic* text." msgstr "" @@ -431,11 +431,11 @@ msgstr "" msgid "Keyboard/mouse shortcut" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:276 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:273 msgid "``Some [kbd]Ctrl + C[/kbd] key.``" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:276 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:273 msgid "Some :kbd:`Ctrl + C` key." msgstr "" @@ -447,11 +447,11 @@ msgstr "" msgid "Monospace" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:279 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:276 msgid "``Some [code]monospace[/code] text.``" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:279 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:276 msgid "Some ``monospace`` text." msgstr "" @@ -463,24 +463,24 @@ msgstr "" msgid "Multiline preformatted block" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:282 -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:282 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:279 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:279 msgid "*See below.*" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:288 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:285 msgid "Currently only :ref:`class_@GDScript` has annotations." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:289 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:286 msgid "``[code]`` disables BBCode until the parser encounters ``[/code]``." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:290 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:287 msgid "``[codeblock]`` disables BBCode until the parser encounters ``[/codeblock]``." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:294 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:291 msgid "Use ``[codeblock]`` for pre-formatted code blocks. Inside ``[codeblock]``, always use **four spaces** for indentation (the parser will delete tabs)." msgstr "" diff --git a/sphinx/templates/tutorials/scripting/gdscript/gdscript_exports.pot b/sphinx/templates/tutorials/scripting/gdscript/gdscript_exports.pot index c14ce99ff2..be797da27b 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 f26e91c1d2..a51b097bc8 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 28b6e41ff1..d91425449c 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -235,7 +235,7 @@ msgid "Using a space for regular and documentation comments helps differentiate msgstr "" #: ../../docs/tutorials/scripting/gdscript/gdscript_styleguide.rst:480 -msgid "In the script editor, to toggle the selected code commented, press :kbd:`Ctrl + K`. This feature adds a single ``#`` sign at the start of the selected lines." +msgid "In the script editor, to toggle commenting of the selected code, press :kbd:`Ctrl + K`. This feature adds/removes a single ``#`` sign before any code on the selected lines." msgstr "" #: ../../docs/tutorials/scripting/gdscript/gdscript_styleguide.rst:485 diff --git a/sphinx/templates/tutorials/scripting/gdscript/index.pot b/sphinx/templates/tutorials/scripting/gdscript/index.pot index b7773072a2..11ff1e15d4 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 18b7e7b98d..3897f14f2f 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -333,30 +333,66 @@ msgid "``UNSAFE_*`` warnings make unsafe operations more noticeable, than unsafe msgstr "" #: ../../docs/tutorials/scripting/gdscript/static_typing.rst:400 -msgid "Cases where you can't specify types" +msgid "Common unsafe operations and their safe counterparts" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:402 -msgid "To wrap up this introduction, let's mention cases where you can't use type hints. This will trigger a **syntax error**." +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:403 +msgid "``UNSAFE_PROPERTY_ACCESS`` and ``UNSAFE_METHOD_ACCESS`` warnings" msgstr "" #: ../../docs/tutorials/scripting/gdscript/static_typing.rst:405 +msgid "In this example, we aim to set a property and call a method on an object that has a script attached with ``class_name MyScript`` and that ``extends Node2D``. If we have a reference to the object as a ``Node2D`` (for instance, as it was passed to us by the physics system), we can first check if the property and method exist and then set and call them if they do::" +msgstr "" + +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:417 +msgid "However, this code will produce ``UNSAFE_PROPERTY_ACCESS`` and ``UNSAFE_METHOD_ACCESS`` warnings as the property and method are not present in the referenced type - in this case a ``Node2D``. To make these operations safe, you can first check if the object is of type ``MyScript`` using the ``is`` keyword and then declare a variable with the type ``MyScript`` on which you can set its properties and call its methods::" +msgstr "" + +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:429 +msgid "Alternatively, you can declare a variable and use the ``as`` operator to try to cast the object. You'll then want to check whether the cast was successful by confirming that the variable was assigned::" +msgstr "" + +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:439 +msgid "``UNSAFE_CAST`` warning" +msgstr "" + +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:441 +msgid "In this example, we would like the label connected to an object entering our collision area to show the area's name. Once the object enters the collision area, the physics system sends a signal with a ``Node2D`` object, and the most straightforward (but not statically typed) solution to do what we want could be achieved like this::" +msgstr "" + +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:450 +msgid "This piece of code produces an ``UNSAFE_PROPERTY_ACCESS`` warning because ``label`` is not defined in ``Node2D``. To solve this, we could first check if the ``label`` property exist and cast it to type ``Label`` before settings its text property like so::" +msgstr "" + +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:459 +msgid "However, this produces an ``UNSAFE_CAST`` warning because ``body.label`` is of a ``Variant`` type. To safely get the property in the type you want, you can use the ``Object.get()`` method which returns the object as a ``Variant`` value or returns ``null`` if the property doesn't exist. You can then determine whether the property contains an object of the right type using the ``is`` keyword, and finally declare a statically typed variable with the object::" +msgstr "" + +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:473 +msgid "Cases where you can't specify types" +msgstr "" + +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:475 +msgid "To wrap up this introduction, let's mention cases where you can't use type hints. This will trigger a **syntax error**." +msgstr "" + +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:478 msgid "You can't specify the type of individual elements in an array or a dictionary::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:414 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:487 msgid "Nested types are not currently supported::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:418 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:491 msgid "Typed dictionaries are not currently supported::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:423 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:496 msgid "Summary" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:425 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:498 msgid "Typed GDScript is a powerful tool. It helps you write more structured code, avoid common errors, and create scalable and reliable systems. Static types improve GDScript performance and more optimizations are planned for the future." msgstr "" diff --git a/sphinx/templates/tutorials/scripting/gdscript/warning_system.pot b/sphinx/templates/tutorials/scripting/gdscript/warning_system.pot index b00a286bcd..3f8eac010a 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 528ae2cd39..f4dd67e72c 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 ae1bc57996..790db86068 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 9ae43173e8..b1e35c4207 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 9b0b94595f..2e885f26b2 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 dbe776b056..ee2e0fa83c 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 45c8da1ff0..8a4d8f0fe8 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 75a4cd0070..985197fe07 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 19aa1b4efe..4eaf0e00ce 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 ade22de5ce..9acfaf7b23 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 e63b8bfa93..67bdc9a67b 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 5cced731f8..70d10d7527 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 d1acf5f483..98ae150290 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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/advanced_postprocessing.pot b/sphinx/templates/tutorials/shaders/advanced_postprocessing.pot index 51e79c9f18..a68abc3e48 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 6ffa68934b..b872264fb4 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 255f8a7fd7..926cc4efbf 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\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 "In GLSL, you can pass in per-vertex information using attributes and have msgstr "" #: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:42 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:96 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:97 msgid "gl_Position" msgstr "" @@ -78,7 +78,7 @@ msgid "Varyings are a type of variable that can be passed from the vertex shader msgstr "" #: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:67 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:215 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:216 msgid "Main" msgstr "" @@ -91,369 +91,385 @@ msgid "Macros" msgstr "" #: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:77 -msgid "The :ref:`Godot shader preprocessor` supports the following macros: * ``#define`` / ``#undef`` * ``#if``, ``#elif``, ``#else``, ``#endif``, ``defined()``, ``#ifdef``, ``#ifndef`` * ``#include`` (only ``.gdshaderinc`` files and with a maximum depth of 25) * ``#pragma disable_preprocessor``, which disables preprocessing for the rest of the file" +msgid "The :ref:`Godot shader preprocessor` supports the following macros:" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:84 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:151 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:222 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:79 +msgid "``#define`` / ``#undef``" +msgstr "" + +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:80 +msgid "``#if``, ``#elif``, ``#else``, ``#endif``, ``defined()``, ``#ifdef``, ``#ifndef``" +msgstr "" + +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:81 +msgid "``#include`` (only ``.gdshaderinc`` files and with a maximum depth of 25)" +msgstr "" + +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:82 +msgid "``#pragma disable_preprocessor``, which disables preprocessing for the rest of the file" +msgstr "" + +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:85 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:152 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:223 msgid "Variables" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:86 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:87 msgid "GLSL has many built-in variables that are hard-coded. These variables are not uniforms, so they are not editable from the main program." msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:90 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:163 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:228 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:91 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:164 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:229 msgid "Variable" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:90 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:163 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:228 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:91 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:164 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:229 msgid "Type" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:90 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:163 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:228 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:91 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:164 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:229 msgid "Equivalent" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:90 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:163 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:228 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:91 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:164 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:229 msgid "Description" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:92 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:230 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:93 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:231 msgid "gl_FragColor" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:92 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:165 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:230 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:93 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:166 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:231 msgid "out vec4" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:92 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:165 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:230 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:93 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:166 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:231 msgid "COLOR" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:92 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:165 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:230 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:93 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:166 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:231 msgid "Output color for each pixel." msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:94 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:232 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:95 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:233 msgid "gl_FragCoord" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:94 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:96 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:179 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:181 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:232 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:95 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:97 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:180 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:182 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:233 msgid "vec4" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:94 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:232 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:95 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:233 msgid "FRAGCOORD" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:94 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:167 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:232 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:95 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:168 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:233 msgid "For full screen quads. For smaller quads, use UV." msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:96 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:97 msgid "VERTEX" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:96 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:97 msgid "Position of Vertex, output from Vertex Shader." msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:98 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:99 msgid "gl_PointSize" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:98 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:171 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:173 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:175 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:177 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:236 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:99 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:172 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:174 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:176 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:178 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:237 msgid "float" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:98 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:99 msgid "POINT_SIZE" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:98 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:99 msgid "Size of Point primitive." msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:100 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:101 msgid "gl_PointCoord" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:100 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:167 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:234 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:238 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:101 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:168 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:235 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:239 msgid "vec2" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:100 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:101 msgid "POINT_COORD" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:100 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:101 msgid "Position on point when drawing Point primitives." msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:102 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:103 msgid "gl_FrontFacing" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:102 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:103 msgid "bool" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:102 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:103 msgid "FRONT_FACING" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:102 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:103 msgid "True if front face of primitive." msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:108 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:189 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:242 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:109 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:190 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:243 msgid "Coordinates" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:110 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:111 msgid "``gl_FragCoord`` in GLSL and ``FRAGCOORD`` in the Godot shading language use the same coordinate system. If using UV in Godot, the y-coordinate will be flipped upside down." msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:115 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:116 msgid "Precision" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:117 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:118 msgid "In GLSL, you can define the precision of a given type (float or int) at the top of the shader with the ``precision`` keyword. In Godot, you can set the precision of individual variables as you need by placing precision qualifiers ``lowp``, ``mediump``, and ``highp`` before the type when defining the variable. For more information, see the :ref:`Shading Language ` reference." msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:125 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:126 msgid "Shadertoy" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:127 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:128 msgid "`Shadertoy `_ is a website that makes it easy to write fragment shaders and create `pure magic `_." msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:131 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:132 msgid "Shadertoy does not give the user full control over the shader. It handles all the input and uniforms and only lets the user write the fragment shader." msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:135 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:208 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:136 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:209 msgid "Types" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:137 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:138 msgid "Shadertoy uses the webgl spec, so it runs a slightly different version of GLSL. However, it still has the regular types, including constants and macros." msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:141 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:142 msgid "mainImage" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:143 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:144 msgid "The main point of entry to a Shadertoy shader is the ``mainImage`` function. ``mainImage`` has two parameters, ``fragColor`` and ``fragCoord``, which correspond to ``COLOR`` and ``FRAGCOORD`` in Godot, respectively. These parameters are handled automatically in Godot, so you do not need to include them as parameters yourself. Anything in the ``mainImage`` function should be copied into the ``fragment`` function when porting to Godot." msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:153 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:154 msgid "In order to make writing fragment shaders straightforward and easy, Shadertoy handles passing a lot of helpful information from the main program into the fragment shader for you. A few of these have no equivalents in Godot because Godot has chosen not to make them available by default. This is okay because Godot gives you the ability to make your own uniforms. For variables whose equivalents are listed as \"Provide with Uniform\", users are responsible for creating that uniform themselves. The description gives the reader a hint about what they can pass in as a substitute." msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:165 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:166 msgid "fragColor" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:167 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:168 msgid "fragCoord" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:167 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:168 msgid "FRAGCOORD.xy" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:169 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:170 msgid "iResolution" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:169 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:183 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:170 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:184 msgid "vec3" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:169 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:234 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:170 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:235 msgid "1.0 / SCREEN_PIXEL_SIZE" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:169 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:234 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:170 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:235 msgid "Can also pass in manually." msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:171 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:172 msgid "iTime" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:171 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:236 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:172 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:237 msgid "TIME" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:171 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:236 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:172 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:237 msgid "Time since shader started." msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:173 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:174 msgid "iTimeDelta" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:173 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:175 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:177 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:179 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:181 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:238 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:174 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:176 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:178 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:180 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:182 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:239 msgid "Provide with Uniform" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:173 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:174 msgid "Time to render previous frame." msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:175 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:176 msgid "iFrame" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:175 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:176 msgid "Frame number." msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:177 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:178 msgid "iChannelTime[4]" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:177 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:178 msgid "Time since that particular texture started." msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:179 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:180 msgid "iMouse" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:179 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:238 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:180 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:239 msgid "Mouse position in pixel coordinates." msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:181 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:182 msgid "iDate" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:181 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:182 msgid "Current date, expressed in seconds." msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:183 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:184 msgid "iChannelResolution[4]" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:183 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:184 msgid "1.0 / TEXTURE_PIXEL_SIZE" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:183 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:184 msgid "Resolution of particular texture." msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:185 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:186 msgid "iChanneli" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:185 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:186 msgid "Sampler2D" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:185 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:186 msgid "TEXTURE" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:185 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:186 msgid "Godot provides only one built-in; user can make more." msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:191 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:192 msgid "``fragCoord`` behaves the same as ``gl_FragCoord`` in :ref:`GLSL ` and ``FRAGCOORD`` in Godot." msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:196 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:197 msgid "The Book of Shaders" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:198 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:199 msgid "Similar to Shadertoy, `The Book of Shaders `_ provides access to a fragment shader in the web browser, with which the user may interact. The user is restricted to writing fragment shader code with a set list of uniforms passed in and with no ability to add additional uniforms." msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:203 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:204 msgid "For further help on porting shaders to various frameworks generally, The Book of Shaders provides a `page `_ on running shaders in various frameworks." msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:210 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:211 msgid "The Book of Shaders uses the webgl spec, so it runs a slightly different version of GLSL. However, it still has the regular types, including constants and macros." msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:217 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:218 msgid "The entry point for a Book of Shaders fragment shader is ``main``, just like in GLSL. Everything written in a Book of Shaders ``main`` function should be copied into Godot's ``fragment`` function." msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:224 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:225 msgid "The Book of Shaders sticks closer to plain GLSL than Shadertoy does. It also implements fewer uniforms than Shadertoy." msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:234 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:235 msgid "u_resolution" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:236 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:237 msgid "u_time" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:238 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:239 msgid "u_mouse" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:244 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:245 msgid "The Book of Shaders uses the same coordinate system as :ref:`GLSL `." msgstr "" diff --git a/sphinx/templates/tutorials/shaders/custom_postprocessing.pot b/sphinx/templates/tutorials/shaders/custom_postprocessing.pot index 5ba693a018..54c0a856d1 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 9eed60cfc1..3d937fffc8 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 56d997b5bb..67798acfb5 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 1c828a5b53..99e6e4d5ef 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 049b2c271b..bdad903a7a 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 c8ea348a54..54a0585d9b 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 802053673b..6a61baabaa 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -40,8 +40,8 @@ msgstr "" #: ../../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:159 -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:233 -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:288 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:232 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:286 msgid "Description" msgstr "" @@ -144,7 +144,7 @@ msgstr "" #: ../../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:159 -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:233 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:232 msgid "Built-in" msgstr "" @@ -253,28 +253,28 @@ msgid "Instance custom data." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:118 -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:175 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:174 msgid "in bool **AT_LIGHT_PASS**" msgstr "" #: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:118 -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:175 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:174 msgid "Always ``false``." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:120 -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:171 -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:247 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:170 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:245 msgid "in vec2 **TEXTURE_PIXEL_SIZE**" msgstr "" #: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:120 -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:171 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:170 msgid "Normalized pixel size of default 2D texture. For a Sprite2D with a texture of size 64x32px, **TEXTURE_PIXEL_SIZE** = ``vec2(1/64, 1/32)``" msgstr "" #: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:124 -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:197 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:196 msgid "inout vec2 **VERTEX**" msgstr "" @@ -299,7 +299,7 @@ msgid "Normalized texture coordinates. Range from 0 to 1." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:131 -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:204 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:203 msgid "inout vec4 **COLOR**" msgstr "" @@ -328,306 +328,306 @@ msgid "Similarly, if a normal map is used in the :ref:`CanvasTexture ` documentation for more information." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:288 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:286 msgid "Function" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:290 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:288 msgid "float **texture_sdf** (vec2 sdf_pos)" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:290 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:288 msgid "Performs an SDF texture lookup." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:292 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:290 msgid "vec2 **texture_sdf_normal** (vec2 sdf_pos)" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:292 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:290 msgid "Calculates a normal from the SDF texture." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:294 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:292 msgid "vec2 **sdf_to_screen_uv** (vec2 sdf_pos)" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:294 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:292 msgid "Converts a SDF to screen UV." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:296 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:294 msgid "vec2 **screen_uv_to_sdf** (vec2 uv)" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:296 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:294 msgid "Converts screen UV to a SDF." msgstr "" diff --git a/sphinx/templates/tutorials/shaders/shader_reference/fog_shader.pot b/sphinx/templates/tutorials/shaders/shader_reference/fog_shader.pot index 25a1e55fb4..4f6593707e 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 66ef619ef6..080b45e991 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 8698622d28..7af655adbc 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 649557494c..fb5a417ecb 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 c3e307d417..775722e352 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -1194,7 +1194,7 @@ msgid "Setting a per-instance uniform's value in the GeometryInstance3D section msgstr "" #: ../../docs/tutorials/shaders/shader_reference/shading_language.rst:1055 -msgid "Per-instance uniform values can also be set at run-time using `set_instance_shader_parameter` method on a node that inherits from :ref:`class_GeometryInstance3D`:" +msgid "Per-instance uniform values can also be set at run-time using :ref:`set_instance_shader_parameter ` method on a node that inherits from :ref:`class_GeometryInstance3D`:" msgstr "" #: ../../docs/tutorials/shaders/shader_reference/shading_language.rst:1063 @@ -1896,7 +1896,7 @@ msgid "Get the number of accessible mipmap levels of a texture." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/shading_language.rst:1272 -msgid "If the texture is unassigned to a sampler, ``0`` is returned." +msgid "If the texture is unassigned to a sampler, ``1`` is returned (Godot always internally assigns a texture even to an empty sampler)." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/shading_language.rst:1278 diff --git a/sphinx/templates/tutorials/shaders/shader_reference/sky_shader.pot b/sphinx/templates/tutorials/shaders/shader_reference/sky_shader.pot index 39648ef85d..7875b0bca9 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 5d9b5f1c80..48d746176a 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -36,7 +36,7 @@ msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:100 #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:153 #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:247 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:413 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:411 msgid "Description" msgstr "" @@ -320,7 +320,7 @@ msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:100 #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:153 #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:247 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:413 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:411 msgid "Built-in" msgstr "" @@ -402,54 +402,54 @@ msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:155 #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:249 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:415 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:413 msgid "in vec2 **VIEWPORT_SIZE**" msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:155 #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:249 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:415 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:413 msgid "Size of viewport (in pixels)." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:157 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:273 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:426 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:274 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:424 msgid "in mat4 **VIEW_MATRIX**" msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:157 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:273 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:426 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:274 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:424 msgid "World space to view space transform." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:159 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:275 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:424 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:276 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:422 msgid "in mat4 **INV_VIEW_MATRIX**" msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:159 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:275 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:424 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:276 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:422 msgid "View space to world space transform." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:161 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:279 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:430 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:280 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:428 msgid "in mat4 **INV_PROJECTION_MATRIX**" msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:161 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:279 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:430 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:280 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:428 msgid "Clip space to view space transform." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:163 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:281 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:282 msgid "in vec3 **NODE_POSITION_WORLD**" msgstr "" @@ -458,7 +458,7 @@ msgid "Node world space position." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:165 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:283 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:284 msgid "in vec3 **NODE_POSITION_VIEW**" msgstr "" @@ -467,7 +467,7 @@ msgid "Node view space position." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:167 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:285 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:286 msgid "in vec3 **CAMERA_POSITION_WORLD**" msgstr "" @@ -476,7 +476,7 @@ msgid "Camera world space position." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:169 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:287 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:288 msgid "in vec3 **CAMERA_DIRECTION_WORLD**" msgstr "" @@ -485,14 +485,14 @@ msgid "Camera world space direction." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:171 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:266 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:463 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:267 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:461 msgid "in bool **OUTPUT_IS_SRGB**" msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:171 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:266 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:463 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:267 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:461 msgid "``true`` when output is in sRGB color space (this is ``true`` in the Compatibility renderer, ``false`` in Forward+ and Forward Mobile)." msgstr "" @@ -513,42 +513,42 @@ msgid "Instance custom data (for particles, mostly)." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:179 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:291 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:292 msgid "in int **VIEW_INDEX**" msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:179 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:291 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:292 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:183 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:295 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:296 msgid "in int **VIEW_MONO_LEFT**" msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:183 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:295 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:296 msgid "Constant for Mono or left eye, always ``0``." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:185 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:297 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:298 msgid "in int **VIEW_RIGHT**" msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:185 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:297 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:298 msgid "Constant for right eye, always ``1``." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:187 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:299 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:300 msgid "in vec3 **EYE_OFFSET**" msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:187 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:299 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:300 msgid "Position offset for the eye being rendered. Only applicable for multiview rendering." msgstr "" @@ -569,7 +569,7 @@ msgid "The index of the current vertex in the vertex buffer." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:194 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:311 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:312 msgid "inout vec3 **NORMAL**" msgstr "" @@ -578,7 +578,7 @@ msgid "Normal in local coordinates." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:196 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:313 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:314 msgid "inout vec3 **TANGENT**" msgstr "" @@ -587,7 +587,7 @@ msgid "Tangent in local coordinates." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:198 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:315 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:316 msgid "inout vec3 **BINORMAL**" msgstr "" @@ -628,7 +628,7 @@ msgid "Color from vertices." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:208 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:337 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:338 msgid "out float **ROUGHNESS**" msgstr "" @@ -661,8 +661,8 @@ msgid "inout mat4 **MODEL_MATRIX**" msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:216 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:269 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:422 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:270 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:420 msgid "Model space to world space transform." msgstr "" @@ -675,8 +675,8 @@ msgid "inout mat4 **PROJECTION_MATRIX**" msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:220 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:277 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:428 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:278 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:426 msgid "View space to clip space transform." msgstr "" @@ -717,12 +717,12 @@ msgid "The default use of a Godot fragment processor function is to set up the m msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:251 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:417 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:415 msgid "in vec4 **FRAGCOORD**" msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:251 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:417 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:415 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 "" @@ -735,456 +735,452 @@ msgid "``true`` if current face if front face." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:256 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:438 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:436 msgid "in vec3 **VIEW**" msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:256 -msgid "Normalized vector from fragment position to camera (in view space)." +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:258 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:434 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:259 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:432 msgid "in vec2 **UV**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:258 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:434 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:259 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:432 msgid "UV that comes from vertex function." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:260 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:436 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:261 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:434 msgid "in vec2 **UV2**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:260 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:436 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:261 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:434 msgid "UV2 that comes from vertex function." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:262 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:263 msgid "in vec4 **COLOR**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:262 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:263 msgid "COLOR that comes from vertex function." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:264 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:265 msgid "in vec2 **POINT_COORD**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:264 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:265 msgid "Point Coordinate for drawing points with POINT_SIZE." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:269 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:422 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:270 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:420 msgid "in mat4 **MODEL_MATRIX**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:271 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:272 msgid "in mat3 **MODEL_NORMAL_MATRIX**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:277 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:428 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:278 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:426 msgid "in mat4 **PROJECTION_MATRIX**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:281 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:282 msgid "Node position, in world space." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:283 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:284 msgid "Node position, in view space." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:285 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:286 msgid "Camera position, in world space." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:287 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:288 msgid "Camera direction, in world space." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:289 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:290 msgid "in vec3 **VERTEX**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:289 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:290 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:302 msgid "sampler2D **SCREEN_TEXTURE**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:301 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:302 msgid "Removed in Godot 4. Use a ``sampler2D`` with ``hint_screen_texture`` instead." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:303 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:304 msgid "in vec2 **SCREEN_UV**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:303 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:304 msgid "Screen UV coordinate for current pixel." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:305 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:306 msgid "sampler2D **DEPTH_TEXTURE**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:305 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:306 msgid "Removed in Godot 4. Use a ``sampler2D`` with ``hint_depth_texture`` instead." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:307 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:308 msgid "out float **DEPTH**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:307 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:308 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:311 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:312 msgid "Normal that comes from vertex function (default, in view space)." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:313 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:314 msgid "Tangent that comes from vertex function." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:315 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:316 msgid "Binormal that comes from vertex function." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:317 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:318 msgid "out vec3 **NORMAL_MAP**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:317 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:318 msgid "Set normal here if reading normal from a texture instead of NORMAL." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:319 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:320 msgid "out float **NORMAL_MAP_DEPTH**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:319 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:320 msgid "Depth from variable above. Defaults to 1.0." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:321 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:322 msgid "out vec3 **ALBEDO**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:321 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:322 msgid "Albedo (default white)." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:323 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:471 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:324 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:469 msgid "out float **ALPHA**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:323 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:471 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:324 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:469 msgid "Alpha (0..1); if written to, the material will go to the transparent pipeline." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:325 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:326 msgid "out float **ALPHA_SCISSOR_THRESHOLD**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:325 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:326 msgid "If written to, values below a certain amount of alpha are discarded." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:327 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:328 msgid "out float **ALPHA_HASH_SCALE**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:329 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:330 msgid "out float **ALPHA_ANTIALIASING_EDGE**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:331 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:332 msgid "out vec2 **ALPHA_TEXTURE_COORDINATE**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:333 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:334 msgid "out float **METALLIC**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:333 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:334 msgid "Metallic (0..1)." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:335 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:336 msgid "out float **SPECULAR**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:335 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:336 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:337 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:338 msgid "Roughness (0..1)." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:339 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:340 msgid "out float **RIM**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:339 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:340 msgid "Rim (0..1). If used, Godot calculates rim lighting." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:341 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:342 msgid "out float **RIM_TINT**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:341 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:342 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:343 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:344 msgid "out float **CLEARCOAT**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:343 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:344 msgid "Small added specular blob. If used, Godot calculates Clearcoat." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:345 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:346 msgid "out float **CLEARCOAT_GLOSS**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:345 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:346 msgid "Gloss of Clearcoat. If used, Godot calculates Clearcoat." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:347 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:348 msgid "out float **ANISOTROPY**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:347 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:348 msgid "For distorting the specular blob according to tangent space." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:349 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:350 msgid "out vec2 **ANISOTROPY_FLOW**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:349 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:350 msgid "Distortion direction, use with flowmaps." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:351 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:352 msgid "out float **SSS_STRENGTH**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:351 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:352 msgid "Strength of Subsurface Scattering. If used, Subsurface Scattering will be applied to object." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:353 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:354 msgid "out vec4 **SSS_TRANSMITTANCE_COLOR**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:355 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:356 msgid "out float **SSS_TRANSMITTANCE_DEPTH**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:357 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:358 msgid "out float **SSS_TRANSMITTANCE_BOOST**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:359 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:360 msgid "inout vec3 **BACKLIGHT**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:361 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:362 msgid "out float **AO**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:361 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:362 msgid "Strength of Ambient Occlusion. For use with pre-baked AO." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:363 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:364 msgid "out float **AO_LIGHT_AFFECT**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:363 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:364 msgid "How much AO affects lights (0..1; default 0)." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:365 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:366 msgid "out vec3 **EMISSION**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:365 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:366 msgid "Emission color (can go over 1,1,1 for HDR)." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:367 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:368 msgid "out vec4 **FOG**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:367 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:368 msgid "If written to, blends final pixel color with FOG.rgb based on FOG.a." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:369 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:370 msgid "out vec4 **RADIANCE**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:369 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:370 msgid "If written to, blends environment map radiance with RADIANCE.rgb based on RADIANCE.a." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:371 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:372 msgid "out vec4 **IRRADIANCE**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:371 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:372 msgid "If written to, blends environment map IRRADIANCE with IRRADIANCE.rgb based on IRRADIANCE.a." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:376 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:477 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:377 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:475 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:382 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:383 msgid "Light built-ins" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:384 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:385 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:389 -msgid "To write a light function, assign something to ``DIFFUSE_LIGHT`` or ``SPECULAR_LIGHT``. Assigning nothing means no light is processed." -msgstr "" - -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:392 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:390 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:395 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:393 msgid "Below is an example of a custom light function using a Lambertian lighting model:" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:403 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:401 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:407 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:405 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:432 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:430 msgid "in vec3 **NORMAL**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:432 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:430 msgid "Normal vector, in view space." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:438 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:436 msgid "View vector, in view space." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:440 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:438 msgid "in vec3 **LIGHT**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:440 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:438 msgid "Light Vector, in view space." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:442 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:440 msgid "in vec3 **LIGHT_COLOR**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:442 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:440 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:447 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:445 msgid "in float **SPECULAR_AMOUNT**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:447 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:445 msgid "2.0 * ``light_specular`` property for ``OmniLight3D`` and ``SpotLight3D``. 1.0 for ``DirectionalLight3D``." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:451 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:449 msgid "in bool **LIGHT_IS_DIRECTIONAL**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:451 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:449 msgid "``true`` if this pass is a ``DirectionalLight3D``." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:453 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:451 msgid "in float **ATTENUATION**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:453 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:451 msgid "Attenuation based on distance or shadow." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:455 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:453 msgid "in vec3 **ALBEDO**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:455 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:453 msgid "Base albedo." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:457 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:455 msgid "in vec3 **BACKLIGHT**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:459 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:457 msgid "in float **METALLIC**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:459 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:457 msgid "Metallic." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:461 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:459 msgid "in float **ROUGHNESS**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:461 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:459 msgid "Roughness." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:467 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:465 msgid "out vec3 **DIFFUSE_LIGHT**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:467 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:465 msgid "Diffuse light result." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:469 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:467 msgid "out vec3 **SPECULAR_LIGHT**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:469 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:467 msgid "Specular light result." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:482 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:480 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 31c523aaef..dd267ecaed 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 f64db512b0..2934d6cde6 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 62ef62a2e2..db1806db58 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 00fc0ef6e4..9e6c3bb55d 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 095171a027..eb504799e9 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\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 "To begin, create a Sprite2D node. :ref:`You can use any CanvasItem \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 2bf6d05b3d..4f48932c1b 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 9ed4c3c298..06b7557a76 100644 --- a/sphinx/templates/tutorials/troubleshooting.pot +++ b/sphinx/templates/tutorials/troubleshooting.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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/bbcode_in_richtextlabel.pot b/sphinx/templates/tutorials/ui/bbcode_in_richtextlabel.pot index 939d2e92e1..cdd3ad4f64 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -472,7 +472,7 @@ msgid "Overrides the language for ``{text}`` that is set by the **BiDi > Languag msgstr "" #: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:363 -msgid "``[lang={code}]{text}[/color]``" +msgid "``[lang={code}]{text}[/lang]``" msgstr "" #: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:0 diff --git a/sphinx/templates/tutorials/ui/control_node_gallery.pot b/sphinx/templates/tutorials/ui/control_node_gallery.pot index fb75c0bb3d..f4bda4e3ca 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 ecee14f6cf..96863a6e00 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 b9d55e41f8..0c542bb64b 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 09a8770a05..ef3b6e05ca 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 13f9fdd739..c055dd5eb9 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 0bcb1f97f5..3ec354c03d 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 e57f8485d7..264d582bd2 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 a03aa0de18..57c0f2ca8e 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 f77e3b4d88..ba255f4b8c 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 53910665e7..191fe6ec41 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 afcf872662..66b2f2e687 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 33d8e39e3f..8ece22fbfe 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -81,98 +81,94 @@ msgid "Installing the vendors plugin" msgstr "" #: ../../docs/tutorials/xr/deploying_to_android.rst:40 -msgid "The Android plugin structure has been restructured in Godot 4.2, and the loader plugin was renamed to vendors plugin as it now includes more than just loaders. If you've previously installed the loader plugin you need to delete it from the `android/plugins` folder. The loader plugin available in the asset library is still the old one, it will be updated to the new vendor plugin after 4.2 is released." +msgid "The Android plugin structure has been restructured in Godot 4.2, and the loader plugin was renamed to vendors plugin as it now includes more than just loaders. If you've previously installed the loader plugin you need to delete it from the `android/plugins` folder." msgstr "" -#: ../../docs/tutorials/xr/deploying_to_android.rst:44 -msgid "The vendors plugin can be downloaded from the asset library, search for OpenXR and install the plugin:" +#: ../../docs/tutorials/xr/deploying_to_android.rst:43 +msgid "The vendors plugin can be downloaded from the asset library, search for \"OpenXR vendors\" and install the plugin:" msgstr "" -#: ../../docs/tutorials/xr/deploying_to_android.rst:48 +#: ../../docs/tutorials/xr/deploying_to_android.rst:47 msgid "You will find the installed files inside the **addons** folder." msgstr "" -#: ../../docs/tutorials/xr/deploying_to_android.rst:50 +#: ../../docs/tutorials/xr/deploying_to_android.rst:49 msgid "Alternatively you can manually install the vendors plugin by downloading the v2.x version of the plugin `from the release page here `__." msgstr "" -#: ../../docs/tutorials/xr/deploying_to_android.rst:52 -msgid "You will need to copy the `assets/addons/godotopenxrvendors` folder from the zip file into your projects `assets/addons` folder." +#: ../../docs/tutorials/xr/deploying_to_android.rst:51 +msgid "You will need to copy the `assets/addons/godotopenxrvendors` folder from the zip file into your projects `addons` folder." msgstr "" -#: ../../docs/tutorials/xr/deploying_to_android.rst:54 +#: ../../docs/tutorials/xr/deploying_to_android.rst:53 msgid "You can find the main repository of the vendors plugin `here `__." msgstr "" -#: ../../docs/tutorials/xr/deploying_to_android.rst:57 +#: ../../docs/tutorials/xr/deploying_to_android.rst:56 msgid "Enabling the vendors plugin" msgstr "" -#: ../../docs/tutorials/xr/deploying_to_android.rst:59 +#: ../../docs/tutorials/xr/deploying_to_android.rst:58 msgid "The vendors plugin needs to be enabled before the export settings become accessible. Open **Project** and select **Project Settings...**. Go to the **Plugins** tab. Enable the **GodotOpenXRVendors** plugin." msgstr "" -#: ../../docs/tutorials/xr/deploying_to_android.rst:67 +#: ../../docs/tutorials/xr/deploying_to_android.rst:66 msgid "Creating the export presets" msgstr "" -#: ../../docs/tutorials/xr/deploying_to_android.rst:68 +#: ../../docs/tutorials/xr/deploying_to_android.rst:67 msgid "You will need to setup a separate export preset for each device, as each device will need its own loader included." msgstr "" -#: ../../docs/tutorials/xr/deploying_to_android.rst:70 +#: ../../docs/tutorials/xr/deploying_to_android.rst:69 msgid "Open **Project** and select **Export..**. Click on **Add..** and select **Android**. Next change the name of the export preset for the device you're setting this up for, say **Meta Quest**. And enable **Use Gradle Build**. If you want to use one-click deploy (described below), ensure that **Runnable** is enabled." msgstr "" -#: ../../docs/tutorials/xr/deploying_to_android.rst:76 +#: ../../docs/tutorials/xr/deploying_to_android.rst:75 msgid "If the loader 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:80 +#: ../../docs/tutorials/xr/deploying_to_android.rst:79 msgid "Also change the **XR Mode** to **OpenXR**." msgstr "" -#: ../../docs/tutorials/xr/deploying_to_android.rst:82 +#: ../../docs/tutorials/xr/deploying_to_android.rst:81 msgid "Scroll to the bottom of the list and you'll find additional XR feature sections, currently only **Meta XR Features** is available. The hand tracking and passthrough settings here currently only work for the Meta Quest and you will need to select the appropriate settings if you wish to use these features." msgstr "" -#: ../../docs/tutorials/xr/deploying_to_android.rst:87 +#: ../../docs/tutorials/xr/deploying_to_android.rst:86 msgid "Now you can repeat the same process for the other devices." msgstr "" -#: ../../docs/tutorials/xr/deploying_to_android.rst:90 +#: ../../docs/tutorials/xr/deploying_to_android.rst:89 msgid "There are separate loaders for the Meta Quest, Pico and Lynx R1 headsets." msgstr "" -#: ../../docs/tutorials/xr/deploying_to_android.rst:92 +#: ../../docs/tutorials/xr/deploying_to_android.rst:91 msgid "The fourth option is the official Khronos loader, in due time all headsets should work with this loader. At the moment this loader has been tested with the Magic Leap 2 and standalone HTC headsets." msgstr "" -#: ../../docs/tutorials/xr/deploying_to_android.rst:96 -msgid "While the Mobile Vulkan renderer has many optimizations targeted at mobile devices, we're still working out the kinks. It is highly advisable to use the OpenGL renderer for the time being when targeting Android based XR devices." +#: ../../docs/tutorials/xr/deploying_to_android.rst:95 +msgid "While the Mobile Vulkan renderer has many optimizations targeted at mobile devices, we're still working out the kinks. It is highly advisable to use the compatibility renderer (OpenGL) for the time being when targeting Android based XR devices." msgstr "" #: ../../docs/tutorials/xr/deploying_to_android.rst:99 -msgid "Note that we are awaiting driver updates on various devices before Vulkan support will work on these." -msgstr "" - -#: ../../docs/tutorials/xr/deploying_to_android.rst:102 msgid "Running on your device from the Godot editor" msgstr "" -#: ../../docs/tutorials/xr/deploying_to_android.rst:103 +#: ../../docs/tutorials/xr/deploying_to_android.rst:100 msgid "If you've setup your export settings as described above, and your headset is connected to your computer and correctly recognized, you can launch it directly from the Godot editor using :ref:`doc_one-click_deploy`:" msgstr "" -#: ../../docs/tutorials/xr/deploying_to_android.rst:107 +#: ../../docs/tutorials/xr/deploying_to_android.rst:104 msgid "For some devices on some platforms, you may need to perform some extra steps in order for your device to be recognized correctly, so be sure to check the developer documentation from your headset vendor." msgstr "" -#: ../../docs/tutorials/xr/deploying_to_android.rst:109 +#: ../../docs/tutorials/xr/deploying_to_android.rst:106 msgid "For example, with the Meta Quest 2, you need to enable developer mode on the headset, and if you're on Windows, you'll need to install special ADB drivers. See the `official Meta Quest developer documentation `_ for more details." msgstr "" -#: ../../docs/tutorials/xr/deploying_to_android.rst:111 +#: ../../docs/tutorials/xr/deploying_to_android.rst:108 msgid "If you're having any issues with one-click deploy, check the :ref:`Troubleshooting section `." msgstr "" diff --git a/sphinx/templates/tutorials/xr/index.pot b/sphinx/templates/tutorials/xr/index.pot index d5d64fff42..0dcd3b510a 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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/introducing_xr_tools.pot b/sphinx/templates/tutorials/xr/introducing_xr_tools.pot index 2957f7fd03..461c21c780 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 8ec89ad749..cece07d344 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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_passthrough.pot b/sphinx/templates/tutorials/xr/openxr_passthrough.pot index e859aa1a1a..d7b0b0574d 100644 --- a/sphinx/templates/tutorials/xr/openxr_passthrough.pot +++ b/sphinx/templates/tutorials/xr/openxr_passthrough.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 752be827d4..6986222c06 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -77,82 +77,82 @@ msgid "As Godot 4 is still in development, many post process effects have not ye msgstr "" #: ../../docs/tutorials/xr/setting_up_xr.rst:42 -msgid "Godot also has the choice between a desktop and mobile Vulkan renderer. There are a number of optimisations added to the mobile renderer that benefit XR applications. You may wish to enable this even on desktop." +msgid "Godot 4 has 3 renderer options, Compatibility, Mobile, and Forward+. In the future XR desktop projects should use Forward+, and projects for stand-alone headsets should use Mobile. However Compatibility is the recommended renderer for now due to it having the best XR performance." msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:45 +#: ../../docs/tutorials/xr/setting_up_xr.rst:46 msgid "OpenXR" msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:47 +#: ../../docs/tutorials/xr/setting_up_xr.rst:48 msgid "OpenXR is a new industry standard that allows different XR platforms to present themselves through a standardised API to XR applications. This standard is an open standard maintained by the Khronos Group and thus aligns very well with Godot's interests." msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:49 +#: ../../docs/tutorials/xr/setting_up_xr.rst:50 msgid "The Vulkan implementation of OpenXR is closely integrated with Vulkan, taking over part of the Vulkan system. This requires tight integration of certain core graphics features in the Vulkan renderer which are needed before the XR system is setup. This was one of the main deciding factors to include OpenXR as a core interface." msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:51 +#: ../../docs/tutorials/xr/setting_up_xr.rst:52 msgid "This also means OpenXR needs to be enabled when Godot starts in order to set things up correctly. The required setting can be found in your project settings:" msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:55 +#: ../../docs/tutorials/xr/setting_up_xr.rst:56 msgid "As setup is brought forward with OpenXR you can find several other settings related to OpenXR here as well. These can't be changed while your application is running. The default settings will get us started and we will go into detail in another section of the documentation." msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:59 +#: ../../docs/tutorials/xr/setting_up_xr.rst:60 msgid "Setting up the XR scene" msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:61 +#: ../../docs/tutorials/xr/setting_up_xr.rst:62 msgid "Every XR application needs at least an :ref:`XROrigin3D ` and an :ref:`XRCamera3D ` node. Most will have two :ref:`XRController3D `, one for the left hand and one for the right. Keep in mind that the camera and controller nodes should be children of the origin node. Add these nodes to a new scene and rename the controller nodes to ``LeftHand`` and ``RightHand``, your scene should look something like this:" msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:65 +#: ../../docs/tutorials/xr/setting_up_xr.rst:66 msgid "Next you need to configure the controllers, select the left hand and set it up as follows:" msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:69 +#: ../../docs/tutorials/xr/setting_up_xr.rst:70 msgid "And the right hand:" msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:73 +#: ../../docs/tutorials/xr/setting_up_xr.rst:74 msgid "Right now all these nodes are on the floor, they will be positioned correctly in runtime. To help during development, it can be helpful to move the camera upwards so its ``y`` is set to ``1.7``, and move the controller nodes to ``-0.5, 1.0, -0.5`` and ``0.5, 1.0, -0.5`` for respectively the left and right hand." msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:75 +#: ../../docs/tutorials/xr/setting_up_xr.rst:76 msgid "Next we need to add a script to our root node. Add the following code into this script:" msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:125 +#: ../../docs/tutorials/xr/setting_up_xr.rst:126 msgid "This code fragment assumes we are using OpenXR, if you wish to use any of the other interfaces you can change the ``find_interface`` call." msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:129 +#: ../../docs/tutorials/xr/setting_up_xr.rst:130 msgid "As you can see in the code snippet above, we turn off v-sync. When using OpenXR you are outputting the rendering results to an HMD that often requires us to run at 90Hz or higher. If your monitor is a 60hz monitor and v-sync is turned on, you will limit the output to 60 frames per second." msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:133 +#: ../../docs/tutorials/xr/setting_up_xr.rst:134 msgid "XR interfaces like OpenXR perform their own sync." msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:135 +#: ../../docs/tutorials/xr/setting_up_xr.rst:136 msgid "Also note that by default the physics engine runs at 60Hz as well and this can result in choppy physics. You should set ``Engine.physics_ticks_per_second`` to a higher value." msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:138 +#: ../../docs/tutorials/xr/setting_up_xr.rst:139 msgid "If you run your project at this point in time, everything will work but you will be in a dark world. So to finish off our starting point add a :ref:`DirectionalLight3D ` and a :ref:`WorldEnvironment ` node to your scene. You may wish to also add a mesh instance as a child to each controller node just to temporarily visualise them. Make sure you configure a sky in your world environment." msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:142 +#: ../../docs/tutorials/xr/setting_up_xr.rst:143 msgid "Now run your project, you should be floating somewhere in space and be able to look around." msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:146 +#: ../../docs/tutorials/xr/setting_up_xr.rst:147 msgid "While traditional level switching can definitely be used with XR applications, where this scene setup is repeated in each level, most find it easier to set this up once and loading levels as a subscene. If you do switch scenes and replicate the XR setup in each one, do make sure you do not run ``initialize`` multiple times. The effect can be unpredictable depending on the XR interface used." msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:148 +#: ../../docs/tutorials/xr/setting_up_xr.rst:149 msgid "For the rest of this basic tutorial series we will create a game that uses a single scene." msgstr "" diff --git a/sphinx/templates/tutorials/xr/xr_action_map.pot b/sphinx/templates/tutorials/xr/xr_action_map.pot index c16adcc241..86e9ccc23b 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-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 7424ad4f50..53bdc6d515 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 4.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/weblate/docs.pot b/weblate/docs.pot index 4a809fbc18..a2f6378526 100644 --- a/weblate/docs.pot +++ b/weblate/docs.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine 4.2\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot-docs-l10n\n" -"POT-Creation-Date: 2023-11-29 23:14+0100\n" +"POT-Creation-Date: 2024-02-27 19:04+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -16,32 +16,57 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: ../../docs/index.rst:75 ../../docs/about/docs_changelog.rst:151 +#: ../../docs/_templates/versions.html:26 +#: ../../docs/tutorials/performance/cpu_optimization.rst:149 +msgid "Languages" +msgstr "" + +#: ../../docs/_templates/versions.html:32 +msgid "Versions" +msgstr "" + +#: ../../docs/_templates/versions.html:39 +msgid "On Read the Docs" +msgstr "" + +#: ../../docs/_templates/versions.html:41 +msgid "Project Home" +msgstr "" + +#: ../../docs/_templates/versions.html:44 +msgid "Builds" +msgstr "" + +#: ../../docs/_templates/versions.html:47 +msgid "Downloads" +msgstr "" + +#: ../../docs/index.rst:75 ../../docs/about/docs_changelog.rst:179 #: ../../docs/tutorials/inputs/mouse_and_input_coordinates.rst:7 #: ../../docs/tutorials/scripting/gdscript/gdscript_advanced.rst:7 #: ../../docs/contributing/development/core_and_modules/variant_class.rst:7 msgid "About" msgstr "" -#: ../../docs/index.rst:88 +#: ../../docs/index.rst:89 #: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:13 #: ../../docs/contributing/documentation/contributing_to_the_documentation.rst:15 msgid "Getting started" msgstr "" -#: ../../docs/index.rst:103 +#: ../../docs/index.rst:104 msgid "Manual" msgstr "" -#: ../../docs/index.rst:137 +#: ../../docs/index.rst:138 msgid "Contributing" msgstr "" -#: ../../docs/index.rst:149 ../../docs/about/docs_changelog.rst:163 +#: ../../docs/index.rst:150 ../../docs/about/docs_changelog.rst:191 msgid "Community" msgstr "" -#: ../../docs/index.rst:160 +#: ../../docs/index.rst:161 msgid "Class reference" msgstr "" @@ -170,31 +195,6 @@ msgid "" "an e-book reader application." msgstr "" -#: ../../docs/_templates/versions.html:26 -#: ../../docs/tutorials/performance/cpu_optimization.rst:149 -msgid "Languages" -msgstr "" - -#: ../../docs/_templates/versions.html:32 -msgid "Versions" -msgstr "" - -#: ../../docs/_templates/versions.html:39 -msgid "On Read the Docs" -msgstr "" - -#: ../../docs/_templates/versions.html:41 -msgid "Project Home" -msgstr "" - -#: ../../docs/_templates/versions.html:44 -msgid "Builds" -msgstr "" - -#: ../../docs/_templates/versions.html:47 -msgid "Downloads" -msgstr "" - #: ../../docs/about/introduction.rst:4 #: ../../docs/getting_started/introduction/index.rst:8 #: ../../docs/tutorials/best_practices/introduction_best_practices.rst:4 @@ -260,9 +260,9 @@ msgstr "" #: ../../docs/tutorials/shaders/your_first_shader/your_first_2d_shader.rst:7 #: ../../docs/tutorials/shaders/shader_materials.rst:7 #: ../../docs/tutorials/shaders/screen-reading_shaders.rst:7 -#: ../../docs/tutorials/shaders/advanced_postprocessing.rst:7 #: ../../docs/tutorials/shaders/using_viewport_as_texture.rst:7 #: ../../docs/tutorials/shaders/custom_postprocessing.rst:7 +#: ../../docs/tutorials/shaders/advanced_postprocessing.rst:7 #: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:7 #: ../../docs/contributing/development/best_practices_for_engine_contributors.rst:7 #: ../../docs/contributing/development/core_and_modules/2d_coordinate_systems.rst:7 @@ -305,8 +305,8 @@ msgstr "" msgid "" "In case you have trouble with one of the tutorials or your project, you can " "find help on the various :ref:`Community channels `, " -"especially the Godot `Discord`_ community and `Q&A `_." +"especially the Godot `Discord`_ community and `Forum `_." msgstr "" #: ../../docs/about/introduction.rst:34 @@ -429,6 +429,2664 @@ msgstr "" msgid "*Have fun reading and making games with Godot Engine!*" msgstr "" +#: ../../docs/about/list_of_features.rst:4 +msgid "List of features" +msgstr "" + +#: ../../docs/about/list_of_features.rst:6 +msgid "This page aims to list **all** features currently supported by Godot." +msgstr "" + +#: ../../docs/about/list_of_features.rst:10 +msgid "" +"This page lists features supported by the current stable version of Godot. " +"Some of these features may not be available in the `LTS release series (3.x) " +"`__." +msgstr "" + +#: ../../docs/about/list_of_features.rst:15 +msgid "Platforms" +msgstr "" + +#: ../../docs/about/list_of_features.rst:19 +msgid "" +"See :ref:`doc_system_requirements` for hardware and software version " +"requirements." +msgstr "" + +#: ../../docs/about/list_of_features.rst:21 +msgid "**Can run both the editor and exported projects:**" +msgstr "" + +#: ../../docs/about/list_of_features.rst:23 +msgid "Windows (x86, 64-bit and 32-bit)." +msgstr "" + +#: ../../docs/about/list_of_features.rst:24 +msgid "macOS (x86 and ARM, 64-bit only)." +msgstr "" + +#: ../../docs/about/list_of_features.rst:25 +msgid "Linux (x86 and ARM, 64-bit and 32-bit)." +msgstr "" + +#: ../../docs/about/list_of_features.rst:27 +msgid "" +"Binaries are statically linked and can run on any distribution if compiled " +"on an old enough base distribution." +msgstr "" + +#: ../../docs/about/list_of_features.rst:29 +msgid "" +"Official binaries are compiled using the `Godot Engine buildroot `__, allowing for binaries that work across " +"common Linux distributions (including LTS variants)." +msgstr "" + +#: ../../docs/about/list_of_features.rst:34 +msgid "Android (editor support is experimental)." +msgstr "" + +#: ../../docs/about/list_of_features.rst:35 +msgid "" +":ref:`Web browsers `. Experimental in 4.0, using " +"Godot 3.x is recommended instead when targeting HTML5." +msgstr "" + +#: ../../docs/about/list_of_features.rst:38 +msgid "**Runs exported projects:**" +msgstr "" + +#: ../../docs/about/list_of_features.rst:40 +msgid "iOS." +msgstr "" + +#: ../../docs/about/list_of_features.rst:41 +msgid ":ref:`Consoles `." +msgstr "" + +#: ../../docs/about/list_of_features.rst:43 +msgid "" +"Godot aims to be as platform-independent as possible and can be :ref:`ported " +"to new platforms ` with relative ease." +msgstr "" + +#: ../../docs/about/list_of_features.rst:48 +#: ../../docs/getting_started/step_by_step/scripting_languages.rst:131 +msgid "" +"Projects written in C# using Godot 4 currently cannot be exported to the web " +"platform. To use C# on that platform, consider Godot 3 instead. Android and " +"iOS platform support is available as of Godot 4.2, but is experimental and :" +"ref:`some limitations apply `." +msgstr "" + +#: ../../docs/about/list_of_features.rst:54 +#: ../../docs/about/docs_changelog.rst:153 +#: ../../docs/about/docs_changelog.rst:208 +#: ../../docs/tutorials/editor/external_editor.rst:38 +#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:189 +msgid "Editor" +msgstr "" + +#: ../../docs/about/list_of_features.rst:56 +#: ../../docs/about/list_of_features.rst:494 +msgid "**Features:**" +msgstr "" + +#: ../../docs/about/list_of_features.rst:58 +msgid "Scene tree editor." +msgstr "" + +#: ../../docs/about/list_of_features.rst:59 +msgid "Built-in script editor." +msgstr "" + +#: ../../docs/about/list_of_features.rst:60 +msgid "" +"Support for :ref:`external script editors ` such as " +"Visual Studio Code or Vim." +msgstr "" + +#: ../../docs/about/list_of_features.rst:62 +msgid "GDScript :ref:`debugger `." +msgstr "" + +#: ../../docs/about/list_of_features.rst:64 +msgid "Support for debugging in threads is available since 4.2." +msgstr "" + +#: ../../docs/about/list_of_features.rst:65 +msgid "" +"Visual profiler with CPU and GPU time indications for each step of the " +"rendering pipeline." +msgstr "" + +#: ../../docs/about/list_of_features.rst:67 +msgid "" +"Performance monitoring tools, including :ref:`custom performance monitors " +"`." +msgstr "" + +#: ../../docs/about/list_of_features.rst:69 +msgid "Live script reloading." +msgstr "" + +#: ../../docs/about/list_of_features.rst:70 +msgid "Live scene editing." +msgstr "" + +#: ../../docs/about/list_of_features.rst:72 +msgid "" +"Changes will reflect in the editor and will be kept after closing the " +"running project." +msgstr "" + +#: ../../docs/about/list_of_features.rst:74 +msgid "Remote inspector." +msgstr "" + +#: ../../docs/about/list_of_features.rst:76 +msgid "" +"Changes won't reflect in the editor and won't be kept after closing the " +"running project." +msgstr "" + +#: ../../docs/about/list_of_features.rst:78 +msgid "Live camera replication." +msgstr "" + +#: ../../docs/about/list_of_features.rst:80 +msgid "Move the in-editor camera and see the result in the running project." +msgstr "" + +#: ../../docs/about/list_of_features.rst:82 +msgid "Built-in offline class reference documentation." +msgstr "" + +#: ../../docs/about/list_of_features.rst:83 +msgid "Use the editor in dozens of languages contributed by the community." +msgstr "" + +#: ../../docs/about/list_of_features.rst:85 +msgid "**Plugins:**" +msgstr "" + +#: ../../docs/about/list_of_features.rst:87 +msgid "" +"Editor plugins can be downloaded from the :ref:`asset library " +"` to extend editor functionality." +msgstr "" + +#: ../../docs/about/list_of_features.rst:89 +msgid "" +":ref:`Create your own plugins ` using GDScript to add " +"new features or speed up your workflow." +msgstr "" + +#: ../../docs/about/list_of_features.rst:91 +msgid "" +":ref:`Download projects from the asset library ` " +"in the Project Manager and import them directly." +msgstr "" + +#: ../../docs/about/list_of_features.rst:95 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.1.rst:120 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.2.rst:128 +#: ../../docs/tutorials/2d/index.rst:12 ../../docs/tutorials/3d/index.rst:14 +#: ../../docs/tutorials/performance/thread_safe_apis.rst:55 +#: ../../docs/tutorials/rendering/index.rst:2 +#: ../../docs/tutorials/rendering/viewports.rst:174 +msgid "Rendering" +msgstr "" + +#: ../../docs/about/list_of_features.rst:97 +msgid "" +"3 rendering *methods* (running over 2 rendering *drivers*) are available:" +msgstr "" + +#: ../../docs/about/list_of_features.rst:99 +msgid "" +"**Forward+**, running over Vulkan 1.0 (with optional Vulkan 1.1 and 1.2 " +"features). The most advanced graphics backend, suited for desktop platforms " +"only. Used by default on desktop platforms." +msgstr "" + +#: ../../docs/about/list_of_features.rst:102 +msgid "" +"**Forward Mobile**, running over Vulkan 1.0 (with optional Vulkan 1.1 and " +"1.2 features). Less features, but renders simple scenes faster. Suited for " +"mobile and desktop platforms. Used by default on mobile platforms." +msgstr "" + +#: ../../docs/about/list_of_features.rst:105 +msgid "" +"**Compatibility**, running over OpenGL 3.3 / OpenGL ES 3.0 / WebGL 2.0. The " +"least advanced graphics backend, suited for low-end desktop and mobile " +"platforms. Used by default on the web platform." +msgstr "" + +#: ../../docs/about/list_of_features.rst:110 +msgid "2D graphics" +msgstr "" + +#: ../../docs/about/list_of_features.rst:112 +msgid "Sprite, polygon and line rendering." +msgstr "" + +#: ../../docs/about/list_of_features.rst:114 +msgid "" +"High-level tools to draw lines and polygons such as :ref:`class_Polygon2D` " +"and :ref:`class_Line2D`, with support for texturing." +msgstr "" + +#: ../../docs/about/list_of_features.rst:117 +msgid "AnimatedSprite2D as a helper for creating animated sprites." +msgstr "" + +#: ../../docs/about/list_of_features.rst:118 +msgid "Parallax layers." +msgstr "" + +#: ../../docs/about/list_of_features.rst:120 +msgid "Pseudo-3D support including preview in the editor." +msgstr "" + +#: ../../docs/about/list_of_features.rst:122 +msgid "" +":ref:`2D lighting ` with normal maps and specular " +"maps." +msgstr "" + +#: ../../docs/about/list_of_features.rst:124 +msgid "Point (omni/spot) and directional 2D lights." +msgstr "" + +#: ../../docs/about/list_of_features.rst:125 +msgid "Hard or soft shadows (adjustable on a per-light basis)." +msgstr "" + +#: ../../docs/about/list_of_features.rst:126 +msgid "" +"Custom shaders can access a real-time :abbr:`SDF (Signed Distance Field)` " +"representation of the 2D scene based on :ref:`class_LightOccluder2D` nodes, " +"which can be used for improved 2D lighting effects including 2D global " +"illumination." +msgstr "" + +#: ../../docs/about/list_of_features.rst:130 +msgid "" +":ref:`Font rendering ` using bitmaps, rasterization " +"using FreeType or multi-channel signed distance fields (MSDF)." +msgstr "" + +#: ../../docs/about/list_of_features.rst:133 +msgid "" +"Bitmap fonts can be exported using tools like BMFont, or imported from " +"images (for fixed-width fonts only)." +msgstr "" + +#: ../../docs/about/list_of_features.rst:135 +msgid "" +"Dynamic fonts support monochrome fonts as well as colored fonts (e.g. for " +"emoji). Supported formats are TTF, OTF, WOFF1 and WOFF2." +msgstr "" + +#: ../../docs/about/list_of_features.rst:137 +msgid "" +"Dynamic fonts support optional font outlines with adjustable width and color." +msgstr "" + +#: ../../docs/about/list_of_features.rst:138 +msgid "" +"Dynamic fonts support variable fonts and OpenType features including " +"ligatures." +msgstr "" + +#: ../../docs/about/list_of_features.rst:139 +msgid "" +"Dynamic fonts support simulated bold and italic when the font file lacks " +"those styles." +msgstr "" + +#: ../../docs/about/list_of_features.rst:141 +msgid "" +"Dynamic fonts support oversampling to keep fonts sharp at higher resolutions." +msgstr "" + +#: ../../docs/about/list_of_features.rst:142 +msgid "" +"Dynamic fonts support subpixel positioning to make fonts crisper at low " +"sizes." +msgstr "" + +#: ../../docs/about/list_of_features.rst:143 +msgid "" +"Dynamic fonts support LCD subpixel optimizations to make fonts even crisper " +"at low sizes." +msgstr "" + +#: ../../docs/about/list_of_features.rst:144 +msgid "" +"Signed distance field fonts can be scaled at any resolution without " +"requiring re-rasterization. Multi-channel usage makes SDF fonts scale down " +"to lower sizes better compared to monochrome SDF fonts." +msgstr "" + +#: ../../docs/about/list_of_features.rst:148 +msgid "" +"GPU-based :ref:`particles ` with support for :ref:" +"`custom particle shaders `." +msgstr "" + +#: ../../docs/about/list_of_features.rst:150 +#: ../../docs/about/list_of_features.rst:340 +msgid "CPU-based particles." +msgstr "" + +#: ../../docs/about/list_of_features.rst:151 +msgid "" +"Optional :ref:`2D HDR rendering " +"` for better glow " +"capabilities." +msgstr "" + +#: ../../docs/about/list_of_features.rst:155 +msgid "2D tools" +msgstr "" + +#: ../../docs/about/list_of_features.rst:157 +msgid ":ref:`TileMaps ` for 2D tile-based level design." +msgstr "" + +#: ../../docs/about/list_of_features.rst:158 +msgid "2D camera with built-in smoothing and drag margins." +msgstr "" + +#: ../../docs/about/list_of_features.rst:159 +msgid "Path2D node to represent a path in 2D space." +msgstr "" + +#: ../../docs/about/list_of_features.rst:161 +#: ../../docs/about/list_of_features.rst:401 +msgid "Can be drawn in the editor or generated procedurally." +msgstr "" + +#: ../../docs/about/list_of_features.rst:162 +msgid "PathFollow2D node to make nodes follow a Path2D." +msgstr "" + +#: ../../docs/about/list_of_features.rst:164 +msgid ":ref:`2D geometry helper class `." +msgstr "" + +#: ../../docs/about/list_of_features.rst:167 +msgid "2D physics" +msgstr "" + +#: ../../docs/about/list_of_features.rst:169 +#: ../../docs/about/list_of_features.rst:411 +msgid "**Physics bodies:**" +msgstr "" + +#: ../../docs/about/list_of_features.rst:171 +#: ../../docs/about/list_of_features.rst:413 +msgid "Static bodies." +msgstr "" + +#: ../../docs/about/list_of_features.rst:172 +#: ../../docs/about/list_of_features.rst:414 +msgid "" +"Animatable bodies (for objects moving only by script or animation, such as " +"doors and platforms)." +msgstr "" + +#: ../../docs/about/list_of_features.rst:173 +#: ../../docs/about/list_of_features.rst:415 +msgid "Rigid bodies." +msgstr "" + +#: ../../docs/about/list_of_features.rst:174 +#: ../../docs/about/list_of_features.rst:416 +msgid "Character bodies." +msgstr "" + +#: ../../docs/about/list_of_features.rst:175 +#: ../../docs/about/list_of_features.rst:418 +msgid "Joints." +msgstr "" + +#: ../../docs/about/list_of_features.rst:176 +#: ../../docs/about/list_of_features.rst:421 +msgid "Areas to detect bodies entering or leaving it." +msgstr "" + +#: ../../docs/about/list_of_features.rst:178 +#: ../../docs/about/list_of_features.rst:423 +msgid "**Collision detection:**" +msgstr "" + +#: ../../docs/about/list_of_features.rst:180 +msgid "" +"Built-in shapes: line, box, circle, capsule, world boundary (infinite plane)." +msgstr "" + +#: ../../docs/about/list_of_features.rst:181 +msgid "" +"Collision polygons (can be drawn manually or generated from a sprite in the " +"editor)." +msgstr "" + +#: ../../docs/about/list_of_features.rst:184 +msgid "3D graphics" +msgstr "" + +#: ../../docs/about/list_of_features.rst:186 +msgid "HDR rendering with sRGB." +msgstr "" + +#: ../../docs/about/list_of_features.rst:187 +msgid "Perspective, orthographic and frustum-offset cameras." +msgstr "" + +#: ../../docs/about/list_of_features.rst:188 +msgid "" +"When using the Forward+ backend, a depth prepass is used to improve " +"performance in complex scenes by reducing the cost of overdraw." +msgstr "" + +#: ../../docs/about/list_of_features.rst:190 +msgid "" +":ref:`doc_variable_rate_shading` on supported GPUs in Forward+ and Forward " +"Mobile." +msgstr "" + +#: ../../docs/about/list_of_features.rst:192 +msgid "**Physically-based rendering (built-in material features):**" +msgstr "" + +#: ../../docs/about/list_of_features.rst:194 +msgid "Follows the Disney PBR model." +msgstr "" + +#: ../../docs/about/list_of_features.rst:195 +msgid "" +"Supports Burley, Lambert, Lambert Wrap (half-Lambert) and Toon diffuse " +"shading modes." +msgstr "" + +#: ../../docs/about/list_of_features.rst:196 +msgid "Supports Schlick-GGX, Toon and Disabled specular shading modes." +msgstr "" + +#: ../../docs/about/list_of_features.rst:197 +msgid "Uses a roughness-metallic workflow with support for ORM textures." +msgstr "" + +#: ../../docs/about/list_of_features.rst:198 +msgid "" +"Uses horizon specular occlusion (Filament model) to improve material " +"appearance." +msgstr "" + +#: ../../docs/about/list_of_features.rst:199 +msgid "Normal mapping." +msgstr "" + +#: ../../docs/about/list_of_features.rst:200 +msgid "" +"Parallax/relief mapping with automatic level of detail based on distance." +msgstr "" + +#: ../../docs/about/list_of_features.rst:201 +msgid "Detail mapping for the albedo and normal maps." +msgstr "" + +#: ../../docs/about/list_of_features.rst:202 +msgid "Sub-surface scattering and transmittance." +msgstr "" + +#: ../../docs/about/list_of_features.rst:203 +msgid "" +"Screen-space refraction with support for material roughness (resulting in " +"blurry refraction)." +msgstr "" + +#: ../../docs/about/list_of_features.rst:204 +msgid "Proximity fade (soft particles) and distance fade." +msgstr "" + +#: ../../docs/about/list_of_features.rst:205 +msgid "" +"Distance fade can use alpha blending or dithering to avoid going through the " +"transparent pipeline." +msgstr "" + +#: ../../docs/about/list_of_features.rst:207 +msgid "Dithering can be determined on a per-pixel or per-object basis." +msgstr "" + +#: ../../docs/about/list_of_features.rst:209 +msgid "**Real-time lighting:**" +msgstr "" + +#: ../../docs/about/list_of_features.rst:211 +msgid "Directional lights (sun/moon). Up to 4 per scene." +msgstr "" + +#: ../../docs/about/list_of_features.rst:212 +msgid "Omnidirectional lights." +msgstr "" + +#: ../../docs/about/list_of_features.rst:213 +msgid "Spot lights with adjustable cone angle and attenuation." +msgstr "" + +#: ../../docs/about/list_of_features.rst:214 +msgid "" +"Specular, indirect light, and volumetric fog energy can be adjusted on a per-" +"light basis." +msgstr "" + +#: ../../docs/about/list_of_features.rst:215 +msgid "" +"Adjustable light \"size\" for fake area lights (will also make shadows " +"blurrier)." +msgstr "" + +#: ../../docs/about/list_of_features.rst:216 +#: ../../docs/about/list_of_features.rst:292 +msgid "" +"Optional distance fade system to fade distant lights and their shadows, " +"improving performance." +msgstr "" + +#: ../../docs/about/list_of_features.rst:217 +msgid "" +"When using the Forward+ backend (default on desktop), lights are rendered " +"with clustered forward optimizations to decrease their individual cost. " +"Clustered rendering also lifts any limits on the number of lights that can " +"be used on a mesh." +msgstr "" + +#: ../../docs/about/list_of_features.rst:220 +msgid "" +"When using the Forward Mobile backend, up to 8 omni lights and 8 spot lights " +"can be displayed per mesh resource. Baked lighting can be used to overcome " +"this limit if needed." +msgstr "" + +#: ../../docs/about/list_of_features.rst:224 +msgid "**Shadow mapping:**" +msgstr "" + +#: ../../docs/about/list_of_features.rst:226 +msgid "" +"*DirectionalLight:* Orthogonal (fastest), PSSM 2-split and 4-split. Supports " +"blending between splits." +msgstr "" + +#: ../../docs/about/list_of_features.rst:228 +msgid "" +"*OmniLight:* Dual paraboloid (fast) or cubemap (slower but more accurate). " +"Supports colored projector textures in the form of panoramas." +msgstr "" + +#: ../../docs/about/list_of_features.rst:230 +msgid "*SpotLight:* Single texture. Supports colored projector textures." +msgstr "" + +#: ../../docs/about/list_of_features.rst:231 +msgid "" +"Shadow normal offset bias and shadow pancaking to decrease the amount of " +"visible shadow acne and peter-panning." +msgstr "" + +#: ../../docs/about/list_of_features.rst:233 +msgid "" +":abbr:`PCSS (Percentage Closer Soft Shadows)`-like shadow blur based on the " +"light size and distance from the surface the shadow is cast on." +msgstr "" + +#: ../../docs/about/list_of_features.rst:235 +msgid "Adjustable shadow blur on a per-light basis." +msgstr "" + +#: ../../docs/about/list_of_features.rst:237 +msgid "**Global illumination with indirect lighting:**" +msgstr "" + +#: ../../docs/about/list_of_features.rst:239 +msgid "" +":ref:`Baked lightmaps ` (fast, but can't be updated " +"at run-time)." +msgstr "" + +#: ../../docs/about/list_of_features.rst:241 +msgid "" +"Supports baking indirect light only or baking both direct and indirect " +"lighting. The bake mode can be adjusted on a per-light basis to allow for " +"hybrid light baking setups." +msgstr "" + +#: ../../docs/about/list_of_features.rst:244 +msgid "" +"Supports lighting dynamic objects using automatic and manually placed probes." +msgstr "" + +#: ../../docs/about/list_of_features.rst:245 +msgid "" +"Optionally supports directional lighting and rough reflections based on " +"spherical harmonics." +msgstr "" + +#: ../../docs/about/list_of_features.rst:247 +msgid "" +"Lightmaps are baked on the GPU using compute shaders (much faster compared " +"to CPU lightmapping). Baking can only be performed from the editor, not in " +"exported projects." +msgstr "" + +#: ../../docs/about/list_of_features.rst:250 +msgid "" +"Supports GPU-based :ref:`denoising ` with " +"JNLM, or CPU/GPU-based denoising with OIDN." +msgstr "" + +#: ../../docs/about/list_of_features.rst:253 +msgid "" +":ref:`Voxel-based GI probes `. Supports dynamic lights " +"*and* dynamic occluders, while also supporting reflections. Requires a fast " +"baking step which can be performed in the editor or at run-time (including " +"from an exported project)." +msgstr "" + +#: ../../docs/about/list_of_features.rst:257 +msgid "" +":ref:`Signed-distance field GI ` designed for large open " +"worlds. Supports dynamic lights, but not dynamic occluders. Supports " +"reflections. No baking required." +msgstr "" + +#: ../../docs/about/list_of_features.rst:260 +msgid "" +":ref:`Screen-space indirect lighting (SSIL) " +"` at half or full resolution. " +"Fully real-time and supports any kind of emissive light source (including " +"decals)." +msgstr "" + +#: ../../docs/about/list_of_features.rst:263 +msgid "" +"VoxelGI and SDFGI use a deferred pass to allow for rendering GI at half " +"resolution to improve performance (while still having functional MSAA " +"support)." +msgstr "" + +#: ../../docs/about/list_of_features.rst:266 +msgid "**Reflections:**" +msgstr "" + +#: ../../docs/about/list_of_features.rst:268 +msgid "" +"Voxel-based reflections (when using GI probes) and SDF-based reflections " +"(when using signed distance field GI). Voxel-based reflections are visible " +"on transparent surfaces, while rough SDF-based reflections are visible on " +"transparent surfaces." +msgstr "" + +#: ../../docs/about/list_of_features.rst:272 +msgid "" +"Fast baked reflections or slow real-time reflections using ReflectionProbe. " +"Parallax box correction can optionally be enabled." +msgstr "" + +#: ../../docs/about/list_of_features.rst:274 +msgid "Screen-space reflections with support for material roughness." +msgstr "" + +#: ../../docs/about/list_of_features.rst:275 +msgid "" +"Reflection techniques can be mixed together for greater accuracy or " +"scalability." +msgstr "" + +#: ../../docs/about/list_of_features.rst:276 +msgid "" +"When using the Forward+ backend (default on desktop), reflection probes are " +"rendered with clustered forward optimizations to decrease their individual " +"cost. Clustered rendering also lifts any limits on the number of reflection " +"probes that can be used on a mesh." +msgstr "" + +#: ../../docs/about/list_of_features.rst:279 +msgid "" +"When using the Forward Mobile backend, up to 8 reflection probes can be " +"displayed per mesh resource." +msgstr "" + +#: ../../docs/about/list_of_features.rst:282 +msgid "**Decals:**" +msgstr "" + +#: ../../docs/about/list_of_features.rst:284 +msgid "" +":ref:`Supports albedo `, emissive, :abbr:`ORM (Occlusion " +"Roughness Metallic)`, and normal mapping." +msgstr "" + +#: ../../docs/about/list_of_features.rst:286 +msgid "" +"Texture channels are smoothly overlaid on top of the underlying material, " +"with support for normal/ORM-only decals." +msgstr "" + +#: ../../docs/about/list_of_features.rst:288 +msgid "" +"Support for normal fade to fade the decal depending on its incidence angle." +msgstr "" + +#: ../../docs/about/list_of_features.rst:289 +msgid "" +"Does not rely on run-time mesh generation. This means decals can be used on " +"complex skinned meshes with no performance penalty, even if the decal moves " +"every frame." +msgstr "" + +#: ../../docs/about/list_of_features.rst:291 +msgid "" +"Support for nearest, bilinear, trilinear or anisotropic texture filtering " +"(configured globally)." +msgstr "" + +#: ../../docs/about/list_of_features.rst:293 +msgid "" +"When using the Forward+ backend (default on desktop), decals are rendered " +"with clustered forward optimizations to decrease their individual cost. " +"Clustered rendering also lifts any limits on the number of decals that can " +"be used on a mesh." +msgstr "" + +#: ../../docs/about/list_of_features.rst:296 +msgid "" +"When using the Forward Mobile backend, up to 8 decals can be displayed per " +"mesh resource." +msgstr "" + +#: ../../docs/about/list_of_features.rst:299 +msgid "**Sky:**" +msgstr "" + +#: ../../docs/about/list_of_features.rst:301 +msgid "Panorama sky (using an HDRI)." +msgstr "" + +#: ../../docs/about/list_of_features.rst:302 +msgid "" +"Procedural sky and Physically-based sky that respond to the " +"DirectionalLights in the scene." +msgstr "" + +#: ../../docs/about/list_of_features.rst:303 +msgid "" +"Support for :ref:`custom sky shaders `, which can be " +"animated." +msgstr "" + +#: ../../docs/about/list_of_features.rst:304 +msgid "" +"The radiance map used for ambient and specular light can be updated in real-" +"time depending on the quality settings chosen." +msgstr "" + +#: ../../docs/about/list_of_features.rst:307 +msgid "**Fog:**" +msgstr "" + +#: ../../docs/about/list_of_features.rst:309 +msgid "Exponential depth fog." +msgstr "" + +#: ../../docs/about/list_of_features.rst:310 +msgid "Exponential height fog." +msgstr "" + +#: ../../docs/about/list_of_features.rst:311 +msgid "" +"Support for automatic fog color depending on the sky color (aerial " +"perspective)." +msgstr "" + +#: ../../docs/about/list_of_features.rst:312 +msgid "Support for sun scattering in the fog." +msgstr "" + +#: ../../docs/about/list_of_features.rst:313 +msgid "" +"Support for controlling how much fog rendering should affect the sky, with " +"separate controls for traditional and volumetric fog." +msgstr "" + +#: ../../docs/about/list_of_features.rst:315 +msgid "Support for making specific materials ignore fog." +msgstr "" + +#: ../../docs/about/list_of_features.rst:317 +msgid "**Volumetric fog:**" +msgstr "" + +#: ../../docs/about/list_of_features.rst:319 +msgid "" +"Global :ref:`volumetric fog ` that reacts to lights and " +"shadows." +msgstr "" + +#: ../../docs/about/list_of_features.rst:320 +msgid "" +"Volumetric fog can take indirect light into account when using VoxelGI or " +"SDFGI." +msgstr "" + +#: ../../docs/about/list_of_features.rst:321 +msgid "" +"Fog volume nodes that can be placed to add fog to specific areas (or remove " +"fog from specific areas). Supported shapes include box, ellipse, cone, " +"cylinder, and 3D texture-based density maps." +msgstr "" + +#: ../../docs/about/list_of_features.rst:323 +msgid "Each fog volume can have its own custom shader." +msgstr "" + +#: ../../docs/about/list_of_features.rst:324 +msgid "Can be used together with traditional fog." +msgstr "" + +#: ../../docs/about/list_of_features.rst:326 +msgid "**Particles:**" +msgstr "" + +#: ../../docs/about/list_of_features.rst:328 +msgid "" +"GPU-based particles with support for subemitters (2D + 3D), trails (2D + " +"3D), attractors (3D only) and collision (2D + 3D)." +msgstr "" + +#: ../../docs/about/list_of_features.rst:331 +msgid "" +"3D particle attractor shapes supported: box, sphere and 3D vector fields." +msgstr "" + +#: ../../docs/about/list_of_features.rst:332 +msgid "" +"3D particle collision shapes supported: box, sphere, baked signed distance " +"field and real-time heightmap (suited for open world weather effects)." +msgstr "" + +#: ../../docs/about/list_of_features.rst:334 +msgid "" +"2D particle collision is handled using a signed distance field generated in " +"real-time based on :ref:`class_LightOccluder2D` nodes in the scene." +msgstr "" + +#: ../../docs/about/list_of_features.rst:336 +msgid "" +"Trails can use the built-in ribbon trail and tube trail meshes, or custom " +"meshes with skeletons." +msgstr "" + +#: ../../docs/about/list_of_features.rst:338 +msgid "Support for custom particle shaders with manual emission." +msgstr "" + +#: ../../docs/about/list_of_features.rst:342 +msgid "**Post-processing:**" +msgstr "" + +#: ../../docs/about/list_of_features.rst:344 +msgid "Tonemapping (Linear, Reinhard, Filmic, ACES)." +msgstr "" + +#: ../../docs/about/list_of_features.rst:345 +msgid "" +"Automatic exposure adjustments based on viewport brightness (and manual " +"exposure override)." +msgstr "" + +#: ../../docs/about/list_of_features.rst:346 +msgid "" +"Near and far depth of field with adjustable bokeh simulation (box, hexagon, " +"circle)." +msgstr "" + +#: ../../docs/about/list_of_features.rst:347 +msgid "Screen-space ambient occlusion (SSAO) at half or full resolution." +msgstr "" + +#: ../../docs/about/list_of_features.rst:348 +msgid "" +"Glow/bloom with optional bicubic upscaling and several blend modes " +"available: Screen, Soft Light, Add, Replace, Mix." +msgstr "" + +#: ../../docs/about/list_of_features.rst:350 +msgid "Glow can have a colored dirt map texture, acting as a lens dirt effect." +msgstr "" + +#: ../../docs/about/list_of_features.rst:351 +msgid "" +"Glow can be :ref:`used as a screen-space blur effect " +"`." +msgstr "" + +#: ../../docs/about/list_of_features.rst:352 +msgid "Color correction using a one-dimensional ramp or a 3D LUT texture." +msgstr "" + +#: ../../docs/about/list_of_features.rst:353 +msgid "Roughness limiter to reduce the impact of specular aliasing." +msgstr "" + +#: ../../docs/about/list_of_features.rst:354 +msgid "Brightness, contrast and saturation adjustments." +msgstr "" + +#: ../../docs/about/list_of_features.rst:356 +msgid "**Texture filtering:**" +msgstr "" + +#: ../../docs/about/list_of_features.rst:358 +msgid "Nearest, bilinear, trilinear or anisotropic filtering." +msgstr "" + +#: ../../docs/about/list_of_features.rst:359 +msgid "" +"Filtering options are defined on a per-use basis, not a per-texture basis." +msgstr "" + +#: ../../docs/about/list_of_features.rst:361 +msgid "**Texture compression:**" +msgstr "" + +#: ../../docs/about/list_of_features.rst:363 +msgid "Basis Universal (slow, but results in smaller files)." +msgstr "" + +#: ../../docs/about/list_of_features.rst:364 +msgid "BPTC for high-quality compression (not supported on macOS)." +msgstr "" + +#: ../../docs/about/list_of_features.rst:365 +msgid "ETC2 (not supported on macOS)." +msgstr "" + +#: ../../docs/about/list_of_features.rst:366 +msgid "S3TC (not supported on mobile/Web platforms)." +msgstr "" + +#: ../../docs/about/list_of_features.rst:368 +msgid "**Anti-aliasing:**" +msgstr "" + +#: ../../docs/about/list_of_features.rst:370 +msgid "Temporal :ref:`antialiasing ` (TAA)." +msgstr "" + +#: ../../docs/about/list_of_features.rst:371 +msgid "" +"AMD FidelityFX Super Resolution 2.2 :ref:`antialiasing " +"` (FSR2), which can be used at native resolution as a " +"form of high-quality temporal antialiasing." +msgstr "" + +#: ../../docs/about/list_of_features.rst:373 +msgid "" +"Multi-sample antialiasing (MSAA), for both :ref:`doc_2d_antialiasing` and :" +"ref:`doc_3d_antialiasing`." +msgstr "" + +#: ../../docs/about/list_of_features.rst:374 +msgid "Fast approximate antialiasing (FXAA)." +msgstr "" + +#: ../../docs/about/list_of_features.rst:375 +msgid "" +"Super-sample antialiasing (SSAA) using bilinear 3D scaling and a 3D " +"resolution scale above 1.0." +msgstr "" + +#: ../../docs/about/list_of_features.rst:376 +msgid "" +"Alpha antialiasing, MSAA alpha to coverage and alpha hashing on a per-" +"material basis." +msgstr "" + +#: ../../docs/about/list_of_features.rst:378 +msgid "**Resolution scaling:**" +msgstr "" + +#: ../../docs/about/list_of_features.rst:380 +msgid "" +"Support for :ref:`rendering 3D at a lower resolution " +"` while keeping 2D rendering at the original scale. " +"This can be used to improve performance on low-end systems or improve " +"visuals on high-end systems." +msgstr "" + +#: ../../docs/about/list_of_features.rst:383 +msgid "" +"Resolution scaling uses bilinear filtering, AMD FidelityFX Super Resolution " +"1.0 (FSR1) or AMD FidelityFX Super Resolution 2.2 (FSR2)." +msgstr "" + +#: ../../docs/about/list_of_features.rst:385 +msgid "" +"Texture mipmap LOD bias is adjusted automatically to improve quality at " +"lower resolution scales. It can also be modified with a manual offset." +msgstr "" + +#: ../../docs/about/list_of_features.rst:388 +msgid "" +"Most effects listed above can be adjusted for better performance or to " +"further improve quality. This can be helpful when :ref:`using Godot for " +"offline rendering `." +msgstr "" + +#: ../../docs/about/list_of_features.rst:393 +msgid "3D tools" +msgstr "" + +#: ../../docs/about/list_of_features.rst:395 +msgid "" +"Built-in meshes: cube, cylinder/cone, (hemi)sphere, prism, plane, quad, " +"torus, ribbon, tube." +msgstr "" + +#: ../../docs/about/list_of_features.rst:396 +msgid ":ref:`GridMaps ` for 3D tile-based level design." +msgstr "" + +#: ../../docs/about/list_of_features.rst:397 +msgid "" +":ref:`Constructive solid geometry ` (intended for " +"prototyping)." +msgstr "" + +#: ../../docs/about/list_of_features.rst:398 +msgid "" +"Tools for :ref:`procedural geometry generation `." +msgstr "" + +#: ../../docs/about/list_of_features.rst:399 +msgid "Path3D node to represent a path in 3D space." +msgstr "" + +#: ../../docs/about/list_of_features.rst:402 +msgid "PathFollow3D node to make nodes follow a Path3D." +msgstr "" + +#: ../../docs/about/list_of_features.rst:404 +msgid ":ref:`3D geometry helper class `." +msgstr "" + +#: ../../docs/about/list_of_features.rst:405 +msgid "" +"Support for exporting the current scene as a glTF 2.0 file, both from the " +"editor and at run-time from an exported project." +msgstr "" + +#: ../../docs/about/list_of_features.rst:409 +msgid "3D physics" +msgstr "" + +#: ../../docs/about/list_of_features.rst:417 +msgid "Vehicle bodies (intended for arcade physics, not simulation)." +msgstr "" + +#: ../../docs/about/list_of_features.rst:419 +msgid "Soft bodies." +msgstr "" + +#: ../../docs/about/list_of_features.rst:420 +msgid "Ragdolls." +msgstr "" + +#: ../../docs/about/list_of_features.rst:425 +msgid "" +"Built-in shapes: cuboid, sphere, capsule, cylinder, world boundary (infinite " +"plane)." +msgstr "" + +#: ../../docs/about/list_of_features.rst:426 +msgid "Generate triangle collision shapes for any mesh from the editor." +msgstr "" + +#: ../../docs/about/list_of_features.rst:427 +msgid "" +"Generate one or several convex collision shapes for any mesh from the editor." +msgstr "" + +#: ../../docs/about/list_of_features.rst:430 +#: ../../docs/about/docs_changelog.rst:118 +#: ../../docs/about/docs_changelog.rst:242 +#: ../../docs/tutorials/shaders/index.rst:2 +msgid "Shaders" +msgstr "" + +#: ../../docs/about/list_of_features.rst:432 +msgid "*2D:* Custom vertex, fragment, and light shaders." +msgstr "" + +#: ../../docs/about/list_of_features.rst:433 +msgid "*3D:* Custom vertex, fragment, light, and sky shaders." +msgstr "" + +#: ../../docs/about/list_of_features.rst:434 +msgid "" +"Text-based shaders using a :ref:`shader language inspired by GLSL " +"`." +msgstr "" + +#: ../../docs/about/list_of_features.rst:435 +msgid "Visual shader editor." +msgstr "" + +#: ../../docs/about/list_of_features.rst:437 +msgid "Support for visual shader plugins." +msgstr "" + +#: ../../docs/about/list_of_features.rst:440 +#: ../../docs/about/docs_changelog.rst:110 +#: ../../docs/about/docs_changelog.rst:247 +#: ../../docs/about/docs_changelog.rst:353 +#: ../../docs/tutorials/scripting/index.rst:2 +msgid "Scripting" +msgstr "" + +#: ../../docs/about/list_of_features.rst:442 +msgid "**General:**" +msgstr "" + +#: ../../docs/about/list_of_features.rst:444 +msgid "Object-oriented design pattern with scripts extending nodes." +msgstr "" + +#: ../../docs/about/list_of_features.rst:445 +msgid "Signals and groups for communicating between scripts." +msgstr "" + +#: ../../docs/about/list_of_features.rst:446 +msgid "" +"Support for :ref:`cross-language scripting `." +msgstr "" + +#: ../../docs/about/list_of_features.rst:447 +msgid "" +"Many 2D, 3D and 4D linear algebra data types such as vectors and transforms." +msgstr "" + +#: ../../docs/about/list_of_features.rst:449 +msgid ":ref:`GDScript: `" +msgstr "" + +#: ../../docs/about/list_of_features.rst:451 +msgid "" +":ref:`High-level interpreted language ` with :ref:`optional " +"static typing `." +msgstr "" + +#: ../../docs/about/list_of_features.rst:453 +msgid "" +"Syntax inspired by Python. However, GDScript is **not** based on Python." +msgstr "" + +#: ../../docs/about/list_of_features.rst:454 +msgid "Syntax highlighting is provided on GitHub." +msgstr "" + +#: ../../docs/about/list_of_features.rst:455 +msgid "" +":ref:`Use threads ` to perform asynchronous " +"actions or make use of multiple processor cores." +msgstr "" + +#: ../../docs/about/list_of_features.rst:458 +msgid ":ref:`C#: `" +msgstr "" + +#: ../../docs/about/list_of_features.rst:460 +msgid "Packaged in a separate binary to keep file sizes and dependencies down." +msgstr "" + +#: ../../docs/about/list_of_features.rst:461 +msgid "Supports .NET 6 and higher." +msgstr "" + +#: ../../docs/about/list_of_features.rst:463 +msgid "Full support for the C# 10.0 syntax and features." +msgstr "" + +#: ../../docs/about/list_of_features.rst:465 +msgid "" +"Supports Windows, Linux, and macOS. As of 4.2 experimental support for " +"Android and iOS is also available (requires a .NET 7.0 project for Android " +"and 8.0 for iOS)." +msgstr "" + +#: ../../docs/about/list_of_features.rst:468 +msgid "" +"On the Android platform only some architectures are supported: ``arm64`` and " +"``x64``." +msgstr "" + +#: ../../docs/about/list_of_features.rst:469 +msgid "On the iOS platform only some architectures are supported: ``arm64``." +msgstr "" + +#: ../../docs/about/list_of_features.rst:470 +msgid "" +"The web platform is currently unsupported. To use C# on that platform, " +"consider Godot 3 instead." +msgstr "" + +#: ../../docs/about/list_of_features.rst:473 +msgid "" +"Using an external editor is recommended to benefit from IDE functionality." +msgstr "" + +#: ../../docs/about/list_of_features.rst:475 +msgid "**GDExtension (C, C++, Rust, D, ...):**" +msgstr "" + +#: ../../docs/about/list_of_features.rst:477 +msgid "" +"When you need it, link to native libraries for higher performance and third-" +"party integrations." +msgstr "" + +#: ../../docs/about/list_of_features.rst:479 +msgid "" +"For scripting game logic, GDScript or C# are recommended if their " +"performance is suitable." +msgstr "" + +#: ../../docs/about/list_of_features.rst:482 +msgid "" +"Official GDExtension bindings for `C `__ and `C++ `__." +msgstr "" + +#: ../../docs/about/list_of_features.rst:485 +msgid "Use any build system and language features you wish." +msgstr "" + +#: ../../docs/about/list_of_features.rst:487 +msgid "" +"Actively developed GDExtension bindings for `D `__, `Haxe `__, `Swift " +"`__, and `Rust `__ bindings provided by the community. (Some of " +"these bindings may be experimental and not production-ready)." +msgstr "" + +#: ../../docs/about/list_of_features.rst:492 +#: ../../docs/about/docs_changelog.rst:274 +#: ../../docs/tutorials/audio/index.rst:4 +#: ../../docs/tutorials/export/exporting_for_web.rst:134 +msgid "Audio" +msgstr "" + +#: ../../docs/about/list_of_features.rst:496 +msgid "Mono, stereo, 5.1 and 7.1 output." +msgstr "" + +#: ../../docs/about/list_of_features.rst:497 +msgid "Non-positional and positional playback in 2D and 3D." +msgstr "" + +#: ../../docs/about/list_of_features.rst:499 +msgid "Optional Doppler effect in 2D and 3D." +msgstr "" + +#: ../../docs/about/list_of_features.rst:501 +msgid "" +"Support for re-routable :ref:`audio buses ` and effects " +"with dozens of effects included." +msgstr "" + +#: ../../docs/about/list_of_features.rst:503 +msgid "" +"Support for polyphony (playing several sounds from a single " +"AudioStreamPlayer node)." +msgstr "" + +#: ../../docs/about/list_of_features.rst:504 +msgid "Support for random volume and pitch." +msgstr "" + +#: ../../docs/about/list_of_features.rst:505 +msgid "Support for real-time pitch scaling." +msgstr "" + +#: ../../docs/about/list_of_features.rst:506 +msgid "" +"Support for sequential/random sample selection, including repetition " +"prevention when using random sample selection." +msgstr "" + +#: ../../docs/about/list_of_features.rst:508 +msgid "" +"Listener2D and Listener3D nodes to listen from a position different than the " +"camera." +msgstr "" + +#: ../../docs/about/list_of_features.rst:509 +msgid "" +"Support for :ref:`procedural audio generation `." +msgstr "" + +#: ../../docs/about/list_of_features.rst:510 +msgid "Audio input to record microphones." +msgstr "" + +#: ../../docs/about/list_of_features.rst:511 +msgid "MIDI input." +msgstr "" + +#: ../../docs/about/list_of_features.rst:513 +msgid "No support for MIDI output yet." +msgstr "" + +#: ../../docs/about/list_of_features.rst:515 +msgid "**APIs used:**" +msgstr "" + +#: ../../docs/about/list_of_features.rst:517 +msgid "*Windows:* WASAPI." +msgstr "" + +#: ../../docs/about/list_of_features.rst:518 +msgid "*macOS:* CoreAudio." +msgstr "" + +#: ../../docs/about/list_of_features.rst:519 +msgid "*Linux:* PulseAudio or ALSA." +msgstr "" + +#: ../../docs/about/list_of_features.rst:522 +msgid "Import" +msgstr "" + +#: ../../docs/about/list_of_features.rst:524 +msgid "Support for :ref:`custom import plugins `." +msgstr "" + +#: ../../docs/about/list_of_features.rst:526 +msgid "**Formats:**" +msgstr "" + +#: ../../docs/about/list_of_features.rst:528 +msgid "*Images:* See :ref:`doc_importing_images`." +msgstr "" + +#: ../../docs/about/list_of_features.rst:529 +msgid "*Audio:*" +msgstr "" + +#: ../../docs/about/list_of_features.rst:531 +msgid "WAV with optional IMA-ADPCM compression." +msgstr "" + +#: ../../docs/about/list_of_features.rst:532 +msgid "Ogg Vorbis." +msgstr "" + +#: ../../docs/about/list_of_features.rst:533 +msgid "MP3." +msgstr "" + +#: ../../docs/about/list_of_features.rst:535 +msgid "*3D scenes:* See :ref:`doc_importing_3d_scenes`." +msgstr "" + +#: ../../docs/about/list_of_features.rst:537 +msgid "glTF 2.0 *(recommended)*." +msgstr "" + +#: ../../docs/about/list_of_features.rst:538 +msgid "" +"``.blend`` (by calling Blender's glTF export functionality transparently)." +msgstr "" + +#: ../../docs/about/list_of_features.rst:539 +msgid "" +"FBX (by calling `FBX2glTF `__ " +"transparently)." +msgstr "" + +#: ../../docs/about/list_of_features.rst:540 +msgid "Collada (.dae)." +msgstr "" + +#: ../../docs/about/list_of_features.rst:541 +msgid "" +"Wavefront OBJ (static scenes only, can be loaded directly as a mesh or " +"imported as a 3D scene)." +msgstr "" + +#: ../../docs/about/list_of_features.rst:543 +msgid "" +"Support for loading glTF 2.0 scenes at run-time, including from an exported " +"project." +msgstr "" + +#: ../../docs/about/list_of_features.rst:544 +msgid "" +"3D meshes use `Mikktspace `__ to generate " +"tangents on import, which ensures consistency with other 3D applications " +"such as Blender." +msgstr "" + +#: ../../docs/about/list_of_features.rst:548 +#: ../../docs/about/docs_changelog.rst:219 +#: ../../docs/tutorials/rendering/viewports.rst:38 +#: ../../docs/tutorials/ui/custom_gui_controls.rst:114 +msgid "Input" +msgstr "" + +#: ../../docs/about/list_of_features.rst:550 +msgid "" +":ref:`Input mapping system ` using hardcoded input " +"events or remappable input actions." +msgstr "" + +#: ../../docs/about/list_of_features.rst:553 +msgid "" +"Axis values can be mapped to two different actions with a configurable " +"deadzone." +msgstr "" + +#: ../../docs/about/list_of_features.rst:554 +msgid "Use the same code to support both keyboards and gamepads." +msgstr "" + +#: ../../docs/about/list_of_features.rst:556 +msgid "Keyboard input." +msgstr "" + +#: ../../docs/about/list_of_features.rst:558 +msgid "" +"Keys can be mapped in \"physical\" mode to be independent of the keyboard " +"layout." +msgstr "" + +#: ../../docs/about/list_of_features.rst:560 +msgid "Mouse input." +msgstr "" + +#: ../../docs/about/list_of_features.rst:562 +msgid "" +"The mouse cursor can be visible, hidden, captured or confined within the " +"window." +msgstr "" + +#: ../../docs/about/list_of_features.rst:563 +msgid "" +"When captured, raw input will be used on Windows and Linux to sidestep the " +"OS' mouse acceleration settings." +msgstr "" + +#: ../../docs/about/list_of_features.rst:566 +msgid "Gamepad input (up to 8 simultaneous controllers)." +msgstr "" + +#: ../../docs/about/list_of_features.rst:567 +msgid "Pen/tablet input with pressure support." +msgstr "" + +#: ../../docs/about/list_of_features.rst:570 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.1.rst:136 +#: ../../docs/tutorials/navigation/index.rst:2 +msgid "Navigation" +msgstr "" + +#: ../../docs/about/list_of_features.rst:572 +msgid "" +"A* algorithm in :ref:`2D ` and :ref:`3D `." +msgstr "" + +#: ../../docs/about/list_of_features.rst:573 +msgid "" +"Navigation meshes with dynamic obstacle avoidance in :ref:`2D " +"` and :ref:`3D `." +msgstr "" + +#: ../../docs/about/list_of_features.rst:575 +msgid "" +"Generate navigation meshes from the editor or at run-time (including from an " +"exported project)." +msgstr "" + +#: ../../docs/about/list_of_features.rst:578 +#: ../../docs/about/docs_changelog.rst:306 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.1.rst:166 +#: ../../docs/tutorials/export/exporting_for_web.rst:149 +#: ../../docs/tutorials/networking/index.rst:4 +msgid "Networking" +msgstr "" + +#: ../../docs/about/list_of_features.rst:580 +msgid "" +"Low-level TCP networking using :ref:`class_StreamPeer` and :ref:" +"`class_TCPServer`." +msgstr "" + +#: ../../docs/about/list_of_features.rst:581 +msgid "" +"Low-level UDP networking using :ref:`class_PacketPeer` and :ref:" +"`class_UDPServer`." +msgstr "" + +#: ../../docs/about/list_of_features.rst:582 +msgid "Low-level HTTP requests using :ref:`class_HTTPClient`." +msgstr "" + +#: ../../docs/about/list_of_features.rst:583 +msgid "High-level HTTP requests using :ref:`class_HTTPRequest`." +msgstr "" + +#: ../../docs/about/list_of_features.rst:585 +msgid "Supports HTTPS out of the box using bundled certificates." +msgstr "" + +#: ../../docs/about/list_of_features.rst:587 +msgid "" +":ref:`High-level multiplayer ` API using UDP and " +"ENet." +msgstr "" + +#: ../../docs/about/list_of_features.rst:589 +msgid "Automatic replication using remote procedure calls (RPCs)." +msgstr "" + +#: ../../docs/about/list_of_features.rst:590 +msgid "Supports unreliable, reliable and ordered transfers." +msgstr "" + +#: ../../docs/about/list_of_features.rst:592 +msgid "" +":ref:`WebSocket ` client and server, available on all " +"platforms." +msgstr "" + +#: ../../docs/about/list_of_features.rst:593 +msgid "" +":ref:`WebRTC ` client and server, available on all platforms." +msgstr "" + +#: ../../docs/about/list_of_features.rst:594 +msgid "" +"Support for :ref:`UPnP ` to sidestep the requirement to forward " +"ports when hosting a server behind a NAT." +msgstr "" + +#: ../../docs/about/list_of_features.rst:598 +#: ../../docs/about/docs_changelog.rst:291 +#: ../../docs/tutorials/i18n/index.rst:2 +msgid "Internationalization" +msgstr "" + +#: ../../docs/about/list_of_features.rst:600 +msgid "Full support for Unicode including emoji." +msgstr "" + +#: ../../docs/about/list_of_features.rst:601 +msgid "" +"Store localization strings using :ref:`CSV ` " +"or :ref:`gettext `." +msgstr "" + +#: ../../docs/about/list_of_features.rst:604 +msgid "Support for generating gettext POT and PO files from the editor." +msgstr "" + +#: ../../docs/about/list_of_features.rst:606 +msgid "" +"Use localized strings in your project automatically in GUI elements or by " +"using the ``tr()`` function." +msgstr "" + +#: ../../docs/about/list_of_features.rst:608 +msgid "" +"Support for pluralization and translation contexts when using gettext " +"translations." +msgstr "" + +#: ../../docs/about/list_of_features.rst:609 +msgid "" +"Support for :ref:`bidirectional typesetting " +"`, text shaping and OpenType localized " +"forms." +msgstr "" + +#: ../../docs/about/list_of_features.rst:611 +msgid "Automatic UI mirroring for right-to-left locales." +msgstr "" + +#: ../../docs/about/list_of_features.rst:612 +msgid "" +"Support for pseudolocalization to test your project for i18n-friendliness." +msgstr "" + +#: ../../docs/about/list_of_features.rst:615 +msgid "Windowing and OS integration" +msgstr "" + +#: ../../docs/about/list_of_features.rst:617 +msgid "Spawn multiple independent windows within a single process." +msgstr "" + +#: ../../docs/about/list_of_features.rst:618 +msgid "Move, resize, minimize, and maximize windows spawned by the project." +msgstr "" + +#: ../../docs/about/list_of_features.rst:619 +msgid "Change the window title and icon." +msgstr "" + +#: ../../docs/about/list_of_features.rst:620 +msgid "" +"Request attention (will cause the title bar to blink on most platforms)." +msgstr "" + +#: ../../docs/about/list_of_features.rst:621 +msgid "Fullscreen mode." +msgstr "" + +#: ../../docs/about/list_of_features.rst:623 +msgid "" +"Uses borderless fullscreen by default on Windows for fast alt-tabbing, but " +"can optionally use exclusive fullscreen to reduce input lag." +msgstr "" + +#: ../../docs/about/list_of_features.rst:626 +msgid "Borderless windows (fullscreen or non-fullscreen)." +msgstr "" + +#: ../../docs/about/list_of_features.rst:627 +msgid "Ability to keep a window always on top." +msgstr "" + +#: ../../docs/about/list_of_features.rst:628 +msgid "Global menu integration on macOS." +msgstr "" + +#: ../../docs/about/list_of_features.rst:629 +msgid "" +"Execute commands in a blocking or non-blocking manner (including running " +"multiple instances of the same project)." +msgstr "" + +#: ../../docs/about/list_of_features.rst:631 +msgid "" +"Open file paths and URLs using default or custom protocol handlers (if " +"registered on the system)." +msgstr "" + +#: ../../docs/about/list_of_features.rst:632 +msgid "Parse custom command line arguments." +msgstr "" + +#: ../../docs/about/list_of_features.rst:633 +msgid "" +"Any Godot binary (editor or exported project) can be :ref:`used as a " +"headless server ` by starting it with " +"the ``--headless`` command line argument. This allows running the engine " +"without a GPU or display server." +msgstr "" + +#: ../../docs/about/list_of_features.rst:639 +msgid "Mobile" +msgstr "" + +#: ../../docs/about/list_of_features.rst:641 +msgid "" +"In-app purchases on :ref:`Android ` and :ref:" +"`iOS `." +msgstr "" + +#: ../../docs/about/list_of_features.rst:643 +msgid "Support for advertisements using third-party modules." +msgstr "" + +#: ../../docs/about/list_of_features.rst:646 +msgid "XR support (AR and VR)" +msgstr "" + +#: ../../docs/about/list_of_features.rst:648 +msgid "Out of the box :ref:`support for OpenXR `." +msgstr "" + +#: ../../docs/about/list_of_features.rst:650 +msgid "" +"Including support for popular desktop headsets like the Valve Index, WMR " +"headsets, and Quest over Link." +msgstr "" + +#: ../../docs/about/list_of_features.rst:652 +msgid "" +"Support for :ref:`Android based headsets ` using " +"OpenXR through a plugin." +msgstr "" + +#: ../../docs/about/list_of_features.rst:654 +msgid "" +"Including support for popular stand alone headsets like the Meta Quest 1/2/3 " +"and Pro, Pico 4, Magic Leap 2, and Lynx R1." +msgstr "" + +#: ../../docs/about/list_of_features.rst:656 +msgid "Other devices supported through an XR plugin structure." +msgstr "" + +#: ../../docs/about/list_of_features.rst:657 +msgid "" +"Various advanced toolkits are available that implement common features " +"required by XR applications." +msgstr "" + +#: ../../docs/about/list_of_features.rst:660 +msgid "GUI system" +msgstr "" + +#: ../../docs/about/list_of_features.rst:662 +msgid "" +"Godot's GUI is built using the same Control nodes used to make games in " +"Godot. The editor UI can easily be extended in many ways using add-ons." +msgstr "" + +#: ../../docs/about/list_of_features.rst:665 +msgid "**Nodes:**" +msgstr "" + +#: ../../docs/about/list_of_features.rst:667 +msgid "Buttons." +msgstr "" + +#: ../../docs/about/list_of_features.rst:668 +msgid "Checkboxes, check buttons, radio buttons." +msgstr "" + +#: ../../docs/about/list_of_features.rst:669 +msgid "" +"Text entry using :ref:`class_LineEdit` (single line) and :ref:" +"`class_TextEdit` (multiple lines). TextEdit also supports code editing " +"features such as displaying line numbers and syntax highlighting." +msgstr "" + +#: ../../docs/about/list_of_features.rst:672 +msgid "" +"Dropdown menus using :ref:`class_PopupMenu` and :ref:`class_OptionButton`." +msgstr "" + +#: ../../docs/about/list_of_features.rst:673 +msgid "Scrollbars." +msgstr "" + +#: ../../docs/about/list_of_features.rst:674 +msgid "Labels." +msgstr "" + +#: ../../docs/about/list_of_features.rst:675 +msgid "" +"RichTextLabel for :ref:`text formatted using BBCode " +"`, with support for animated custom effects." +msgstr "" + +#: ../../docs/about/list_of_features.rst:677 +msgid "Trees (can also be used to represent tables)." +msgstr "" + +#: ../../docs/about/list_of_features.rst:678 +msgid "Color picker with RGB and HSV modes." +msgstr "" + +#: ../../docs/about/list_of_features.rst:679 +msgid "Controls can be rotated and scaled." +msgstr "" + +#: ../../docs/about/list_of_features.rst:681 +msgid "**Sizing:**" +msgstr "" + +#: ../../docs/about/list_of_features.rst:683 +msgid "Anchors to keep GUI elements in a specific corner, edge or centered." +msgstr "" + +#: ../../docs/about/list_of_features.rst:684 +msgid "Containers to place GUI elements automatically following certain rules." +msgstr "" + +#: ../../docs/about/list_of_features.rst:686 +msgid ":ref:`Stack ` layouts." +msgstr "" + +#: ../../docs/about/list_of_features.rst:687 +msgid ":ref:`Grid ` layouts." +msgstr "" + +#: ../../docs/about/list_of_features.rst:688 +msgid "" +":ref:`Flow ` layouts (similar to autowrapping text)." +msgstr "" + +#: ../../docs/about/list_of_features.rst:689 +msgid "" +":ref:`Margin `, :ref:`centered " +"` and :ref:`aspect ratio " +"` layouts." +msgstr "" + +#: ../../docs/about/list_of_features.rst:691 +msgid ":ref:`Draggable splitter ` layouts." +msgstr "" + +#: ../../docs/about/list_of_features.rst:693 +msgid "" +"Scale to :ref:`multiple resolutions ` using the " +"``canvas_items`` or ``viewport`` stretch modes." +msgstr "" + +#: ../../docs/about/list_of_features.rst:695 +msgid "" +"Support any aspect ratio using anchors and the ``expand`` stretch aspect." +msgstr "" + +#: ../../docs/about/list_of_features.rst:697 +msgid "**Theming:**" +msgstr "" + +#: ../../docs/about/list_of_features.rst:699 +msgid "Built-in theme editor." +msgstr "" + +#: ../../docs/about/list_of_features.rst:701 +msgid "Generate a theme based on the current editor theme settings." +msgstr "" + +#: ../../docs/about/list_of_features.rst:703 +msgid "Procedural vector-based theming using :ref:`class_StyleBoxFlat`." +msgstr "" + +#: ../../docs/about/list_of_features.rst:705 +msgid "" +"Supports rounded/beveled corners, drop shadows, per-border widths and " +"antialiasing." +msgstr "" + +#: ../../docs/about/list_of_features.rst:707 +msgid "Texture-based theming using :ref:`class_StyleBoxTexture`." +msgstr "" + +#: ../../docs/about/list_of_features.rst:709 +msgid "" +"Godot's small distribution size can make it a suitable alternative to " +"frameworks like Electron or Qt." +msgstr "" + +#: ../../docs/about/list_of_features.rst:713 +#: ../../docs/about/docs_changelog.rst:85 +#: ../../docs/about/docs_changelog.rst:148 +#: ../../docs/about/docs_changelog.rst:393 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.1.rst:49 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.2.rst:62 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:374 +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:713 +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:318 +#: ../../docs/tutorials/animation/index.rst:2 +#: ../../docs/tutorials/assets_pipeline/escn_exporter/animation.rst:2 +#: ../../docs/contributing/development/file_formats/tscn.rst:383 +msgid "Animation" +msgstr "" + +#: ../../docs/about/list_of_features.rst:715 +msgid "Direct kinematics and inverse kinematics." +msgstr "" + +#: ../../docs/about/list_of_features.rst:716 +msgid "Support for animating any property with customizable interpolation." +msgstr "" + +#: ../../docs/about/list_of_features.rst:717 +msgid "Support for calling methods in animation tracks." +msgstr "" + +#: ../../docs/about/list_of_features.rst:718 +msgid "Support for playing sounds in animation tracks." +msgstr "" + +#: ../../docs/about/list_of_features.rst:719 +msgid "Support for Bézier curves in animation." +msgstr "" + +#: ../../docs/about/list_of_features.rst:722 +msgid "File formats" +msgstr "" + +#: ../../docs/about/list_of_features.rst:724 +msgid "" +"Scenes and resources can be saved in :ref:`text-based " +"` or binary formats." +msgstr "" + +#: ../../docs/about/list_of_features.rst:726 +msgid "" +"Text-based formats are human-readable and more friendly to version control." +msgstr "" + +#: ../../docs/about/list_of_features.rst:727 +msgid "Binary formats are faster to save/load for large scenes/resources." +msgstr "" + +#: ../../docs/about/list_of_features.rst:729 +msgid "Read and write text or binary files using :ref:`class_FileAccess`." +msgstr "" + +#: ../../docs/about/list_of_features.rst:731 +msgid "Can optionally be compressed or encrypted." +msgstr "" + +#: ../../docs/about/list_of_features.rst:733 +msgid "Read and write :ref:`class_JSON` files." +msgstr "" + +#: ../../docs/about/list_of_features.rst:734 +msgid "" +"Read and write INI-style configuration files using :ref:`class_ConfigFile`." +msgstr "" + +#: ../../docs/about/list_of_features.rst:736 +msgid "Can (de)serialize any Godot datatype, including Vector2/3, Color, ..." +msgstr "" + +#: ../../docs/about/list_of_features.rst:738 +msgid "Read XML files using :ref:`class_XMLParser`." +msgstr "" + +#: ../../docs/about/list_of_features.rst:739 +msgid "" +":ref:`Load and save images, audio/video, fonts and ZIP archives " +"` in an exported project without having to " +"go through Godot's import system." +msgstr "" + +#: ../../docs/about/list_of_features.rst:741 +msgid "" +"Pack game data into a PCK file (custom format optimized for fast seeking), " +"into a ZIP archive, or directly into the executable for single-file " +"distribution." +msgstr "" + +#: ../../docs/about/list_of_features.rst:743 +msgid "" +":ref:`Export additional PCK files` that can be read by " +"the engine to support mods and DLCs." +msgstr "" + +#: ../../docs/about/list_of_features.rst:747 +#: ../../docs/about/docs_changelog.rst:445 +msgid "Miscellaneous" +msgstr "" + +#: ../../docs/about/list_of_features.rst:749 +msgid "" +":ref:`Video playback ` with built-in support for Ogg " +"Theora." +msgstr "" + +#: ../../docs/about/list_of_features.rst:750 +msgid "" +":ref:`Movie Maker mode ` to record videos from a " +"running project with synchronized audio and perfect frame pacing." +msgstr "" + +#: ../../docs/about/list_of_features.rst:752 +msgid "" +":ref:`Low-level access to servers ` which allows " +"bypassing the scene tree's overhead when needed." +msgstr "" + +#: ../../docs/about/list_of_features.rst:754 +msgid "" +":ref:`Command line interface ` for automation." +msgstr "" + +#: ../../docs/about/list_of_features.rst:756 +msgid "Export and deploy projects using continuous integration platforms." +msgstr "" + +#: ../../docs/about/list_of_features.rst:757 +msgid "" +"`Shell completion scripts `__ are available for Bash, zsh and fish." +msgstr "" + +#: ../../docs/about/list_of_features.rst:759 +msgid "" +"Print colored text to standard output on all platforms using :ref:" +"`print_rich `." +msgstr "" + +#: ../../docs/about/list_of_features.rst:762 +msgid "" +"Support for :ref:`C++ modules ` statically linked " +"into the engine binary." +msgstr "" + +#: ../../docs/about/list_of_features.rst:764 +msgid "Engine and editor written in C++17." +msgstr "" + +#: ../../docs/about/list_of_features.rst:766 +msgid "" +"Can be :ref:`compiled ` using GCC, " +"Clang and MSVC. MinGW is also supported." +msgstr "" + +#: ../../docs/about/list_of_features.rst:768 +msgid "" +"Friendly towards packagers. In most cases, system libraries can be used " +"instead of the ones provided by Godot. The build system doesn't download " +"anything. Builds can be fully reproducible." +msgstr "" + +#: ../../docs/about/list_of_features.rst:772 +msgid "Licensed under the permissive MIT license." +msgstr "" + +#: ../../docs/about/list_of_features.rst:774 +msgid "" +"Open development process with :ref:`contributions welcome " +"`." +msgstr "" + +#: ../../docs/about/list_of_features.rst:778 +msgid "" +"The `Godot proposals repository `__ lists features that have been requested by the community and " +"may be implemented in future Godot releases." +msgstr "" + +#: ../../docs/about/system_requirements.rst:4 +msgid "System requirements" +msgstr "" + +#: ../../docs/about/system_requirements.rst:6 +msgid "" +"This page contains system requirements for the editor and exported projects. " +"These specifications are given for informative purposes only, but they can " +"be referred to if you're looking to build or upgrade a system to use Godot " +"on." +msgstr "" + +#: ../../docs/about/system_requirements.rst:11 +msgid "Godot editor" +msgstr "" + +#: ../../docs/about/system_requirements.rst:13 +msgid "" +"These are the **minimum** specifications required to run the Godot editor " +"and work on a simple 2D or 3D project:" +msgstr "" + +#: ../../docs/about/system_requirements.rst:17 +#: ../../docs/about/system_requirements.rst:202 +msgid "Desktop or laptop PC - Minimum" +msgstr "" + +#: ../../docs/about/system_requirements.rst:24 +#: ../../docs/about/system_requirements.rst:76 +#: ../../docs/about/system_requirements.rst:114 +#: ../../docs/about/system_requirements.rst:152 +#: ../../docs/about/system_requirements.rst:209 +#: ../../docs/about/system_requirements.rst:259 +#: ../../docs/about/system_requirements.rst:297 +#: ../../docs/about/system_requirements.rst:335 +msgid "**CPU**" +msgstr "" + +#: ../../docs/about/system_requirements.rst:24 +#: ../../docs/about/system_requirements.rst:209 +msgid "**Windows:** x86_32 CPU with SSE2 instructions, or any x86_64 CPU" +msgstr "" + +#: ../../docs/about/system_requirements.rst:26 +#: ../../docs/about/system_requirements.rst:211 +msgid "*Example: Intel Core 2 Duo E8200, AMD Athlon XE BE-2300*" +msgstr "" + +#: ../../docs/about/system_requirements.rst:28 +#: ../../docs/about/system_requirements.rst:118 +#: ../../docs/about/system_requirements.rst:213 +#: ../../docs/about/system_requirements.rst:301 +msgid "**macOS:** x86_64 or ARM CPU (Apple Silicon)" +msgstr "" + +#: ../../docs/about/system_requirements.rst:30 +#: ../../docs/about/system_requirements.rst:215 +msgid "*Example: Intel Core 2 Duo SU9400, Apple M1*" +msgstr "" + +#: ../../docs/about/system_requirements.rst:32 +#: ../../docs/about/system_requirements.rst:122 +#: ../../docs/about/system_requirements.rst:217 +#: ../../docs/about/system_requirements.rst:305 +msgid "" +"**Linux:** x86_32 CPU with SSE2 instructions, x86_64 CPU, ARMv7 or ARMv8 CPU" +msgstr "" + +#: ../../docs/about/system_requirements.rst:34 +#: ../../docs/about/system_requirements.rst:219 +msgid "" +"*Example: Intel Core 2 Duo E8200, AMD Athlon XE BE-2300, Raspberry Pi 4*" +msgstr "" + +#: ../../docs/about/system_requirements.rst:36 +#: ../../docs/about/system_requirements.rst:82 +#: ../../docs/about/system_requirements.rst:126 +#: ../../docs/about/system_requirements.rst:158 +#: ../../docs/about/system_requirements.rst:221 +#: ../../docs/about/system_requirements.rst:267 +#: ../../docs/about/system_requirements.rst:309 +#: ../../docs/about/system_requirements.rst:343 +msgid "**GPU**" +msgstr "" + +#: ../../docs/about/system_requirements.rst:36 +#: ../../docs/about/system_requirements.rst:221 +msgid "" +"**Forward+ rendering method:** Integrated graphics with full Vulkan 1.0 " +"support" +msgstr "" + +#: ../../docs/about/system_requirements.rst:38 +#: ../../docs/about/system_requirements.rst:42 +#: ../../docs/about/system_requirements.rst:223 +#: ../../docs/about/system_requirements.rst:227 +msgid "" +"*Example: Intel HD Graphics 5500 (Broadwell), AMD Radeon R5 Graphics " +"(Kaveri)*" +msgstr "" + +#: ../../docs/about/system_requirements.rst:40 +#: ../../docs/about/system_requirements.rst:225 +msgid "" +"**Mobile rendering method:** Integrated graphics with full Vulkan 1.0 support" +msgstr "" + +#: ../../docs/about/system_requirements.rst:44 +#: ../../docs/about/system_requirements.rst:229 +msgid "" +"**Compatibility rendering method:** Integrated graphics with full OpenGL 3.3 " +"support" +msgstr "" + +#: ../../docs/about/system_requirements.rst:46 +#: ../../docs/about/system_requirements.rst:231 +msgid "" +"*Example: Intel HD Graphics 2500 (Ivy Bridge), AMD Radeon R5 Graphics " +"(Kaveri)*" +msgstr "" + +#: ../../docs/about/system_requirements.rst:48 +#: ../../docs/about/system_requirements.rst:94 +#: ../../docs/about/system_requirements.rst:138 +#: ../../docs/about/system_requirements.rst:170 +#: ../../docs/about/system_requirements.rst:233 +#: ../../docs/about/system_requirements.rst:279 +#: ../../docs/about/system_requirements.rst:321 +#: ../../docs/about/system_requirements.rst:355 +msgid "**RAM**" +msgstr "" + +#: ../../docs/about/system_requirements.rst:48 +msgid "**Native editor:** 4 GB" +msgstr "" + +#: ../../docs/about/system_requirements.rst:49 +#: ../../docs/about/system_requirements.rst:171 +msgid "**Web editor:** 8 GB" +msgstr "" + +#: ../../docs/about/system_requirements.rst:51 +#: ../../docs/about/system_requirements.rst:97 +#: ../../docs/about/system_requirements.rst:141 +#: ../../docs/about/system_requirements.rst:173 +#: ../../docs/about/system_requirements.rst:236 +#: ../../docs/about/system_requirements.rst:282 +#: ../../docs/about/system_requirements.rst:324 +#: ../../docs/about/system_requirements.rst:358 +msgid "**Storage**" +msgstr "" + +#: ../../docs/about/system_requirements.rst:51 +#: ../../docs/about/system_requirements.rst:97 +msgid "" +"200 MB (used for the executable, project files and cache). Exporting " +"projects requires downloading export templates separately (1.3 GB after " +"installation)." +msgstr "" + +#: ../../docs/about/system_requirements.rst:55 +#: ../../docs/about/system_requirements.rst:101 +#: ../../docs/about/system_requirements.rst:143 +#: ../../docs/about/system_requirements.rst:175 +#: ../../docs/about/system_requirements.rst:238 +#: ../../docs/about/system_requirements.rst:284 +#: ../../docs/about/system_requirements.rst:326 +#: ../../docs/about/system_requirements.rst:360 +msgid "**Operating system**" +msgstr "" + +#: ../../docs/about/system_requirements.rst:55 +msgid "" +"**Native editor:** Windows 7, macOS 10.13 (Compatibility) or macOS 10.15 " +"(Forward+/Mobile), Linux distribution released after 2016" +msgstr "" + +#: ../../docs/about/system_requirements.rst:57 +msgid "**Web editor:** Firefox 79, Chrome 68, Edge 79, Safari 15.2, Opera 64" +msgstr "" + +#: ../../docs/about/system_requirements.rst:62 +#: ../../docs/about/system_requirements.rst:245 +msgid "" +"Windows 7/8/8.1 are supported on a best-effort basis. These versions are not " +"regularly tested and some features may be missing (such as colored :ref:" +"`print_rich ` console output). Support " +"for Windows 7/8/8.1 may be removed in a :ref:`future Godot 4.x release " +"`." +msgstr "" + +#: ../../docs/about/system_requirements.rst:68 +#: ../../docs/about/system_requirements.rst:251 +msgid "" +"Vulkan drivers for these Windows versions are known to have issues with " +"memory leaks. As a result, it's recommended to stick to the Compatibility " +"rendering method when running Godot on an Windows version older than 10." +msgstr "" + +#: ../../docs/about/system_requirements.rst:73 +#: ../../docs/about/system_requirements.rst:256 +msgid "Mobile device (smartphone/tablet) - Minimum" +msgstr "" + +#: ../../docs/about/system_requirements.rst:76 +#: ../../docs/about/system_requirements.rst:259 +msgid "**Android:** SoC with any 32-bit or 64-bit ARM or x86 CPU" +msgstr "" + +#: ../../docs/about/system_requirements.rst:78 +#: ../../docs/about/system_requirements.rst:261 +msgid "*Example: Qualcomm Snapdragon 430, Samsung Exynos 5 Octa 5430*" +msgstr "" + +#: ../../docs/about/system_requirements.rst:80 +#: ../../docs/about/system_requirements.rst:156 +msgid "**iOS:** *Cannot run the editor*" +msgstr "" + +#: ../../docs/about/system_requirements.rst:82 +#: ../../docs/about/system_requirements.rst:267 +msgid "" +"**Forward+ rendering method:** SoC featuring GPU with full Vulkan 1.0 support" +msgstr "" + +#: ../../docs/about/system_requirements.rst:84 +#: ../../docs/about/system_requirements.rst:88 +msgid "*Example: Qualcomm Adreno 505, Mali-G71 MP2*" +msgstr "" + +#: ../../docs/about/system_requirements.rst:86 +#: ../../docs/about/system_requirements.rst:271 +msgid "" +"**Mobile rendering method:** SoC featuring GPU with full Vulkan 1.0 support" +msgstr "" + +#: ../../docs/about/system_requirements.rst:90 +#: ../../docs/about/system_requirements.rst:275 +msgid "" +"**Compatibility rendering method:** SoC featuring GPU with full OpenGL ES " +"3.0 support" +msgstr "" + +#: ../../docs/about/system_requirements.rst:92 +msgid "*Example: Qualcomm Adreno 306, Mali-T628 MP6*" +msgstr "" + +#: ../../docs/about/system_requirements.rst:94 +msgid "**Native editor:** 3 GB" +msgstr "" + +#: ../../docs/about/system_requirements.rst:95 +msgid "**Web editor:** 6 GB" +msgstr "" + +#: ../../docs/about/system_requirements.rst:101 +msgid "" +"**Native editor:** Android 6.0 (Compatibility) or Android 9.0 (Forward+/" +"Mobile), iOS 11.0" +msgstr "" + +#: ../../docs/about/system_requirements.rst:103 +msgid "" +"**Web editor:** Firefox 79, Chrome 88, Edge 79, Safari 15.2, Opera 64, " +"Samsung Internet 15" +msgstr "" + +#: ../../docs/about/system_requirements.rst:107 +msgid "" +"These are the **recommended** specifications to get a smooth experience with " +"the Godot editor on a simple 2D or 3D project:" +msgstr "" + +#: ../../docs/about/system_requirements.rst:111 +#: ../../docs/about/system_requirements.rst:294 +msgid "Desktop or laptop PC - Recommended" +msgstr "" + +#: ../../docs/about/system_requirements.rst:114 +#: ../../docs/about/system_requirements.rst:297 +msgid "" +"**Windows:** x86_64 CPU with SSE4.2 instructions, with 4 physical cores or " +"more" +msgstr "" + +#: ../../docs/about/system_requirements.rst:116 +#: ../../docs/about/system_requirements.rst:299 +msgid "*Example: Intel Core i5-6600K, AMD Ryzen 5 1600*" +msgstr "" + +#: ../../docs/about/system_requirements.rst:120 +#: ../../docs/about/system_requirements.rst:303 +msgid "*Example: Intel Core i5-8500, Apple M1*" +msgstr "" + +#: ../../docs/about/system_requirements.rst:124 +#: ../../docs/about/system_requirements.rst:307 +msgid "" +"*Example: Intel Core i5-6600K, AMD Ryzen 5 1600, Raspberry Pi 5 with " +"overclocking*" +msgstr "" + +#: ../../docs/about/system_requirements.rst:126 +#: ../../docs/about/system_requirements.rst:309 +msgid "" +"**Forward+ rendering method:** Dedicated graphics with full Vulkan 1.2 " +"support" +msgstr "" + +#: ../../docs/about/system_requirements.rst:128 +#: ../../docs/about/system_requirements.rst:132 +#: ../../docs/about/system_requirements.rst:311 +#: ../../docs/about/system_requirements.rst:315 +msgid "" +"*Example: NVIDIA GeForce GTX 1050 (Pascal), AMD Radeon RX 460 (GCN 4.0)*" +msgstr "" + +#: ../../docs/about/system_requirements.rst:130 +#: ../../docs/about/system_requirements.rst:313 +msgid "" +"**Mobile rendering method:** Dedicated graphics with full Vulkan 1.2 support" +msgstr "" + +#: ../../docs/about/system_requirements.rst:134 +#: ../../docs/about/system_requirements.rst:317 +msgid "" +"**Compatibility rendering method:** Dedicated graphics with full OpenGL 4.6 " +"support" +msgstr "" + +#: ../../docs/about/system_requirements.rst:136 +#: ../../docs/about/system_requirements.rst:319 +msgid "" +"*Example: NVIDIA GeForce GTX 650 (Kepler), AMD Radeon HD 7750 (GCN 1.0)*" +msgstr "" + +#: ../../docs/about/system_requirements.rst:138 +msgid "**Native editor:** 8 GB" +msgstr "" + +#: ../../docs/about/system_requirements.rst:139 +msgid "**Web editor:** 12 GB" +msgstr "" + +#: ../../docs/about/system_requirements.rst:141 +#: ../../docs/about/system_requirements.rst:173 +msgid "" +"1.5 GB (used for the executable, project files, all export templates and " +"cache)" +msgstr "" + +#: ../../docs/about/system_requirements.rst:143 +msgid "" +"**Native editor:** Windows 10, macOS 10.15, Linux distribution released " +"after 2020" +msgstr "" + +#: ../../docs/about/system_requirements.rst:145 +msgid "**Web editor:** Latest version of Firefox, Chrome, Edge, Safari, Opera" +msgstr "" + +#: ../../docs/about/system_requirements.rst:149 +#: ../../docs/about/system_requirements.rst:332 +msgid "Mobile device (smartphone/tablet) - Recommended" +msgstr "" + +#: ../../docs/about/system_requirements.rst:152 +#: ../../docs/about/system_requirements.rst:335 +msgid "" +"**Android:** SoC with 64-bit ARM or x86 CPU, with 3 \"performance\" cores or " +"more" +msgstr "" + +#: ../../docs/about/system_requirements.rst:154 +#: ../../docs/about/system_requirements.rst:337 +msgid "*Example: Qualcomm Snapdragon 845, Samsung Exynos 9810*" +msgstr "" + +#: ../../docs/about/system_requirements.rst:158 +#: ../../docs/about/system_requirements.rst:343 +msgid "" +"**Forward+ rendering method:** SoC featuring GPU with full Vulkan 1.2 support" +msgstr "" + +#: ../../docs/about/system_requirements.rst:160 +#: ../../docs/about/system_requirements.rst:164 +#: ../../docs/about/system_requirements.rst:168 +msgid "*Example: Qualcomm Adreno 630, Mali-G72 MP18*" +msgstr "" + +#: ../../docs/about/system_requirements.rst:162 +#: ../../docs/about/system_requirements.rst:347 +msgid "" +"**Mobile rendering method:** SoC featuring GPU with full Vulkan 1.2 support" +msgstr "" + +#: ../../docs/about/system_requirements.rst:166 +#: ../../docs/about/system_requirements.rst:351 +msgid "" +"**Compatibility rendering method:** SoC featuring GPU with full OpenGL ES " +"3.2 support" +msgstr "" + +#: ../../docs/about/system_requirements.rst:170 +msgid "**Native editor:** 6 GB" +msgstr "" + +#: ../../docs/about/system_requirements.rst:175 +msgid "**Native editor:** Android 9.0 or iOS 11.0" +msgstr "" + +#: ../../docs/about/system_requirements.rst:176 +msgid "" +"**Web editor:** Latest version of Firefox, Chrome, Edge, Safari, Opera, " +"Samsung Internet" +msgstr "" + +#: ../../docs/about/system_requirements.rst:181 +msgid "Exported Godot project" +msgstr "" + +#: ../../docs/about/system_requirements.rst:185 +msgid "" +"The requirements below are a baseline for a **simple** 2D or 3D project, " +"with basic scripting and few visual flourishes. CPU, GPU, RAM and storage " +"requirements will heavily vary depending on your project's scope, its " +"rendering method, viewport resolution and graphics settings chosen. Other " +"programs running on the system while the project is running will also " +"compete for resources, including RAM and video RAM." +msgstr "" + +#: ../../docs/about/system_requirements.rst:192 +msgid "" +"It is strongly recommended to do your own testing on low-end hardware to " +"make sure your project runs at the desired speed. To provide scalability for " +"low-end hardware, you will also need to introduce a `graphics options menu " +"`__ to your project." +msgstr "" + +#: ../../docs/about/system_requirements.rst:198 +msgid "" +"These are the **minimum** specifications required to run a simple 2D or 3D " +"project exported with Godot:" +msgstr "" + +#: ../../docs/about/system_requirements.rst:233 +#: ../../docs/about/system_requirements.rst:355 +msgid "**For native exports:** 2 GB" +msgstr "" + +#: ../../docs/about/system_requirements.rst:234 +#: ../../docs/about/system_requirements.rst:356 +msgid "**For web exports:** 4 GB" +msgstr "" + +#: ../../docs/about/system_requirements.rst:236 +#: ../../docs/about/system_requirements.rst:282 +#: ../../docs/about/system_requirements.rst:324 +#: ../../docs/about/system_requirements.rst:358 +msgid "150 MB (used for the executable, project files and cache)" +msgstr "" + +#: ../../docs/about/system_requirements.rst:238 +msgid "" +"**For native exports:** Windows 7, macOS 10.13 (Compatibility) or macOS " +"10.15 (Forward+/Mobile), Linux distribution released after 2016" +msgstr "" + +#: ../../docs/about/system_requirements.rst:240 +msgid "" +"**For web exports:** Firefox 79, Chrome 68, Edge 79, Safari 15.2, Opera 64" +msgstr "" + +#: ../../docs/about/system_requirements.rst:263 +msgid "**iOS:** SoC with any 64-bit ARM CPU" +msgstr "" + +#: ../../docs/about/system_requirements.rst:265 +msgid "*Example: Apple A7 (iPhone 5S)*" +msgstr "" + +#: ../../docs/about/system_requirements.rst:269 +#: ../../docs/about/system_requirements.rst:273 +msgid "" +"*Example: Qualcomm Adreno 505, Mali-G71 MP2, PowerVR G6430 (iPhone 6S/iPhone " +"SE 1)*" +msgstr "" + +#: ../../docs/about/system_requirements.rst:277 +msgid "" +"*Example: Qualcomm Adreno 306, Mali-T628 MP6, PowerVR G6430 (iPhone 5S)*" +msgstr "" + +#: ../../docs/about/system_requirements.rst:279 +msgid "**For native exports:** 1 GB" +msgstr "" + +#: ../../docs/about/system_requirements.rst:280 +msgid "**For web exports:** 2 GB" +msgstr "" + +#: ../../docs/about/system_requirements.rst:284 +msgid "" +"**For native exports:** Android 6.0 (Compatibility) or Android 9.0 (Forward+/" +"Mobile), iOS 11.0" +msgstr "" + +#: ../../docs/about/system_requirements.rst:286 +msgid "" +"**For web exports:** Firefox 79, Chrome 88, Edge 79, Safari 15.2, Opera 64, " +"Samsung Internet 15" +msgstr "" + +#: ../../docs/about/system_requirements.rst:290 +msgid "" +"These are the **recommended** specifications to get a smooth experience with " +"a simple 2D or 3D project exported with Godot:" +msgstr "" + +#: ../../docs/about/system_requirements.rst:321 +msgid "**For native exports:** 4 GB" +msgstr "" + +#: ../../docs/about/system_requirements.rst:322 +msgid "**For web exports:** 8 GB" +msgstr "" + +#: ../../docs/about/system_requirements.rst:326 +msgid "" +"**For native exports:** Windows 10, macOS 10.15, Linux distribution released " +"after 2020" +msgstr "" + +#: ../../docs/about/system_requirements.rst:328 +msgid "" +"**For web exports:** Latest version of Firefox, Chrome, Edge, Safari, Opera" +msgstr "" + +#: ../../docs/about/system_requirements.rst:339 +msgid "**iOS:** SoC with 64-bit ARM CPU" +msgstr "" + +#: ../../docs/about/system_requirements.rst:341 +msgid "*Example: Apple A11 (iPhone XS/XR)*" +msgstr "" + +#: ../../docs/about/system_requirements.rst:345 +#: ../../docs/about/system_requirements.rst:349 +#: ../../docs/about/system_requirements.rst:353 +msgid "" +"*Example: Qualcomm Adreno 630, Mali-G72 MP18, Apple G11P (iPhone XR/XS)*" +msgstr "" + +#: ../../docs/about/system_requirements.rst:360 +msgid "**For native exports:** Android 9.0 or iOS 11.0" +msgstr "" + +#: ../../docs/about/system_requirements.rst:361 +msgid "" +"**For web exports:** Latest version of Firefox, Chrome, Edge, Safari, Opera, " +"Samsung Internet" +msgstr "" + +#: ../../docs/about/system_requirements.rst:367 +msgid "" +"Godot doesn't use OpenGL/OpenGL ES extensions introduced after OpenGL 3.3/" +"OpenGL ES 3.0, but GPUs supporting newer OpenGL/OpenGL ES versions generally " +"have fewer driver issues." +msgstr "" + #: ../../docs/about/faq.rst:1 msgid "FAQ" msgstr "" @@ -532,7 +3190,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:493 -#: ../../docs/tutorials/rendering/jitter_stutter.rst:121 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:133 #: ../../docs/contributing/development/debugging/vulkan/vulkan_validation_layers.rst:30 msgid "macOS" msgstr "" @@ -557,14 +3215,14 @@ msgstr "" #: ../../docs/about/faq.rst:53 #: ../../docs/tutorials/export/one-click_deploy.rst:68 #: ../../docs/tutorials/platform/android/index.rst:2 -#: ../../docs/tutorials/rendering/jitter_stutter.rst:128 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:140 #: ../../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:54 -#: ../../docs/tutorials/rendering/jitter_stutter.rst:135 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:147 #: ../../docs/contributing/development/debugging/vulkan/vulkan_validation_layers.rst:141 msgid "iOS" msgstr "" @@ -896,8 +3554,8 @@ msgid "" msgstr "" #: ../../docs/about/faq.rst:244 -#: ../../docs/tutorials/inputs/controllers_gamepads_joysticks.rst:343 -#: ../../docs/tutorials/rendering/jitter_stutter.rst:102 +#: ../../docs/tutorials/inputs/controllers_gamepads_joysticks.rst:347 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:114 #: ../../docs/tutorials/ui/gui_using_fonts.rst:764 msgid "Linux" msgstr "" @@ -1349,9 +4007,9 @@ msgstr "" #: ../../docs/about/faq.rst:519 msgid "" -"Godot build process makes heavy use of cross-compiling tools. Each platform " -"has a specific detection process, and all these must be handled as specific " -"cases with special code written for each." +"Godot's build process makes heavy use of cross-compiling tools. Each " +"platform has a specific detection process, and all these must be handled as " +"specific cases with special code written for each." msgstr "" #: ../../docs/about/faq.rst:523 @@ -1498,2878 +4156,336 @@ msgid "" "contact>`_." msgstr "" -#: ../../docs/about/list_of_features.rst:4 -msgid "List of features" +#: ../../docs/about/complying_with_licenses.rst:4 +msgid "Complying with licenses" msgstr "" -#: ../../docs/about/list_of_features.rst:6 -msgid "This page aims to list **all** features currently supported by Godot." +#: ../../docs/about/complying_with_licenses.rst:7 +msgid "What are licenses?" msgstr "" -#: ../../docs/about/list_of_features.rst:10 +#: ../../docs/about/complying_with_licenses.rst:9 msgid "" -"This page lists features supported by the current stable version of Godot. " -"Some of these features may not be available in the `LTS release series (3.x) " -"`__." +"Godot is created and distributed under the `MIT License `_. It doesn't have a sole owner either, as every " +"contributor that submits code to the project does it under this same license " +"and keeps ownership of the contribution." msgstr "" -#: ../../docs/about/list_of_features.rst:15 -msgid "Platforms" -msgstr "" - -#: ../../docs/about/list_of_features.rst:17 -msgid "**Can run both the editor and exported projects:**" -msgstr "" - -#: ../../docs/about/list_of_features.rst:19 -msgid "Windows 7 and later (64-bit and 32-bit)." -msgstr "" - -#: ../../docs/about/list_of_features.rst:20 -msgid "macOS 10.12 and later (64-bit, x86 and ARM)." -msgstr "" - -#: ../../docs/about/list_of_features.rst:21 -msgid "Linux (64-bit, x86 and ARM)." -msgstr "" - -#: ../../docs/about/list_of_features.rst:23 -msgid "" -"Binaries are statically linked and can run on any distribution if compiled " -"on an old enough base distribution." -msgstr "" - -#: ../../docs/about/list_of_features.rst:25 -msgid "Official binaries are compiled on Ubuntu 14.04." -msgstr "" - -#: ../../docs/about/list_of_features.rst:26 -msgid "32-bit binaries can be compiled from source." -msgstr "" - -#: ../../docs/about/list_of_features.rst:28 -msgid "Android 6.0 and later (editor support is experimental)." -msgstr "" - -#: ../../docs/about/list_of_features.rst:29 -msgid "" -":ref:`Web browsers `. Experimental in 4.0, using " -"Godot 3.x is recommended instead when targeting HTML5." -msgstr "" - -#: ../../docs/about/list_of_features.rst:32 -msgid "**Runs exported projects:**" -msgstr "" - -#: ../../docs/about/list_of_features.rst:34 -msgid "iOS 11.0 and later." -msgstr "" - -#: ../../docs/about/list_of_features.rst:35 -msgid ":ref:`Consoles `." -msgstr "" - -#: ../../docs/about/list_of_features.rst:37 -msgid "" -"Godot aims to be as platform-independent as possible and can be :ref:`ported " -"to new platforms ` with relative ease." -msgstr "" - -#: ../../docs/about/list_of_features.rst:42 -#: ../../docs/getting_started/step_by_step/scripting_languages.rst:131 -msgid "" -"Projects written in C# using Godot 4 currently cannot be exported to the web " -"platform. To use C# on that platform, consider Godot 3 instead. Android and " -"iOS platform support is available as of Godot 4.2, but is experimental and :" -"ref:`some limitations apply `." -msgstr "" - -#: ../../docs/about/list_of_features.rst:48 -#: ../../docs/about/docs_changelog.rst:125 -#: ../../docs/about/docs_changelog.rst:180 -#: ../../docs/tutorials/editor/external_editor.rst:38 -#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:183 -msgid "Editor" -msgstr "" - -#: ../../docs/about/list_of_features.rst:50 -#: ../../docs/about/list_of_features.rst:488 -msgid "**Features:**" -msgstr "" - -#: ../../docs/about/list_of_features.rst:52 -msgid "Scene tree editor." -msgstr "" - -#: ../../docs/about/list_of_features.rst:53 -msgid "Built-in script editor." -msgstr "" - -#: ../../docs/about/list_of_features.rst:54 -msgid "" -"Support for :ref:`external script editors ` such as " -"Visual Studio Code or Vim." -msgstr "" - -#: ../../docs/about/list_of_features.rst:56 -msgid "GDScript :ref:`debugger `." -msgstr "" - -#: ../../docs/about/list_of_features.rst:58 -msgid "No support for debugging in threads yet." -msgstr "" - -#: ../../docs/about/list_of_features.rst:59 -msgid "" -"Visual profiler with CPU and GPU time indications for each step of the " -"rendering pipeline." -msgstr "" - -#: ../../docs/about/list_of_features.rst:61 -msgid "" -"Performance monitoring tools, including :ref:`custom performance monitors " -"`." -msgstr "" - -#: ../../docs/about/list_of_features.rst:63 -msgid "Live script reloading." -msgstr "" - -#: ../../docs/about/list_of_features.rst:64 -msgid "Live scene editing." -msgstr "" - -#: ../../docs/about/list_of_features.rst:66 -msgid "" -"Changes will reflect in the editor and will be kept after closing the " -"running project." -msgstr "" - -#: ../../docs/about/list_of_features.rst:68 -msgid "Remote inspector." -msgstr "" - -#: ../../docs/about/list_of_features.rst:70 -msgid "" -"Changes won't reflect in the editor and won't be kept after closing the " -"running project." -msgstr "" - -#: ../../docs/about/list_of_features.rst:72 -msgid "Live camera replication." -msgstr "" - -#: ../../docs/about/list_of_features.rst:74 -msgid "Move the in-editor camera and see the result in the running project." -msgstr "" - -#: ../../docs/about/list_of_features.rst:76 -msgid "Built-in offline class reference documentation." -msgstr "" - -#: ../../docs/about/list_of_features.rst:77 -msgid "Use the editor in dozens of languages contributed by the community." -msgstr "" - -#: ../../docs/about/list_of_features.rst:79 -msgid "**Plugins:**" -msgstr "" - -#: ../../docs/about/list_of_features.rst:81 -msgid "" -"Editor plugins can be downloaded from the :ref:`asset library " -"` to extend editor functionality." -msgstr "" - -#: ../../docs/about/list_of_features.rst:83 -msgid "" -":ref:`Create your own plugins ` using GDScript to add " -"new features or speed up your workflow." -msgstr "" - -#: ../../docs/about/list_of_features.rst:85 -msgid "" -":ref:`Download projects from the asset library ` " -"in the Project Manager and import them directly." -msgstr "" - -#: ../../docs/about/list_of_features.rst:89 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.1.rst:120 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.2.rst:128 -#: ../../docs/tutorials/2d/index.rst:12 ../../docs/tutorials/3d/index.rst:14 -#: ../../docs/tutorials/performance/thread_safe_apis.rst:55 -#: ../../docs/tutorials/rendering/index.rst:2 -#: ../../docs/tutorials/rendering/viewports.rst:174 -msgid "Rendering" -msgstr "" - -#: ../../docs/about/list_of_features.rst:91 -msgid "" -"3 rendering *methods* (running over 2 rendering *drivers*) are available:" -msgstr "" - -#: ../../docs/about/list_of_features.rst:93 -msgid "" -"**Forward+**, running over Vulkan 1.0 (with optional Vulkan 1.1 and 1.2 " -"features). The most advanced graphics backend, suited for desktop platforms " -"only. Used by default on desktop platforms." -msgstr "" - -#: ../../docs/about/list_of_features.rst:96 -msgid "" -"**Forward Mobile**, running over Vulkan 1.0 (with optional Vulkan 1.1 and " -"1.2 features). Less features, but renders simple scenes faster. Suited for " -"mobile and desktop platforms. Used by default on mobile platforms." -msgstr "" - -#: ../../docs/about/list_of_features.rst:99 -msgid "" -"**Compatibility**, running over OpenGL 3.3 / OpenGL ES 3.0 / WebGL 2.0. The " -"least advanced graphics backend, suited for low-end desktop and mobile " -"platforms. Used by default on the web platform." -msgstr "" - -#: ../../docs/about/list_of_features.rst:104 -msgid "2D graphics" -msgstr "" - -#: ../../docs/about/list_of_features.rst:106 -msgid "Sprite, polygon and line rendering." -msgstr "" - -#: ../../docs/about/list_of_features.rst:108 -msgid "" -"High-level tools to draw lines and polygons such as :ref:`class_Polygon2D` " -"and :ref:`class_Line2D`, with support for texturing." -msgstr "" - -#: ../../docs/about/list_of_features.rst:111 -msgid "AnimatedSprite2D as a helper for creating animated sprites." -msgstr "" - -#: ../../docs/about/list_of_features.rst:112 -msgid "Parallax layers." -msgstr "" - -#: ../../docs/about/list_of_features.rst:114 -msgid "Pseudo-3D support including preview in the editor." -msgstr "" - -#: ../../docs/about/list_of_features.rst:116 -msgid "" -":ref:`2D lighting ` with normal maps and specular " -"maps." -msgstr "" - -#: ../../docs/about/list_of_features.rst:118 -msgid "Point (omni/spot) and directional 2D lights." -msgstr "" - -#: ../../docs/about/list_of_features.rst:119 -msgid "Hard or soft shadows (adjustable on a per-light basis)." -msgstr "" - -#: ../../docs/about/list_of_features.rst:120 -msgid "" -"Custom shaders can access a real-time :abbr:`SDF (Signed Distance Field)` " -"representation of the 2D scene based on :ref:`class_LightOccluder2D` nodes, " -"which can be used for improved 2D lighting effects including 2D global " -"illumination." -msgstr "" - -#: ../../docs/about/list_of_features.rst:124 -msgid "" -":ref:`Font rendering ` using bitmaps, rasterization " -"using FreeType or multi-channel signed distance fields (MSDF)." -msgstr "" - -#: ../../docs/about/list_of_features.rst:127 -msgid "" -"Bitmap fonts can be exported using tools like BMFont, or imported from " -"images (for fixed-width fonts only)." -msgstr "" - -#: ../../docs/about/list_of_features.rst:129 -msgid "" -"Dynamic fonts support monochrome fonts as well as colored fonts (e.g. for " -"emoji). Supported formats are TTF, OTF, WOFF1 and WOFF2." -msgstr "" - -#: ../../docs/about/list_of_features.rst:131 -msgid "" -"Dynamic fonts support optional font outlines with adjustable width and color." -msgstr "" - -#: ../../docs/about/list_of_features.rst:132 -msgid "" -"Dynamic fonts support variable fonts and OpenType features including " -"ligatures." -msgstr "" - -#: ../../docs/about/list_of_features.rst:133 -msgid "" -"Dynamic fonts support simulated bold and italic when the font file lacks " -"those styles." -msgstr "" - -#: ../../docs/about/list_of_features.rst:135 -msgid "" -"Dynamic fonts support oversampling to keep fonts sharp at higher resolutions." -msgstr "" - -#: ../../docs/about/list_of_features.rst:136 -msgid "" -"Dynamic fonts support subpixel positioning to make fonts crisper at low " -"sizes." -msgstr "" - -#: ../../docs/about/list_of_features.rst:137 -msgid "" -"Dynamic fonts support LCD subpixel optimizations to make fonts even crisper " -"at low sizes." -msgstr "" - -#: ../../docs/about/list_of_features.rst:138 -msgid "" -"Signed distance field fonts can be scaled at any resolution without " -"requiring re-rasterization. Multi-channel usage makes SDF fonts scale down " -"to lower sizes better compared to monochrome SDF fonts." -msgstr "" - -#: ../../docs/about/list_of_features.rst:142 -msgid "" -"GPU-based :ref:`particles ` with support for :ref:" -"`custom particle shaders `." -msgstr "" - -#: ../../docs/about/list_of_features.rst:144 -#: ../../docs/about/list_of_features.rst:334 -msgid "CPU-based particles." -msgstr "" - -#: ../../docs/about/list_of_features.rst:145 -msgid "" -"Optional :ref:`2D HDR rendering " -"` for better glow " -"capabilities." -msgstr "" - -#: ../../docs/about/list_of_features.rst:149 -msgid "2D tools" -msgstr "" - -#: ../../docs/about/list_of_features.rst:151 -msgid ":ref:`TileMaps ` for 2D tile-based level design." -msgstr "" - -#: ../../docs/about/list_of_features.rst:152 -msgid "2D camera with built-in smoothing and drag margins." -msgstr "" - -#: ../../docs/about/list_of_features.rst:153 -msgid "Path2D node to represent a path in 2D space." -msgstr "" - -#: ../../docs/about/list_of_features.rst:155 -#: ../../docs/about/list_of_features.rst:395 -msgid "Can be drawn in the editor or generated procedurally." -msgstr "" - -#: ../../docs/about/list_of_features.rst:156 -msgid "PathFollow2D node to make nodes follow a Path2D." -msgstr "" - -#: ../../docs/about/list_of_features.rst:158 -msgid ":ref:`2D geometry helper class `." -msgstr "" - -#: ../../docs/about/list_of_features.rst:161 -msgid "2D physics" -msgstr "" - -#: ../../docs/about/list_of_features.rst:163 -#: ../../docs/about/list_of_features.rst:405 -msgid "**Physics bodies:**" -msgstr "" - -#: ../../docs/about/list_of_features.rst:165 -#: ../../docs/about/list_of_features.rst:407 -msgid "Static bodies." -msgstr "" - -#: ../../docs/about/list_of_features.rst:166 -#: ../../docs/about/list_of_features.rst:408 -msgid "" -"Animatable bodies (for objects moving only by script or animation, such as " -"doors and platforms)." -msgstr "" - -#: ../../docs/about/list_of_features.rst:167 -#: ../../docs/about/list_of_features.rst:409 -msgid "Rigid bodies." -msgstr "" - -#: ../../docs/about/list_of_features.rst:168 -#: ../../docs/about/list_of_features.rst:410 -msgid "Character bodies." -msgstr "" - -#: ../../docs/about/list_of_features.rst:169 -#: ../../docs/about/list_of_features.rst:412 -msgid "Joints." -msgstr "" - -#: ../../docs/about/list_of_features.rst:170 -#: ../../docs/about/list_of_features.rst:415 -msgid "Areas to detect bodies entering or leaving it." -msgstr "" - -#: ../../docs/about/list_of_features.rst:172 -#: ../../docs/about/list_of_features.rst:417 -msgid "**Collision detection:**" -msgstr "" - -#: ../../docs/about/list_of_features.rst:174 +#: ../../docs/about/complying_with_licenses.rst:14 msgid "" -"Built-in shapes: line, box, circle, capsule, world boundary (infinite plane)." +"The license is the legal requirement for you (or your company) to use and " +"distribute the software (and derivative projects, including games made with " +"it). Your game or project can have a different license, but it still needs " +"to comply with the original one." msgstr "" -#: ../../docs/about/list_of_features.rst:175 +#: ../../docs/about/complying_with_licenses.rst:21 msgid "" -"Collision polygons (can be drawn manually or generated from a sprite in the " -"editor)." -msgstr "" - -#: ../../docs/about/list_of_features.rst:178 -msgid "3D graphics" -msgstr "" - -#: ../../docs/about/list_of_features.rst:180 -msgid "HDR rendering with sRGB." -msgstr "" - -#: ../../docs/about/list_of_features.rst:181 -msgid "Perspective, orthographic and frustum-offset cameras." +"This section covers compliance with licenses from a user perspective. If you " +"are interested in licence compliance as a contributor, you can find " +"guidelines :ref:`here " +"`." msgstr "" -#: ../../docs/about/list_of_features.rst:182 +#: ../../docs/about/complying_with_licenses.rst:27 msgid "" -"When using the Forward+ backend, a depth prepass is used to improve " -"performance in complex scenes by reducing the cost of overdraw." +"In your project's credits screen, remember to also list third-party notices " +"for assets you're using, such as textures, models, sounds, music and fonts." msgstr "" -#: ../../docs/about/list_of_features.rst:184 +#: ../../docs/about/complying_with_licenses.rst:30 msgid "" -":ref:`doc_variable_rate_shading` on supported GPUs in Forward+ and Forward " -"Mobile." +"Free assets in particular often come with licenses that require attribution. " +"Double-check their license before using those assets in a project." msgstr "" -#: ../../docs/about/list_of_features.rst:186 -msgid "**Physically-based rendering (built-in material features):**" +#: ../../docs/about/complying_with_licenses.rst:34 +#: ../../docs/tutorials/export/exporting_for_macos.rst:17 +#: ../../docs/tutorials/export/exporting_for_ios.rst:22 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:14 +#: ../../docs/contributing/development/compiling/compiling_for_linuxbsd.rst:14 +#: ../../docs/contributing/development/compiling/compiling_for_macos.rst:14 +#: ../../docs/contributing/development/compiling/compiling_for_android.rst:25 +#: ../../docs/contributing/development/compiling/compiling_for_ios.rst:14 +#: ../../docs/contributing/development/compiling/cross-compiling_for_ios_on_linux.rst:25 +#: ../../docs/contributing/development/compiling/compiling_for_web.rst:14 +#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:9 +#: ../../docs/community/asset_library/submitting_to_assetlib.rst:24 +msgid "Requirements" msgstr "" -#: ../../docs/about/list_of_features.rst:188 -msgid "Follows the Disney PBR model." -msgstr "" - -#: ../../docs/about/list_of_features.rst:189 +#: ../../docs/about/complying_with_licenses.rst:36 msgid "" -"Supports Burley, Lambert, Lambert Wrap (half-Lambert) and Toon diffuse " -"shading modes." -msgstr "" - -#: ../../docs/about/list_of_features.rst:190 -msgid "Supports Schlick-GGX, Toon and Disabled specular shading modes." +"In the case of the MIT license, the only requirement is to include the " +"license text somewhere in your game or derivative project." msgstr "" -#: ../../docs/about/list_of_features.rst:191 -msgid "Uses a roughness-metallic workflow with support for ORM textures." +#: ../../docs/about/complying_with_licenses.rst:39 +msgid "This text reads as follows:" msgstr "" -#: ../../docs/about/list_of_features.rst:192 -msgid "" -"Uses horizon specular occlusion (Filament model) to improve material " -"appearance." -msgstr "" - -#: ../../docs/about/list_of_features.rst:193 -msgid "Normal mapping." +#: ../../docs/about/complying_with_licenses.rst:41 +msgid "This game uses Godot Engine, available under the following license:" msgstr "" -#: ../../docs/about/list_of_features.rst:194 +#: ../../docs/about/complying_with_licenses.rst:43 msgid "" -"Parallax/relief mapping with automatic level of detail based on distance." -msgstr "" - -#: ../../docs/about/list_of_features.rst:195 -msgid "Detail mapping for the albedo and normal maps." -msgstr "" - -#: ../../docs/about/list_of_features.rst:196 -msgid "Sub-surface scattering and transmittance." +"Copyright (c) 2014-present Godot Engine contributors. Copyright (c) " +"2007-2014 Juan Linietsky, Ariel Manzur." msgstr "" -#: ../../docs/about/list_of_features.rst:197 +#: ../../docs/about/complying_with_licenses.rst:46 +#: ../../docs/about/complying_with_licenses.rst:163 msgid "" -"Screen-space refraction with support for material roughness (resulting in " -"blurry refraction)." -msgstr "" - -#: ../../docs/about/list_of_features.rst:198 -msgid "Proximity fade (soft particles) and distance fade." +"Permission is hereby granted, free of charge, to any person obtaining a copy " +"of this software and associated documentation files (the \"Software\"), to " +"deal in the Software without restriction, including without limitation the " +"rights to use, copy, modify, merge, publish, distribute, sublicense, and/or " +"sell copies of the Software, and to permit persons to whom the Software is " +"furnished to do so, subject to the following conditions:" msgstr "" -#: ../../docs/about/list_of_features.rst:199 +#: ../../docs/about/complying_with_licenses.rst:48 +#: ../../docs/about/complying_with_licenses.rst:165 msgid "" -"Distance fade can use alpha blending or dithering to avoid going through the " -"transparent pipeline." -msgstr "" - -#: ../../docs/about/list_of_features.rst:201 -msgid "Dithering can be determined on a per-pixel or per-object basis." -msgstr "" - -#: ../../docs/about/list_of_features.rst:203 -msgid "**Real-time lighting:**" -msgstr "" - -#: ../../docs/about/list_of_features.rst:205 -msgid "Directional lights (sun/moon). Up to 4 per scene." -msgstr "" - -#: ../../docs/about/list_of_features.rst:206 -msgid "Omnidirectional lights." -msgstr "" - -#: ../../docs/about/list_of_features.rst:207 -msgid "Spot lights with adjustable cone angle and attenuation." +"The above copyright notice and this permission notice shall be included in " +"all copies or substantial portions of the Software." msgstr "" -#: ../../docs/about/list_of_features.rst:208 +#: ../../docs/about/complying_with_licenses.rst:50 +#: ../../docs/about/complying_with_licenses.rst:167 msgid "" -"Specular, indirect light, and volumetric fog energy can be adjusted on a per-" -"light basis." +"THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR " +"IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, " +"FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE " +"AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER " +"LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING " +"FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS " +"IN THE SOFTWARE." msgstr "" -#: ../../docs/about/list_of_features.rst:209 +#: ../../docs/about/complying_with_licenses.rst:54 msgid "" -"Adjustable light \"size\" for fake area lights (will also make shadows " -"blurrier)." +"Your games do not need to be under the same license. You are free to release " +"your Godot projects under any license and to create commercial games with " +"the engine." msgstr "" -#: ../../docs/about/list_of_features.rst:210 -#: ../../docs/about/list_of_features.rst:286 -msgid "" -"Optional distance fade system to fade distant lights and their shadows, " -"improving performance." +#: ../../docs/about/complying_with_licenses.rst:59 +msgid "Inclusion" msgstr "" -#: ../../docs/about/list_of_features.rst:211 +#: ../../docs/about/complying_with_licenses.rst:61 msgid "" -"When using the Forward+ backend (default on desktop), lights are rendered " -"with clustered forward optimizations to decrease their individual cost. " -"Clustered rendering also lifts any limits on the number of lights that can " -"be used on a mesh." +"The license does not specify how it has to be included, so anything is valid " +"as long as it can be displayed under some condition. These are the most " +"common approaches (only need to implement one of them, not all)." msgstr "" -#: ../../docs/about/list_of_features.rst:214 +#: ../../docs/about/complying_with_licenses.rst:67 msgid "" -"When using the Forward Mobile backend, up to 8 omni lights and 8 spot lights " -"can be displayed per mesh resource. Baked lighting can be used to overcome " -"this limit if needed." +"Godot provides several methods to get license information in the Engine " +"singleton. This allows you to source the license information directly from " +"the engine binary, which prevents the information from becoming outdated if " +"you update engine versions." msgstr "" -#: ../../docs/about/list_of_features.rst:218 -msgid "**Shadow mapping:**" +#: ../../docs/about/complying_with_licenses.rst:72 +msgid "For the engine itself:" msgstr "" -#: ../../docs/about/list_of_features.rst:220 -msgid "" -"*DirectionalLight:* Orthogonal (fastest), PSSM 2-split and 4-split. Supports " -"blending between splits." +#: ../../docs/about/complying_with_licenses.rst:74 +msgid ":ref:`Engine.get_license_text`" msgstr "" -#: ../../docs/about/list_of_features.rst:222 -msgid "" -"*OmniLight:* Dual paraboloid (fast) or cubemap (slower but more accurate). " -"Supports colored projector textures in the form of panoramas." +#: ../../docs/about/complying_with_licenses.rst:76 +msgid "For third-party components used by the engine:" msgstr "" -#: ../../docs/about/list_of_features.rst:224 -msgid "*SpotLight:* Single texture. Supports colored projector textures." +#: ../../docs/about/complying_with_licenses.rst:78 +msgid ":ref:`Engine.get_license_info`" msgstr "" -#: ../../docs/about/list_of_features.rst:225 +#: ../../docs/about/complying_with_licenses.rst:79 msgid "" -"Shadow normal offset bias and shadow pancaking to decrease the amount of " -"visible shadow acne and peter-panning." +":ref:`Engine.get_copyright_info`" msgstr "" -#: ../../docs/about/list_of_features.rst:227 +#: ../../docs/about/complying_with_licenses.rst:81 msgid "" -":abbr:`PCSS (Percentage Closer Soft Shadows)`-like shadow blur based on the " -"light size and distance from the surface the shadow is cast on." -msgstr "" - -#: ../../docs/about/list_of_features.rst:229 -msgid "Adjustable shadow blur on a per-light basis." +"For miscellaneous engine contributor information. You don't have to include " +"these ones in your project, but they're listed here for reference:" msgstr "" -#: ../../docs/about/list_of_features.rst:231 -msgid "**Global illumination with indirect lighting:**" +#: ../../docs/about/complying_with_licenses.rst:84 +msgid ":ref:`Engine.get_author_info`" msgstr "" -#: ../../docs/about/list_of_features.rst:233 -msgid "" -":ref:`Baked lightmaps ` (fast, but can't be updated " -"at run-time)." -msgstr "" - -#: ../../docs/about/list_of_features.rst:235 -msgid "" -"Supports baking indirect light only or baking both direct and indirect " -"lighting. The bake mode can be adjusted on a per-light basis to allow for " -"hybrid light baking setups." +#: ../../docs/about/complying_with_licenses.rst:85 +msgid ":ref:`Engine.get_donor_info`" msgstr "" -#: ../../docs/about/list_of_features.rst:238 -msgid "" -"Supports lighting dynamic objects using automatic and manually placed probes." +#: ../../docs/about/complying_with_licenses.rst:88 +msgid "Credits screen" msgstr "" -#: ../../docs/about/list_of_features.rst:239 +#: ../../docs/about/complying_with_licenses.rst:90 msgid "" -"Optionally supports directional lighting and rough reflections based on " -"spherical harmonics." +"Include the above license text somewhere in the credits screen. It can be at " +"the bottom after showing the rest of the credits. Most large studios use " +"this approach with open source licenses." msgstr "" -#: ../../docs/about/list_of_features.rst:241 -msgid "" -"Lightmaps are baked on the GPU using compute shaders (much faster compared " -"to CPU lightmapping). Baking can only be performed from the editor, not in " -"exported projects." +#: ../../docs/about/complying_with_licenses.rst:95 +msgid "Licenses screen" msgstr "" -#: ../../docs/about/list_of_features.rst:244 +#: ../../docs/about/complying_with_licenses.rst:97 msgid "" -"Supports GPU-based :ref:`denoising ` with " -"JNLM, or CPU/GPU-based denoising with OIDN." +"Some games have a special menu (often in the settings) to display licenses. " +"This menu is typically accessed with a button called **Third-party " +"Licenses** or **Open Source Licenses**." msgstr "" -#: ../../docs/about/list_of_features.rst:247 -msgid "" -":ref:`Voxel-based GI probes `. Supports dynamic lights " -"*and* dynamic occluders, while also supporting reflections. Requires a fast " -"baking step which can be performed in the editor or at run-time (including " -"from an exported project)." +#: ../../docs/about/complying_with_licenses.rst:102 +msgid "Output log" msgstr "" -#: ../../docs/about/list_of_features.rst:251 +#: ../../docs/about/complying_with_licenses.rst:104 msgid "" -":ref:`Signed-distance field GI ` designed for large open " -"worlds. Supports dynamic lights, but not dynamic occluders. Supports " -"reflections. No baking required." +"Printing the licensing text using the :ref:`print() " +"` function may be enough on platforms where " +"a global output log is readable. This is the case on desktop platforms, " +"Android and HTML5 (but not iOS)." msgstr "" -#: ../../docs/about/list_of_features.rst:254 -msgid "" -":ref:`Screen-space indirect lighting (SSIL) " -"` at half or full resolution. " -"Fully real-time and supports any kind of emissive light source (including " -"decals)." +#: ../../docs/about/complying_with_licenses.rst:109 +msgid "Accompanying file" msgstr "" -#: ../../docs/about/list_of_features.rst:257 +#: ../../docs/about/complying_with_licenses.rst:111 msgid "" -"VoxelGI and SDFGI use a deferred pass to allow for rendering GI at half " -"resolution to improve performance (while still having functional MSAA " -"support)." +"If the game is distributed on desktop platforms, a file containing the " +"license can be added to the software that is installed to the user PC." msgstr "" -#: ../../docs/about/list_of_features.rst:260 -msgid "**Reflections:**" +#: ../../docs/about/complying_with_licenses.rst:115 +msgid "Printed manual" msgstr "" -#: ../../docs/about/list_of_features.rst:262 +#: ../../docs/about/complying_with_licenses.rst:117 msgid "" -"Voxel-based reflections (when using GI probes) and SDF-based reflections " -"(when using signed distance field GI). Voxel-based reflections are visible " -"on transparent surfaces, while rough SDF-based reflections are visible on " -"transparent surfaces." +"If the game includes printed manuals, license text can be included there." msgstr "" -#: ../../docs/about/list_of_features.rst:266 -msgid "" -"Fast baked reflections or slow real-time reflections using ReflectionProbe. " -"Parallax box correction can optionally be enabled." -msgstr "" - -#: ../../docs/about/list_of_features.rst:268 -msgid "Screen-space reflections with support for material roughness." +#: ../../docs/about/complying_with_licenses.rst:120 +msgid "Link to the license" msgstr "" -#: ../../docs/about/list_of_features.rst:269 +#: ../../docs/about/complying_with_licenses.rst:122 msgid "" -"Reflection techniques can be mixed together for greater accuracy or " -"scalability." +"The Godot Engine developers consider that a link to ``godotengine.org/" +"license`` in your game documentation or credits would be an acceptable way " +"to satisfy the license terms." msgstr "" -#: ../../docs/about/list_of_features.rst:270 -msgid "" -"When using the Forward+ backend (default on desktop), reflection probes are " -"rendered with clustered forward optimizations to decrease their individual " -"cost. Clustered rendering also lifts any limits on the number of reflection " -"probes that can be used on a mesh." +#: ../../docs/about/complying_with_licenses.rst:127 +msgid "Third-party licenses" msgstr "" -#: ../../docs/about/list_of_features.rst:273 +#: ../../docs/about/complying_with_licenses.rst:129 msgid "" -"When using the Forward Mobile backend, up to 8 reflection probes can be " -"displayed per mesh resource." +"Godot itself contains software written by `third parties `_. Most of it does not require " +"license inclusion, but some do. Make sure to do it if these are compiled in " +"your Godot export template. If you're using the official export templates, " +"all libraries are enabled. This means you need to provide attribution for " +"all the libraries listed below." msgstr "" -#: ../../docs/about/list_of_features.rst:276 -msgid "**Decals:**" +#: ../../docs/about/complying_with_licenses.rst:136 +msgid "Here's a list of libraries requiring attribution:" msgstr "" -#: ../../docs/about/list_of_features.rst:278 -msgid "" -":ref:`Supports albedo `, emissive, :abbr:`ORM (Occlusion " -"Roughness Metallic)`, and normal mapping." -msgstr "" - -#: ../../docs/about/list_of_features.rst:280 -msgid "" -"Texture channels are smoothly overlaid on top of the underlying material, " -"with support for normal/ORM-only decals." +#: ../../docs/about/complying_with_licenses.rst:139 +msgid "FreeType" msgstr "" -#: ../../docs/about/list_of_features.rst:282 +#: ../../docs/about/complying_with_licenses.rst:141 msgid "" -"Support for normal fade to fade the decal depending on its incidence angle." +"Godot uses `FreeType `_ to render fonts. Its " +"license requires attribution, so the following text must be included " +"together with the Godot license:" msgstr "" -#: ../../docs/about/list_of_features.rst:283 +#: ../../docs/about/complying_with_licenses.rst:145 msgid "" -"Does not rely on run-time mesh generation. This means decals can be used on " -"complex skinned meshes with no performance penalty, even if the decal moves " -"every frame." +"Portions of this software are copyright © The FreeType Project (www." +"freetype.org). All rights reserved." msgstr "" -#: ../../docs/about/list_of_features.rst:285 +#: ../../docs/about/complying_with_licenses.rst:149 msgid "" -"Support for nearest, bilinear, trilinear or anisotropic texture filtering " -"(configured globally)." +" should correspond to the value from the FreeType version used in your " +"build. This information can be found in the editor by opening the **Help > " +"About** dialog and going to the **Third-party Licenses** tab." msgstr "" -#: ../../docs/about/list_of_features.rst:287 -msgid "" -"When using the Forward+ backend (default on desktop), decals are rendered " -"with clustered forward optimizations to decrease their individual cost. " -"Clustered rendering also lifts any limits on the number of decals that can " -"be used on a mesh." +#: ../../docs/about/complying_with_licenses.rst:155 +msgid "ENet" msgstr "" -#: ../../docs/about/list_of_features.rst:290 +#: ../../docs/about/complying_with_licenses.rst:157 msgid "" -"When using the Forward Mobile backend, up to 8 decals can be displayed per " -"mesh resource." +"Godot includes the `ENet `_ library to handle high-" +"level multiplayer. ENet has similar licensing terms as Godot:" msgstr "" -#: ../../docs/about/list_of_features.rst:293 -msgid "**Sky:**" +#: ../../docs/about/complying_with_licenses.rst:161 +msgid "Copyright (c) 2002-2020 Lee Salzman" msgstr "" -#: ../../docs/about/list_of_features.rst:295 -msgid "Panorama sky (using an HDRI)." +#: ../../docs/about/complying_with_licenses.rst:170 +msgid "mbed TLS" msgstr "" -#: ../../docs/about/list_of_features.rst:296 +#: ../../docs/about/complying_with_licenses.rst:172 msgid "" -"Procedural sky and Physically-based sky that respond to the " -"DirectionalLights in the scene." +"If the project is exported with Godot 3.1 or later, it includes `mbed TLS " +"`_. The Apache license needs to be complied to by " +"including the following text:" msgstr "" -#: ../../docs/about/list_of_features.rst:297 -msgid "" -"Support for :ref:`custom sky shaders `, which can be " -"animated." +#: ../../docs/about/complying_with_licenses.rst:175 +msgid "Copyright The Mbed TLS Contributors" msgstr "" -#: ../../docs/about/list_of_features.rst:298 +#: ../../docs/about/complying_with_licenses.rst:177 msgid "" -"The radiance map used for ambient and specular light can be updated in real-" -"time depending on the quality settings chosen." -msgstr "" - -#: ../../docs/about/list_of_features.rst:301 -msgid "**Fog:**" +"Licensed under the Apache License, Version 2.0 (the \"License\"); you may " +"not use this file except in compliance with the License. You may obtain a " +"copy of the License at" msgstr "" -#: ../../docs/about/list_of_features.rst:303 -msgid "Exponential depth fog." +#: ../../docs/about/complying_with_licenses.rst:181 +msgid "http://www.apache.org/licenses/LICENSE-2.0" msgstr "" -#: ../../docs/about/list_of_features.rst:304 -msgid "Exponential height fog." -msgstr "" - -#: ../../docs/about/list_of_features.rst:305 +#: ../../docs/about/complying_with_licenses.rst:183 msgid "" -"Support for automatic fog color depending on the sky color (aerial " -"perspective)." -msgstr "" - -#: ../../docs/about/list_of_features.rst:306 -msgid "Support for sun scattering in the fog." +"Unless required by applicable law or agreed to in writing, software " +"distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT " +"WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the " +"License for the specific language governing permissions and limitations " +"under the License." msgstr "" -#: ../../docs/about/list_of_features.rst:307 +#: ../../docs/about/complying_with_licenses.rst:191 msgid "" -"Support for controlling how much fog rendering should affect the sky, with " -"separate controls for traditional and volumetric fog." -msgstr "" - -#: ../../docs/about/list_of_features.rst:309 -msgid "Support for making specific materials ignore fog." -msgstr "" - -#: ../../docs/about/list_of_features.rst:311 -msgid "**Volumetric fog:**" -msgstr "" - -#: ../../docs/about/list_of_features.rst:313 -msgid "" -"Global :ref:`volumetric fog ` that reacts to lights and " -"shadows." -msgstr "" - -#: ../../docs/about/list_of_features.rst:314 -msgid "" -"Volumetric fog can take indirect light into account when using VoxelGI or " -"SDFGI." -msgstr "" - -#: ../../docs/about/list_of_features.rst:315 -msgid "" -"Fog volume nodes that can be placed to add fog to specific areas (or remove " -"fog from specific areas). Supported shapes include box, ellipse, cone, " -"cylinder, and 3D texture-based density maps." -msgstr "" - -#: ../../docs/about/list_of_features.rst:317 -msgid "Each fog volume can have its own custom shader." -msgstr "" - -#: ../../docs/about/list_of_features.rst:318 -msgid "Can be used together with traditional fog." -msgstr "" - -#: ../../docs/about/list_of_features.rst:320 -msgid "**Particles:**" -msgstr "" - -#: ../../docs/about/list_of_features.rst:322 -msgid "" -"GPU-based particles with support for subemitters (2D + 3D), trails (2D + " -"3D), attractors (3D only) and collision (2D + 3D)." -msgstr "" - -#: ../../docs/about/list_of_features.rst:325 -msgid "" -"3D particle attractor shapes supported: box, sphere and 3D vector fields." -msgstr "" - -#: ../../docs/about/list_of_features.rst:326 -msgid "" -"3D particle collision shapes supported: box, sphere, baked signed distance " -"field and real-time heightmap (suited for open world weather effects)." -msgstr "" - -#: ../../docs/about/list_of_features.rst:328 -msgid "" -"2D particle collision is handled using a signed distance field generated in " -"real-time based on :ref:`class_LightOccluder2D` nodes in the scene." -msgstr "" - -#: ../../docs/about/list_of_features.rst:330 -msgid "" -"Trails can use the built-in ribbon trail and tube trail meshes, or custom " -"meshes with skeletons." -msgstr "" - -#: ../../docs/about/list_of_features.rst:332 -msgid "Support for custom particle shaders with manual emission." -msgstr "" - -#: ../../docs/about/list_of_features.rst:336 -msgid "**Post-processing:**" -msgstr "" - -#: ../../docs/about/list_of_features.rst:338 -msgid "Tonemapping (Linear, Reinhard, Filmic, ACES)." -msgstr "" - -#: ../../docs/about/list_of_features.rst:339 -msgid "" -"Automatic exposure adjustments based on viewport brightness (and manual " -"exposure override)." -msgstr "" - -#: ../../docs/about/list_of_features.rst:340 -msgid "" -"Near and far depth of field with adjustable bokeh simulation (box, hexagon, " -"circle)." -msgstr "" - -#: ../../docs/about/list_of_features.rst:341 -msgid "Screen-space ambient occlusion (SSAO) at half or full resolution." -msgstr "" - -#: ../../docs/about/list_of_features.rst:342 -msgid "" -"Glow/bloom with optional bicubic upscaling and several blend modes " -"available: Screen, Soft Light, Add, Replace, Mix." -msgstr "" - -#: ../../docs/about/list_of_features.rst:344 -msgid "Glow can have a colored dirt map texture, acting as a lens dirt effect." -msgstr "" - -#: ../../docs/about/list_of_features.rst:345 -msgid "" -"Glow can be :ref:`used as a screen-space blur effect " -"`." -msgstr "" - -#: ../../docs/about/list_of_features.rst:346 -msgid "Color correction using a one-dimensional ramp or a 3D LUT texture." -msgstr "" - -#: ../../docs/about/list_of_features.rst:347 -msgid "Roughness limiter to reduce the impact of specular aliasing." -msgstr "" - -#: ../../docs/about/list_of_features.rst:348 -msgid "Brightness, contrast and saturation adjustments." -msgstr "" - -#: ../../docs/about/list_of_features.rst:350 -msgid "**Texture filtering:**" -msgstr "" - -#: ../../docs/about/list_of_features.rst:352 -msgid "Nearest, bilinear, trilinear or anisotropic filtering." -msgstr "" - -#: ../../docs/about/list_of_features.rst:353 -msgid "" -"Filtering options are defined on a per-use basis, not a per-texture basis." -msgstr "" - -#: ../../docs/about/list_of_features.rst:355 -msgid "**Texture compression:**" -msgstr "" - -#: ../../docs/about/list_of_features.rst:357 -msgid "Basis Universal (slow, but results in smaller files)." -msgstr "" - -#: ../../docs/about/list_of_features.rst:358 -msgid "BPTC for high-quality compression (not supported on macOS)." -msgstr "" - -#: ../../docs/about/list_of_features.rst:359 -msgid "ETC2 (not supported on macOS)." -msgstr "" - -#: ../../docs/about/list_of_features.rst:360 -msgid "S3TC (not supported on mobile/Web platforms)." -msgstr "" - -#: ../../docs/about/list_of_features.rst:362 -msgid "**Anti-aliasing:**" -msgstr "" - -#: ../../docs/about/list_of_features.rst:364 -msgid "Temporal :ref:`antialiasing ` (TAA)." -msgstr "" - -#: ../../docs/about/list_of_features.rst:365 -msgid "" -"AMD FidelityFX Super Resolution 2.2 :ref:`antialiasing " -"` (FSR2), which can be used at native resolution as a " -"form of high-quality temporal antialiasing." -msgstr "" - -#: ../../docs/about/list_of_features.rst:367 -msgid "" -"Multi-sample antialiasing (MSAA), for both :ref:`doc_2d_antialiasing` and :" -"ref:`doc_3d_antialiasing`." -msgstr "" - -#: ../../docs/about/list_of_features.rst:368 -msgid "Fast approximate antialiasing (FXAA)." -msgstr "" - -#: ../../docs/about/list_of_features.rst:369 -msgid "" -"Super-sample antialiasing (SSAA) using bilinear 3D scaling and a 3D " -"resolution scale above 1.0." -msgstr "" - -#: ../../docs/about/list_of_features.rst:370 -msgid "" -"Alpha antialiasing, MSAA alpha to coverage and alpha hashing on a per-" -"material basis." -msgstr "" - -#: ../../docs/about/list_of_features.rst:372 -msgid "**Resolution scaling:**" -msgstr "" - -#: ../../docs/about/list_of_features.rst:374 -msgid "" -"Support for :ref:`rendering 3D at a lower resolution " -"` while keeping 2D rendering at the original scale. " -"This can be used to improve performance on low-end systems or improve " -"visuals on high-end systems." -msgstr "" - -#: ../../docs/about/list_of_features.rst:377 -msgid "" -"Resolution scaling uses bilinear filtering, AMD FidelityFX Super Resolution " -"1.0 (FSR1) or AMD FidelityFX Super Resolution 2.2 (FSR2)." -msgstr "" - -#: ../../docs/about/list_of_features.rst:379 -msgid "" -"Texture mipmap LOD bias is adjusted automatically to improve quality at " -"lower resolution scales. It can also be modified with a manual offset." -msgstr "" - -#: ../../docs/about/list_of_features.rst:382 -msgid "" -"Most effects listed above can be adjusted for better performance or to " -"further improve quality. This can be helpful when :ref:`using Godot for " -"offline rendering `." -msgstr "" - -#: ../../docs/about/list_of_features.rst:387 -msgid "3D tools" -msgstr "" - -#: ../../docs/about/list_of_features.rst:389 -msgid "" -"Built-in meshes: cube, cylinder/cone, (hemi)sphere, prism, plane, quad, " -"torus, ribbon, tube." -msgstr "" - -#: ../../docs/about/list_of_features.rst:390 -msgid ":ref:`GridMaps ` for 3D tile-based level design." -msgstr "" - -#: ../../docs/about/list_of_features.rst:391 -msgid "" -":ref:`Constructive solid geometry ` (intended for " -"prototyping)." -msgstr "" - -#: ../../docs/about/list_of_features.rst:392 -msgid "" -"Tools for :ref:`procedural geometry generation `." -msgstr "" - -#: ../../docs/about/list_of_features.rst:393 -msgid "Path3D node to represent a path in 3D space." -msgstr "" - -#: ../../docs/about/list_of_features.rst:396 -msgid "PathFollow3D node to make nodes follow a Path3D." -msgstr "" - -#: ../../docs/about/list_of_features.rst:398 -msgid ":ref:`3D geometry helper class `." -msgstr "" - -#: ../../docs/about/list_of_features.rst:399 -msgid "" -"Support for exporting the current scene as a glTF 2.0 file, both from the " -"editor and at run-time from an exported project." -msgstr "" - -#: ../../docs/about/list_of_features.rst:403 -msgid "3D physics" -msgstr "" - -#: ../../docs/about/list_of_features.rst:411 -msgid "Vehicle bodies (intended for arcade physics, not simulation)." -msgstr "" - -#: ../../docs/about/list_of_features.rst:413 -msgid "Soft bodies." -msgstr "" - -#: ../../docs/about/list_of_features.rst:414 -msgid "Ragdolls." -msgstr "" - -#: ../../docs/about/list_of_features.rst:419 -msgid "" -"Built-in shapes: cuboid, sphere, capsule, cylinder, world boundary (infinite " -"plane)." -msgstr "" - -#: ../../docs/about/list_of_features.rst:420 -msgid "Generate triangle collision shapes for any mesh from the editor." -msgstr "" - -#: ../../docs/about/list_of_features.rst:421 -msgid "" -"Generate one or several convex collision shapes for any mesh from the editor." -msgstr "" - -#: ../../docs/about/list_of_features.rst:424 -#: ../../docs/about/docs_changelog.rst:90 -#: ../../docs/about/docs_changelog.rst:214 -#: ../../docs/tutorials/shaders/index.rst:2 -msgid "Shaders" -msgstr "" - -#: ../../docs/about/list_of_features.rst:426 -msgid "*2D:* Custom vertex, fragment, and light shaders." -msgstr "" - -#: ../../docs/about/list_of_features.rst:427 -msgid "*3D:* Custom vertex, fragment, light, and sky shaders." -msgstr "" - -#: ../../docs/about/list_of_features.rst:428 -msgid "" -"Text-based shaders using a :ref:`shader language inspired by GLSL " -"`." -msgstr "" - -#: ../../docs/about/list_of_features.rst:429 -msgid "Visual shader editor." -msgstr "" - -#: ../../docs/about/list_of_features.rst:431 -msgid "Support for visual shader plugins." -msgstr "" - -#: ../../docs/about/list_of_features.rst:434 -#: ../../docs/about/docs_changelog.rst:82 -#: ../../docs/about/docs_changelog.rst:219 -#: ../../docs/about/docs_changelog.rst:325 -#: ../../docs/tutorials/scripting/index.rst:2 -msgid "Scripting" -msgstr "" - -#: ../../docs/about/list_of_features.rst:436 -msgid "**General:**" -msgstr "" - -#: ../../docs/about/list_of_features.rst:438 -msgid "Object-oriented design pattern with scripts extending nodes." -msgstr "" - -#: ../../docs/about/list_of_features.rst:439 -msgid "Signals and groups for communicating between scripts." -msgstr "" - -#: ../../docs/about/list_of_features.rst:440 -msgid "" -"Support for :ref:`cross-language scripting `." -msgstr "" - -#: ../../docs/about/list_of_features.rst:441 -msgid "" -"Many 2D, 3D and 4D linear algebra data types such as vectors and transforms." -msgstr "" - -#: ../../docs/about/list_of_features.rst:443 -msgid ":ref:`GDScript: `" -msgstr "" - -#: ../../docs/about/list_of_features.rst:445 -msgid "" -":ref:`High-level interpreted language ` with :ref:`optional " -"static typing `." -msgstr "" - -#: ../../docs/about/list_of_features.rst:447 -msgid "" -"Syntax inspired by Python. However, GDScript is **not** based on Python." -msgstr "" - -#: ../../docs/about/list_of_features.rst:448 -msgid "Syntax highlighting is provided on GitHub." -msgstr "" - -#: ../../docs/about/list_of_features.rst:449 -msgid "" -":ref:`Use threads ` to perform asynchronous " -"actions or make use of multiple processor cores." -msgstr "" - -#: ../../docs/about/list_of_features.rst:452 -msgid ":ref:`C#: `" -msgstr "" - -#: ../../docs/about/list_of_features.rst:454 -msgid "Packaged in a separate binary to keep file sizes and dependencies down." -msgstr "" - -#: ../../docs/about/list_of_features.rst:455 -msgid "Supports .NET 6 and higher." -msgstr "" - -#: ../../docs/about/list_of_features.rst:457 -msgid "Full support for the C# 10.0 syntax and features." -msgstr "" - -#: ../../docs/about/list_of_features.rst:459 -msgid "" -"Supports Windows, Linux, and macOS. As of 4.2 experimental support for " -"Android and iOS is also available (requires a .NET 7.0 project for Android " -"and 8.0 for iOS)." -msgstr "" - -#: ../../docs/about/list_of_features.rst:462 -msgid "" -"On the Android platform only some architectures are supported: ``arm64`` and " -"``x64``." -msgstr "" - -#: ../../docs/about/list_of_features.rst:463 -msgid "On the iOS platform only some architectures are supported: ``arm64``." -msgstr "" - -#: ../../docs/about/list_of_features.rst:464 -msgid "" -"The web platform is currently unsupported. To use C# on that platform, " -"consider Godot 3 instead." -msgstr "" - -#: ../../docs/about/list_of_features.rst:467 -msgid "" -"Using an external editor is recommended to benefit from IDE functionality." -msgstr "" - -#: ../../docs/about/list_of_features.rst:469 -msgid "**GDExtension (C, C++, Rust, D, ...):**" -msgstr "" - -#: ../../docs/about/list_of_features.rst:471 -msgid "" -"When you need it, link to native libraries for higher performance and third-" -"party integrations." -msgstr "" - -#: ../../docs/about/list_of_features.rst:473 -msgid "" -"For scripting game logic, GDScript or C# are recommended if their " -"performance is suitable." -msgstr "" - -#: ../../docs/about/list_of_features.rst:476 -msgid "" -"Official GDExtension bindings for `C `__ and `C++ `__." -msgstr "" - -#: ../../docs/about/list_of_features.rst:479 -msgid "Use any build system and language features you wish." -msgstr "" - -#: ../../docs/about/list_of_features.rst:481 -msgid "" -"Actively developed GDExtension bindings for `D `__, `Haxe `__, `Swift " -"`__, and `Rust `__ bindings provided by the community. (Some of " -"these bindings may be experimental and not production-ready)." -msgstr "" - -#: ../../docs/about/list_of_features.rst:486 -#: ../../docs/about/docs_changelog.rst:246 -#: ../../docs/tutorials/audio/index.rst:4 -#: ../../docs/tutorials/export/exporting_for_web.rst:134 -msgid "Audio" -msgstr "" - -#: ../../docs/about/list_of_features.rst:490 -msgid "Mono, stereo, 5.1 and 7.1 output." -msgstr "" - -#: ../../docs/about/list_of_features.rst:491 -msgid "Non-positional and positional playback in 2D and 3D." -msgstr "" - -#: ../../docs/about/list_of_features.rst:493 -msgid "Optional Doppler effect in 2D and 3D." -msgstr "" - -#: ../../docs/about/list_of_features.rst:495 -msgid "" -"Support for re-routable :ref:`audio buses ` and effects " -"with dozens of effects included." -msgstr "" - -#: ../../docs/about/list_of_features.rst:497 -msgid "" -"Support for polyphony (playing several sounds from a single " -"AudioStreamPlayer node)." -msgstr "" - -#: ../../docs/about/list_of_features.rst:498 -msgid "Support for random volume and pitch." -msgstr "" - -#: ../../docs/about/list_of_features.rst:499 -msgid "Support for real-time pitch scaling." -msgstr "" - -#: ../../docs/about/list_of_features.rst:500 -msgid "" -"Support for sequential/random sample selection, including repetition " -"prevention when using random sample selection." -msgstr "" - -#: ../../docs/about/list_of_features.rst:502 -msgid "" -"Listener2D and Listener3D nodes to listen from a position different than the " -"camera." -msgstr "" - -#: ../../docs/about/list_of_features.rst:503 -msgid "" -"Support for :ref:`procedural audio generation `." -msgstr "" - -#: ../../docs/about/list_of_features.rst:504 -msgid "Audio input to record microphones." -msgstr "" - -#: ../../docs/about/list_of_features.rst:505 -msgid "MIDI input." -msgstr "" - -#: ../../docs/about/list_of_features.rst:507 -msgid "No support for MIDI output yet." -msgstr "" - -#: ../../docs/about/list_of_features.rst:509 -msgid "**APIs used:**" -msgstr "" - -#: ../../docs/about/list_of_features.rst:511 -msgid "*Windows:* WASAPI." -msgstr "" - -#: ../../docs/about/list_of_features.rst:512 -msgid "*macOS:* CoreAudio." -msgstr "" - -#: ../../docs/about/list_of_features.rst:513 -msgid "*Linux:* PulseAudio or ALSA." -msgstr "" - -#: ../../docs/about/list_of_features.rst:516 -msgid "Import" -msgstr "" - -#: ../../docs/about/list_of_features.rst:518 -msgid "Support for :ref:`custom import plugins `." -msgstr "" - -#: ../../docs/about/list_of_features.rst:520 -msgid "**Formats:**" -msgstr "" - -#: ../../docs/about/list_of_features.rst:522 -msgid "*Images:* See :ref:`doc_importing_images`." -msgstr "" - -#: ../../docs/about/list_of_features.rst:523 -msgid "*Audio:*" -msgstr "" - -#: ../../docs/about/list_of_features.rst:525 -msgid "WAV with optional IMA-ADPCM compression." -msgstr "" - -#: ../../docs/about/list_of_features.rst:526 -msgid "Ogg Vorbis." -msgstr "" - -#: ../../docs/about/list_of_features.rst:527 -msgid "MP3." -msgstr "" - -#: ../../docs/about/list_of_features.rst:529 -msgid "*3D scenes:* See :ref:`doc_importing_3d_scenes`." -msgstr "" - -#: ../../docs/about/list_of_features.rst:531 -msgid "glTF 2.0 *(recommended)*." -msgstr "" - -#: ../../docs/about/list_of_features.rst:532 -msgid "" -"``.blend`` (by calling Blender's glTF export functionality transparently)." -msgstr "" - -#: ../../docs/about/list_of_features.rst:533 -msgid "" -"FBX (by calling `FBX2glTF `__ " -"transparently)." -msgstr "" - -#: ../../docs/about/list_of_features.rst:534 -msgid "Collada (.dae)." -msgstr "" - -#: ../../docs/about/list_of_features.rst:535 -msgid "" -"Wavefront OBJ (static scenes only, can be loaded directly as a mesh or " -"imported as a 3D scene)." -msgstr "" - -#: ../../docs/about/list_of_features.rst:537 -msgid "" -"Support for loading glTF 2.0 scenes at run-time, including from an exported " -"project." -msgstr "" - -#: ../../docs/about/list_of_features.rst:538 -msgid "" -"3D meshes use `Mikktspace `__ to generate " -"tangents on import, which ensures consistency with other 3D applications " -"such as Blender." -msgstr "" - -#: ../../docs/about/list_of_features.rst:542 -#: ../../docs/about/docs_changelog.rst:191 -#: ../../docs/tutorials/rendering/viewports.rst:38 -#: ../../docs/tutorials/ui/custom_gui_controls.rst:114 -msgid "Input" -msgstr "" - -#: ../../docs/about/list_of_features.rst:544 -msgid "" -":ref:`Input mapping system ` using hardcoded input " -"events or remappable input actions." -msgstr "" - -#: ../../docs/about/list_of_features.rst:547 -msgid "" -"Axis values can be mapped to two different actions with a configurable " -"deadzone." -msgstr "" - -#: ../../docs/about/list_of_features.rst:548 -msgid "Use the same code to support both keyboards and gamepads." -msgstr "" - -#: ../../docs/about/list_of_features.rst:550 -msgid "Keyboard input." -msgstr "" - -#: ../../docs/about/list_of_features.rst:552 -msgid "" -"Keys can be mapped in \"physical\" mode to be independent of the keyboard " -"layout." -msgstr "" - -#: ../../docs/about/list_of_features.rst:554 -msgid "Mouse input." -msgstr "" - -#: ../../docs/about/list_of_features.rst:556 -msgid "" -"The mouse cursor can be visible, hidden, captured or confined within the " -"window." -msgstr "" - -#: ../../docs/about/list_of_features.rst:557 -msgid "" -"When captured, raw input will be used on Windows and Linux to sidestep the " -"OS' mouse acceleration settings." -msgstr "" - -#: ../../docs/about/list_of_features.rst:560 -msgid "Gamepad input (up to 8 simultaneous controllers)." -msgstr "" - -#: ../../docs/about/list_of_features.rst:561 -msgid "Pen/tablet input with pressure support." -msgstr "" - -#: ../../docs/about/list_of_features.rst:564 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.1.rst:136 -#: ../../docs/tutorials/navigation/index.rst:2 -msgid "Navigation" -msgstr "" - -#: ../../docs/about/list_of_features.rst:566 -msgid "" -"A* algorithm in :ref:`2D ` and :ref:`3D `." -msgstr "" - -#: ../../docs/about/list_of_features.rst:567 -msgid "" -"Navigation meshes with dynamic obstacle avoidance in :ref:`2D " -"` and :ref:`3D `." -msgstr "" - -#: ../../docs/about/list_of_features.rst:569 -msgid "" -"Generate navigation meshes from the editor or at run-time (including from an " -"exported project)." -msgstr "" - -#: ../../docs/about/list_of_features.rst:572 -#: ../../docs/about/docs_changelog.rst:278 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.1.rst:166 -#: ../../docs/tutorials/export/exporting_for_web.rst:149 -#: ../../docs/tutorials/networking/index.rst:4 -msgid "Networking" -msgstr "" - -#: ../../docs/about/list_of_features.rst:574 -msgid "" -"Low-level TCP networking using :ref:`class_StreamPeer` and :ref:" -"`class_TCPServer`." -msgstr "" - -#: ../../docs/about/list_of_features.rst:575 -msgid "" -"Low-level UDP networking using :ref:`class_PacketPeer` and :ref:" -"`class_UDPServer`." -msgstr "" - -#: ../../docs/about/list_of_features.rst:576 -msgid "Low-level HTTP requests using :ref:`class_HTTPClient`." -msgstr "" - -#: ../../docs/about/list_of_features.rst:577 -msgid "High-level HTTP requests using :ref:`class_HTTPRequest`." -msgstr "" - -#: ../../docs/about/list_of_features.rst:579 -msgid "Supports HTTPS out of the box using bundled certificates." -msgstr "" - -#: ../../docs/about/list_of_features.rst:581 -msgid "" -":ref:`High-level multiplayer ` API using UDP and " -"ENet." -msgstr "" - -#: ../../docs/about/list_of_features.rst:583 -msgid "Automatic replication using remote procedure calls (RPCs)." -msgstr "" - -#: ../../docs/about/list_of_features.rst:584 -msgid "Supports unreliable, reliable and ordered transfers." -msgstr "" - -#: ../../docs/about/list_of_features.rst:586 -msgid "" -":ref:`WebSocket ` client and server, available on all " -"platforms." -msgstr "" - -#: ../../docs/about/list_of_features.rst:587 -msgid "" -":ref:`WebRTC ` client and server, available on all platforms." -msgstr "" - -#: ../../docs/about/list_of_features.rst:588 -msgid "" -"Support for :ref:`UPnP ` to sidestep the requirement to forward " -"ports when hosting a server behind a NAT." -msgstr "" - -#: ../../docs/about/list_of_features.rst:592 -#: ../../docs/about/docs_changelog.rst:263 -#: ../../docs/tutorials/i18n/index.rst:2 -msgid "Internationalization" -msgstr "" - -#: ../../docs/about/list_of_features.rst:594 -msgid "Full support for Unicode including emoji." -msgstr "" - -#: ../../docs/about/list_of_features.rst:595 -msgid "" -"Store localization strings using :ref:`CSV ` " -"or :ref:`gettext `." -msgstr "" - -#: ../../docs/about/list_of_features.rst:598 -msgid "Support for generating gettext POT and PO files from the editor." -msgstr "" - -#: ../../docs/about/list_of_features.rst:600 -msgid "" -"Use localized strings in your project automatically in GUI elements or by " -"using the ``tr()`` function." -msgstr "" - -#: ../../docs/about/list_of_features.rst:602 -msgid "" -"Support for pluralization and translation contexts when using gettext " -"translations." -msgstr "" - -#: ../../docs/about/list_of_features.rst:603 -msgid "" -"Support for :ref:`bidirectional typesetting " -"`, text shaping and OpenType localized " -"forms." -msgstr "" - -#: ../../docs/about/list_of_features.rst:605 -msgid "Automatic UI mirroring for right-to-left locales." -msgstr "" - -#: ../../docs/about/list_of_features.rst:606 -msgid "" -"Support for pseudolocalization to test your project for i18n-friendliness." -msgstr "" - -#: ../../docs/about/list_of_features.rst:609 -msgid "Windowing and OS integration" -msgstr "" - -#: ../../docs/about/list_of_features.rst:611 -msgid "Spawn multiple independent windows within a single process." -msgstr "" - -#: ../../docs/about/list_of_features.rst:612 -msgid "Move, resize, minimize, and maximize windows spawned by the project." -msgstr "" - -#: ../../docs/about/list_of_features.rst:613 -msgid "Change the window title and icon." -msgstr "" - -#: ../../docs/about/list_of_features.rst:614 -msgid "" -"Request attention (will cause the title bar to blink on most platforms)." -msgstr "" - -#: ../../docs/about/list_of_features.rst:615 -msgid "Fullscreen mode." -msgstr "" - -#: ../../docs/about/list_of_features.rst:617 -msgid "" -"Uses borderless fullscreen by default on Windows for fast alt-tabbing, but " -"can optionally use exclusive fullscreen to reduce input lag." -msgstr "" - -#: ../../docs/about/list_of_features.rst:620 -msgid "Borderless windows (fullscreen or non-fullscreen)." -msgstr "" - -#: ../../docs/about/list_of_features.rst:621 -msgid "Ability to keep a window always on top." -msgstr "" - -#: ../../docs/about/list_of_features.rst:622 -msgid "Global menu integration on macOS." -msgstr "" - -#: ../../docs/about/list_of_features.rst:623 -msgid "" -"Execute commands in a blocking or non-blocking manner (including running " -"multiple instances of the same project)." -msgstr "" - -#: ../../docs/about/list_of_features.rst:625 -msgid "" -"Open file paths and URLs using default or custom protocol handlers (if " -"registered on the system)." -msgstr "" - -#: ../../docs/about/list_of_features.rst:626 -msgid "Parse custom command line arguments." -msgstr "" - -#: ../../docs/about/list_of_features.rst:627 -msgid "" -"Any Godot binary (editor or exported project) can be :ref:`used as a " -"headless server ` by starting it with " -"the ``--headless`` command line argument. This allows running the engine " -"without a GPU or display server." -msgstr "" - -#: ../../docs/about/list_of_features.rst:633 -msgid "Mobile" -msgstr "" - -#: ../../docs/about/list_of_features.rst:635 -msgid "" -"In-app purchases on :ref:`Android ` and :ref:" -"`iOS `." -msgstr "" - -#: ../../docs/about/list_of_features.rst:637 -msgid "Support for advertisements using third-party modules." -msgstr "" - -#: ../../docs/about/list_of_features.rst:640 -msgid "XR support (AR and VR)" -msgstr "" - -#: ../../docs/about/list_of_features.rst:642 -msgid "Out of the box :ref:`support for OpenXR `." -msgstr "" - -#: ../../docs/about/list_of_features.rst:644 -msgid "" -"Including support for popular desktop headsets like the Valve Index, WMR " -"headsets, and Quest over Link." -msgstr "" - -#: ../../docs/about/list_of_features.rst:646 -msgid "" -"Support for :ref:`Android based headsets ` using " -"OpenXR through a plugin." -msgstr "" - -#: ../../docs/about/list_of_features.rst:648 -msgid "" -"Including support for popular stand alone headsets like the Meta Quest 1/2/3 " -"and Pro, Pico 4, Magic Leap 2, and Lynx R1." -msgstr "" - -#: ../../docs/about/list_of_features.rst:650 -msgid "Other devices supported through an XR plugin structure." -msgstr "" - -#: ../../docs/about/list_of_features.rst:651 -msgid "" -"Various advanced toolkits are available that implement common features " -"required by XR applications." -msgstr "" - -#: ../../docs/about/list_of_features.rst:654 -msgid "GUI system" -msgstr "" - -#: ../../docs/about/list_of_features.rst:656 -msgid "" -"Godot's GUI is built using the same Control nodes used to make games in " -"Godot. The editor UI can easily be extended in many ways using add-ons." -msgstr "" - -#: ../../docs/about/list_of_features.rst:659 -msgid "**Nodes:**" -msgstr "" - -#: ../../docs/about/list_of_features.rst:661 -msgid "Buttons." -msgstr "" - -#: ../../docs/about/list_of_features.rst:662 -msgid "Checkboxes, check buttons, radio buttons." -msgstr "" - -#: ../../docs/about/list_of_features.rst:663 -msgid "" -"Text entry using :ref:`class_LineEdit` (single line) and :ref:" -"`class_TextEdit` (multiple lines). TextEdit also supports code editing " -"features such as displaying line numbers and syntax highlighting." -msgstr "" - -#: ../../docs/about/list_of_features.rst:666 -msgid "" -"Dropdown menus using :ref:`class_PopupMenu` and :ref:`class_OptionButton`." -msgstr "" - -#: ../../docs/about/list_of_features.rst:667 -msgid "Scrollbars." -msgstr "" - -#: ../../docs/about/list_of_features.rst:668 -msgid "Labels." -msgstr "" - -#: ../../docs/about/list_of_features.rst:669 -msgid "" -"RichTextLabel for :ref:`text formatted using BBCode " -"`, with support for animated custom effects." -msgstr "" - -#: ../../docs/about/list_of_features.rst:671 -msgid "Trees (can also be used to represent tables)." -msgstr "" - -#: ../../docs/about/list_of_features.rst:672 -msgid "Color picker with RGB and HSV modes." -msgstr "" - -#: ../../docs/about/list_of_features.rst:673 -msgid "Controls can be rotated and scaled." -msgstr "" - -#: ../../docs/about/list_of_features.rst:675 -msgid "**Sizing:**" -msgstr "" - -#: ../../docs/about/list_of_features.rst:677 -msgid "Anchors to keep GUI elements in a specific corner, edge or centered." -msgstr "" - -#: ../../docs/about/list_of_features.rst:678 -msgid "Containers to place GUI elements automatically following certain rules." -msgstr "" - -#: ../../docs/about/list_of_features.rst:680 -msgid ":ref:`Stack ` layouts." -msgstr "" - -#: ../../docs/about/list_of_features.rst:681 -msgid ":ref:`Grid ` layouts." -msgstr "" - -#: ../../docs/about/list_of_features.rst:682 -msgid "" -":ref:`Flow ` layouts (similar to autowrapping text)." -msgstr "" - -#: ../../docs/about/list_of_features.rst:683 -msgid "" -":ref:`Margin `, :ref:`centered " -"` and :ref:`aspect ratio " -"` layouts." -msgstr "" - -#: ../../docs/about/list_of_features.rst:685 -msgid ":ref:`Draggable splitter ` layouts." -msgstr "" - -#: ../../docs/about/list_of_features.rst:687 -msgid "" -"Scale to :ref:`multiple resolutions ` using the " -"``canvas_items`` or ``viewport`` stretch modes." -msgstr "" - -#: ../../docs/about/list_of_features.rst:689 -msgid "" -"Support any aspect ratio using anchors and the ``expand`` stretch aspect." -msgstr "" - -#: ../../docs/about/list_of_features.rst:691 -msgid "**Theming:**" -msgstr "" - -#: ../../docs/about/list_of_features.rst:693 -msgid "Built-in theme editor." -msgstr "" - -#: ../../docs/about/list_of_features.rst:695 -msgid "Generate a theme based on the current editor theme settings." -msgstr "" - -#: ../../docs/about/list_of_features.rst:697 -msgid "Procedural vector-based theming using :ref:`class_StyleBoxFlat`." -msgstr "" - -#: ../../docs/about/list_of_features.rst:699 -msgid "" -"Supports rounded/beveled corners, drop shadows, per-border widths and " -"antialiasing." -msgstr "" - -#: ../../docs/about/list_of_features.rst:701 -msgid "Texture-based theming using :ref:`class_StyleBoxTexture`." -msgstr "" - -#: ../../docs/about/list_of_features.rst:703 -msgid "" -"Godot's small distribution size can make it a suitable alternative to " -"frameworks like Electron or Qt." -msgstr "" - -#: ../../docs/about/list_of_features.rst:707 -#: ../../docs/about/docs_changelog.rst:57 -#: ../../docs/about/docs_changelog.rst:120 -#: ../../docs/about/docs_changelog.rst:365 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.1.rst:49 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.2.rst:62 -#: ../../docs/tutorials/2d/particle_systems_2d.rst:374 -#: ../../docs/tutorials/animation/index.rst:2 -#: ../../docs/tutorials/assets_pipeline/escn_exporter/animation.rst:2 -#: ../../docs/contributing/development/file_formats/tscn.rst:383 -msgid "Animation" -msgstr "" - -#: ../../docs/about/list_of_features.rst:709 -msgid "Direct kinematics and inverse kinematics." -msgstr "" - -#: ../../docs/about/list_of_features.rst:710 -msgid "Support for animating any property with customizable interpolation." -msgstr "" - -#: ../../docs/about/list_of_features.rst:711 -msgid "Support for calling methods in animation tracks." -msgstr "" - -#: ../../docs/about/list_of_features.rst:712 -msgid "Support for playing sounds in animation tracks." -msgstr "" - -#: ../../docs/about/list_of_features.rst:713 -msgid "Support for Bézier curves in animation." -msgstr "" - -#: ../../docs/about/list_of_features.rst:716 -msgid "File formats" -msgstr "" - -#: ../../docs/about/list_of_features.rst:718 -msgid "" -"Scenes and resources can be saved in :ref:`text-based " -"` or binary formats." -msgstr "" - -#: ../../docs/about/list_of_features.rst:720 -msgid "" -"Text-based formats are human-readable and more friendly to version control." -msgstr "" - -#: ../../docs/about/list_of_features.rst:721 -msgid "Binary formats are faster to save/load for large scenes/resources." -msgstr "" - -#: ../../docs/about/list_of_features.rst:723 -msgid "Read and write text or binary files using :ref:`class_FileAccess`." -msgstr "" - -#: ../../docs/about/list_of_features.rst:725 -msgid "Can optionally be compressed or encrypted." -msgstr "" - -#: ../../docs/about/list_of_features.rst:727 -msgid "Read and write :ref:`class_JSON` files." -msgstr "" - -#: ../../docs/about/list_of_features.rst:728 -msgid "" -"Read and write INI-style configuration files using :ref:`class_ConfigFile`." -msgstr "" - -#: ../../docs/about/list_of_features.rst:730 -msgid "Can (de)serialize any Godot datatype, including Vector2/3, Color, ..." -msgstr "" - -#: ../../docs/about/list_of_features.rst:732 -msgid "Read XML files using :ref:`class_XMLParser`." -msgstr "" - -#: ../../docs/about/list_of_features.rst:733 -msgid "" -":ref:`Load and save images, audio/video, fonts and ZIP archives " -"` in an exported project without having to " -"go through Godot's import system." -msgstr "" - -#: ../../docs/about/list_of_features.rst:735 -msgid "" -"Pack game data into a PCK file (custom format optimized for fast seeking), " -"into a ZIP archive, or directly into the executable for single-file " -"distribution." -msgstr "" - -#: ../../docs/about/list_of_features.rst:737 -msgid "" -":ref:`Export additional PCK files` that can be read by " -"the engine to support mods and DLCs." -msgstr "" - -#: ../../docs/about/list_of_features.rst:741 -#: ../../docs/about/docs_changelog.rst:417 -msgid "Miscellaneous" -msgstr "" - -#: ../../docs/about/list_of_features.rst:743 -msgid "" -":ref:`Video playback ` with built-in support for Ogg " -"Theora." -msgstr "" - -#: ../../docs/about/list_of_features.rst:744 -msgid "" -":ref:`Movie Maker mode ` to record videos from a " -"running project with synchronized audio and perfect frame pacing." -msgstr "" - -#: ../../docs/about/list_of_features.rst:746 -msgid "" -":ref:`Low-level access to servers ` which allows " -"bypassing the scene tree's overhead when needed." -msgstr "" - -#: ../../docs/about/list_of_features.rst:748 -msgid "" -":ref:`Command line interface ` for automation." -msgstr "" - -#: ../../docs/about/list_of_features.rst:750 -msgid "Export and deploy projects using continuous integration platforms." -msgstr "" - -#: ../../docs/about/list_of_features.rst:751 -msgid "" -"`Shell completion scripts `__ are available for Bash, zsh and fish." -msgstr "" - -#: ../../docs/about/list_of_features.rst:753 -msgid "" -"Print colored text to standard output on all platforms using :ref:" -"`print_rich `." -msgstr "" - -#: ../../docs/about/list_of_features.rst:756 -msgid "" -"Support for :ref:`C++ modules ` statically linked " -"into the engine binary." -msgstr "" - -#: ../../docs/about/list_of_features.rst:758 -msgid "Engine and editor written in C++17." -msgstr "" - -#: ../../docs/about/list_of_features.rst:760 -msgid "" -"Can be :ref:`compiled ` using GCC, " -"Clang and MSVC. MinGW is also supported." -msgstr "" - -#: ../../docs/about/list_of_features.rst:762 -msgid "" -"Friendly towards packagers. In most cases, system libraries can be used " -"instead of the ones provided by Godot. The build system doesn't download " -"anything. Builds can be fully reproducible." -msgstr "" - -#: ../../docs/about/list_of_features.rst:766 -msgid "Licensed under the permissive MIT license." -msgstr "" - -#: ../../docs/about/list_of_features.rst:768 -msgid "" -"Open development process with :ref:`contributions welcome " -"`." -msgstr "" - -#: ../../docs/about/list_of_features.rst:772 -msgid "" -"The `Godot proposals repository `__ lists features that have been requested by the community and " -"may be implemented in future Godot releases." -msgstr "" - -#: ../../docs/about/docs_changelog.rst:4 -msgid "Documentation changelog" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:6 -msgid "" -"The documentation is continually being improved. New releases include new " -"pages, fixes and updates to existing pages, and many updates to the :ref:" -"`class reference `. Below is a list of new pages added " -"since version 3.0." -msgstr "" - -#: ../../docs/about/docs_changelog.rst:11 -msgid "" -"This document only contains new pages so not all changes are reflected, many " -"pages have been substantially updated but are not reflected in this document." -msgstr "" - -#: ../../docs/about/docs_changelog.rst:15 -msgid "New pages since version 4.0" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:18 -#: ../../docs/about/docs_changelog.rst:67 -#: ../../docs/about/docs_changelog.rst:170 -msgid "Development" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:20 -msgid ":ref:`doc_internal_rendering_architecture`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:21 -msgid ":ref:`doc_using_sanitizers`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:24 -#: ../../docs/about/docs_changelog.rst:72 -msgid "Migrating" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:26 -msgid ":ref:`doc_upgrading_to_godot_4.1`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:29 -#: ../../docs/about/docs_changelog.rst:77 -#: ../../docs/about/docs_changelog.rst:208 -#: ../../docs/about/docs_changelog.rst:359 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.1.rst:104 -#: ../../docs/tutorials/performance/cpu_optimization.rst:235 -#: ../../docs/tutorials/physics/index.rst:2 -msgid "Physics" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:31 -msgid ":ref:`doc_troubleshooting_physics_issues`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:34 -msgid "New pages since version 3.6" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:37 -#: ../../docs/about/docs_changelog.rst:241 -#: ../../docs/about/docs_changelog.rst:346 ../../docs/tutorials/2d/index.rst:2 -msgid "2D" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:39 -msgid ":ref:`doc_2d_antialiasing`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:42 -#: ../../docs/about/docs_changelog.rst:115 -#: ../../docs/about/docs_changelog.rst:146 -#: ../../docs/about/docs_changelog.rst:352 ../../docs/tutorials/3d/index.rst:2 -#: ../../docs/tutorials/performance/index.rst:72 -msgid "3D" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:44 -msgid ":ref:`doc_3d_antialiasing`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:45 -msgid ":ref:`doc_faking_global_illumination`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:46 -msgid ":ref:`doc_introduction_to_global_illumination`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:47 -msgid ":ref:`doc_mesh_lod`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:48 -msgid ":ref:`doc_occlusion_culling`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:49 -msgid ":ref:`doc_using_sdfgi`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:50 -msgid ":ref:`doc_using_decals`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:51 -msgid ":ref:`doc_visibility_ranges`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:52 -msgid ":ref:`doc_volumetric_fog`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:53 -msgid ":ref:`doc_variable_rate_shading`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:54 -msgid ":ref:`doc_physical_light_and_camera_units`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:59 -msgid ":ref:`doc_creating_movies`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:62 -#: ../../docs/tutorials/assets_pipeline/index.rst:2 -msgid "Assets pipeline" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:64 -msgid ":ref:`doc_retargeting_3d_skeletons`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:69 -msgid ":ref:`doc_custom_platform_ports`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:74 -msgid ":ref:`doc_upgrading_to_godot_4`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:79 -msgid ":ref:`doc_large_world_coordinates`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:84 -msgid ":ref:`doc_custom_performance_monitors`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:85 -msgid ":ref:`doc_c_sharp_collections`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:86 -msgid ":ref:`doc_c_sharp_global_classes`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:87 -msgid ":ref:`doc_c_sharp_variant`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:92 -msgid ":ref:`doc_compute_shaders`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:95 -msgid "Workflow" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:97 -msgid ":ref:`doc_pr_review_guidelines`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:100 -#: ../../docs/tutorials/migrating/upgrading_to_godot_4.2.rst:216 -#: ../../docs/tutorials/xr/index.rst:2 -msgid "XR" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:102 -msgid ":ref:`doc_introducing_xr_tools`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:103 -msgid ":ref:`doc_xr_action_map`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:104 -msgid ":ref:`doc_deploying_to_android`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:107 -msgid "New pages since version 3.5" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:109 -msgid "None." -msgstr "" - -#: ../../docs/about/docs_changelog.rst:112 -msgid "New pages since version 3.4" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:117 -msgid ":ref:`doc_3d_text`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:122 -msgid ":ref:`doc_playing_videos`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:127 -msgid ":ref:`doc_managing_editor_features`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:130 -msgid "New pages since version 3.3" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:133 -#: ../../docs/getting_started/first_2d_game/01.project_setup.rst:33 -#: ../../docs/tutorials/performance/cpu_optimization.rst:184 -msgid "C++" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:135 -msgid ":ref:`doc_cpp_usage_guidelines`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:138 -#: ../../docs/getting_started/step_by_step/scripting_languages.rst:59 -#: ../../docs/getting_started/first_2d_game/01.project_setup.rst:15 -#: ../../docs/tutorials/performance/cpu_optimization.rst:160 -#: ../../docs/tutorials/scripting/gdscript/index.rst:2 -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:35 -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:75 -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:109 -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:239 -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:374 -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:483 -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:565 -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:576 -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:594 -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:631 -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:647 -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:662 -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:679 -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:691 -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:699 -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:712 -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:720 -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:733 -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:767 -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:775 -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:783 -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_collections.rst:78 -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_collections.rst:118 -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_collections.rst:216 -#: ../../docs/tutorials/scripting/debug/overview_of_debugging_tools.rst:128 -msgid "GDScript" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:140 -msgid ":ref:`doc_gdscript_documentation_comments`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:143 -msgid "New pages since version 3.2" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:148 -msgid ":ref:`doc_3d_rendering_limitations`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:153 -msgid ":ref:`doc_troubleshooting`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:154 -msgid ":ref:`doc_list_of_features`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:155 -msgid ":ref:`doc_release_policy`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:158 -#: ../../docs/tutorials/best_practices/index.rst:2 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:482 -#: ../../docs/tutorials/assets_pipeline/importing_audio_samples.rst:268 -#: ../../docs/tutorials/audio/text_to_speech.rst:77 -msgid "Best practices" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:160 -msgid ":ref:`doc_version_control_systems`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:165 -msgid ":ref:`doc_best_practices_for_engine_contributors`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:166 -msgid ":ref:`doc_bisecting_regressions`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:167 -msgid ":ref:`doc_editor_and_docs_localization`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:172 -msgid ":ref:`doc_introduction_to_editor_development`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:173 -msgid ":ref:`doc_editor_style_guide`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:174 -msgid ":ref:`doc_common_engine_methods_and_macros`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:175 -msgid ":ref:`doc_vulkan_validation_layers`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:176 -msgid ":ref:`doc_gdscript_grammar`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:177 -msgid "Configuring an IDE: :ref:`doc_configuring_an_ide_code_blocks`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:182 -msgid ":ref:`doc_default_key_mapping`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:183 -msgid ":ref:`doc_using_the_web_editor`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:186 -#: ../../docs/tutorials/export/index.rst:2 -msgid "Export" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:188 -msgid ":ref:`doc_exporting_for_dedicated_servers`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:193 -msgid ":ref:`doc_controllers_gamepads_joysticks`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:196 -#: ../../docs/about/docs_changelog.rst:252 -#: ../../docs/tutorials/math/index.rst:2 -msgid "Math" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:198 -msgid ":ref:`doc_random_number_generation`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:201 -#: ../../docs/about/docs_changelog.rst:402 -#: ../../docs/tutorials/platform/index.rst:4 -msgid "Platform-specific" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:203 -msgid ":ref:`doc_plugins_for_ios`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:204 -msgid ":ref:`doc_ios_plugin`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:205 -msgid ":ref:`doc_html5_shell_classref`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:210 -msgid ":ref:`doc_collision_shapes_2d`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:211 -msgid ":ref:`doc_collision_shapes_3d`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:216 -msgid ":ref:`doc_shaders_style_guide`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:221 -msgid ":ref:`doc_debugger_panel`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:222 -msgid ":ref:`doc_creating_script_templates`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:223 -msgid ":ref:`doc_evaluating_expressions`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:224 -msgid ":ref:`doc_what_is_gdextension`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:225 -msgid "" -":ref:`doc_gdscript_warning_system` (split from :ref:" -"`doc_gdscript_static_typing`)" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:228 -msgid "User Interface (UI)" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:230 -msgid ":ref:`doc_control_node_gallery`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:233 -msgid "New pages since version 3.1" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:236 -#: ../../docs/about/docs_changelog.rst:330 -msgid "Project workflow" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:238 -msgid ":ref:`doc_android_gradle_build`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:243 -msgid ":ref:`doc_2d_sprite_animation`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:248 -msgid ":ref:`doc_recording_with_microphone`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:249 -msgid ":ref:`doc_sync_with_audio`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:254 -msgid ":ref:`doc_beziers_and_curves`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:255 -msgid ":ref:`doc_interpolation`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:258 -msgid "Inputs" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:260 -msgid ":ref:`doc_input_examples`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:265 -msgid ":ref:`doc_localization_using_gettext`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:268 -#: ../../docs/about/docs_changelog.rst:382 -#: ../../docs/tutorials/3d/standard_material_3d.rst:242 -msgid "Shading" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:273 -msgid "Your First Shader Series:" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:271 -#: ../../docs/about/docs_changelog.rst:389 -msgid ":ref:`doc_introduction_to_shaders`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:272 -msgid ":ref:`doc_your_first_canvasitem_shader`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:273 -msgid ":ref:`doc_your_first_spatial_shader`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:274 -msgid ":ref:`doc_your_second_spatial_shader`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:275 -msgid ":ref:`doc_visual_shaders`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:280 -msgid ":ref:`doc_webrtc`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:283 -#: ../../docs/about/docs_changelog.rst:396 -#: ../../docs/tutorials/plugins/index.rst:2 -msgid "Plugins" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:285 -msgid ":ref:`doc_android_plugin`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:286 -msgid ":ref:`doc_inspector_plugins`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:287 -msgid ":ref:`doc_visual_shader_plugins`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:290 -#: ../../docs/about/docs_changelog.rst:407 -msgid "Multi-threading" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:292 -msgid ":ref:`doc_using_multiple_threads`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:295 -#: ../../docs/about/docs_changelog.rst:412 -msgid "Creating content" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:302 -msgid "Procedural geometry series:" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:298 -msgid ":ref:`Procedural geometry `" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:299 -msgid ":ref:`doc_arraymesh`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:300 -msgid ":ref:`doc_surfacetool`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:301 -msgid ":ref:`doc_meshdatatool`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:302 -msgid ":ref:`doc_immediatemesh`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:305 ../../docs/tutorials/3d/index.rst:33 -msgid "Optimization" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:307 -msgid ":ref:`doc_using_multimesh`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:308 -msgid ":ref:`doc_using_servers`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:311 -msgid "Legal" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:313 -msgid ":ref:`doc_complying_with_licenses`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:316 -msgid "New pages since version 3.0" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:319 -#: ../../docs/getting_started/step_by_step/index.rst:4 -#: ../../docs/contributing/development/compiling/compiling_with_script_encryption_key.rst:32 -msgid "Step by step" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:321 -msgid ":ref:`doc_signals`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:322 -#: ../../docs/tutorials/editor/command_line_tutorial.rst:370 -msgid "Exporting" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:327 -msgid ":ref:`doc_gdscript_static_typing`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:332 -msgid "Best Practices:" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:334 -msgid ":ref:`doc_introduction_best_practices`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:335 -msgid ":ref:`doc_what_are_godot_classes`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:336 -msgid ":ref:`doc_scene_organization`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:337 -msgid ":ref:`doc_scenes_versus_scripts`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:338 -msgid ":ref:`doc_autoloads_versus_internal_nodes`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:339 -msgid ":ref:`doc_node_alternatives`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:340 -msgid ":ref:`doc_godot_interfaces`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:341 -msgid ":ref:`doc_godot_notifications`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:342 -msgid ":ref:`doc_data_preferences`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:343 -msgid ":ref:`doc_logic_preferences`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:348 -msgid ":ref:`doc_2d_lights_and_shadows`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:349 -msgid ":ref:`doc_2d_meshes`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:354 -msgid ":ref:`doc_csg_tools`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:355 -msgid ":ref:`doc_animating_thousands_of_fish`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:356 -msgid ":ref:`doc_controlling_thousands_of_fish`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:361 -msgid ":ref:`doc_ragdoll_system`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:362 -msgid ":ref:`doc_soft_body`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:367 -msgid ":ref:`doc_2d_skeletons`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:368 -msgid ":ref:`doc_animation_tree`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:371 -msgid "GUI" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:373 -msgid ":ref:`doc_gui_containers`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:376 -msgid "Viewports" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:378 -msgid ":ref:`doc_viewport_as_texture`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:379 -msgid ":ref:`doc_custom_postprocessing`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:384 -msgid ":ref:`doc_converting_glsl_to_godot_shaders`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:385 -msgid ":ref:`doc_advanced_postprocessing`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:387 -msgid "Shading Reference:" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:390 -msgid ":ref:`doc_shading_language`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:391 -msgid ":ref:`doc_spatial_shader`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:392 -msgid ":ref:`doc_canvas_item_shader`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:393 -msgid ":ref:`doc_particle_shader`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:398 -msgid ":ref:`doc_making_main_screen_plugins`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:399 -msgid ":ref:`doc_3d_gizmo_plugins`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:404 -msgid ":ref:`doc_customizing_html5_shell`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:409 -msgid ":ref:`doc_thread_safe_apis`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:414 -msgid ":ref:`doc_making_trees`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:419 -msgid ":ref:`doc_jitter_stutter`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:420 -msgid ":ref:`doc_running_code_in_the_editor`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:421 -msgid ":ref:`doc_change_scenes_manually`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:424 -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:114 -#: ../../docs/contributing/development/compiling/compiling_for_linuxbsd.rst:238 -#: ../../docs/contributing/development/compiling/compiling_for_macos.rst:46 -#: ../../docs/contributing/development/compiling/compiling_for_ios.rst:47 -msgid "Compiling" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:426 -msgid ":ref:`doc_optimizing_for_size`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:427 -msgid ":ref:`doc_compiling_with_script_encryption_key`" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:430 -#: ../../docs/contributing/development/index.rst:4 -msgid "Engine development" -msgstr "" - -#: ../../docs/about/docs_changelog.rst:432 -msgid ":ref:`doc_binding_to_external_libraries`" +"If you exported your project using a :ref:`custom build with specific " +"modules disabled `, you don't need to list the " +"disabled modules' licenses in your exported project." msgstr "" #: ../../docs/about/release_policy.rst:4 @@ -4502,11 +4618,11 @@ msgid "**Support level**" msgstr "" #: ../../docs/about/release_policy.rst:83 -msgid "Godot 4.2 (`master`)" +msgid "Godot 4.3 (`master`)" msgstr "" #: ../../docs/about/release_policy.rst:83 -msgid "November 2023 (estimate)" +msgid "April 2024 (estimate)" msgstr "" #: ../../docs/about/release_policy.rst:83 @@ -4520,16 +4636,16 @@ msgid "unstable" msgstr "" #: ../../docs/about/release_policy.rst:86 -msgid "Godot 4.1" +msgid "Godot 4.2" msgstr "" #: ../../docs/about/release_policy.rst:86 -msgid "July 2023" +msgid "November 2023" msgstr "" #: ../../docs/about/release_policy.rst:86 #: ../../docs/about/release_policy.rst:89 -#: ../../docs/about/release_policy.rst:95 +#: ../../docs/about/release_policy.rst:97 msgid "" "|supported| Receives fixes for bugs and security issues, as well as patches " "that enable platform support." @@ -4540,65 +4656,73 @@ msgid "supported" msgstr "" #: ../../docs/about/release_policy.rst:89 -msgid "Godot 4.0" +msgid "Godot 4.1" msgstr "" #: ../../docs/about/release_policy.rst:89 +msgid "July 2023" +msgstr "" + +#: ../../docs/about/release_policy.rst:92 +msgid "Godot 4.0" +msgstr "" + +#: ../../docs/about/release_policy.rst:92 msgid "March 2023" msgstr "" #: ../../docs/about/release_policy.rst:92 -msgid "Godot 3.6 (`3.x`, LTS)" -msgstr "" - -#: ../../docs/about/release_policy.rst:92 -msgid "Q3 2023 (estimate)" -msgstr "" - -#: ../../docs/about/release_policy.rst:92 -msgid "" -"|supported| *Beta.* Receives new features, usability and performance " -"improvements, as well as bug fixes, while under development." -msgstr "" - -#: ../../docs/about/release_policy.rst:95 -msgid "Godot 3.5" -msgstr "" - -#: ../../docs/about/release_policy.rst:95 -msgid "August 2022" -msgstr "" - -#: ../../docs/about/release_policy.rst:98 -msgid "Godot 3.4" -msgstr "" - -#: ../../docs/about/release_policy.rst:98 -msgid "November 2021" -msgstr "" - -#: ../../docs/about/release_policy.rst:98 -msgid "" -"|eol| No longer supported, as fully superseded by the compatible 3.5 release " -"(last update: 3.4.5)." +msgid "|eol| No longer supported (last update: 4.0.4)." msgstr "" #: ../../docs/about/release_policy.rst:121 msgid "eol" msgstr "" -#: ../../docs/about/release_policy.rst:101 +#: ../../docs/about/release_policy.rst:94 +msgid "Godot 3.6 (`3.x`, LTS)" +msgstr "" + +#: ../../docs/about/release_policy.rst:94 +msgid "Q1 2024 (estimate)" +msgstr "" + +#: ../../docs/about/release_policy.rst:94 +msgid "" +"|supported| *Beta.* Receives new features, usability and performance " +"improvements, as well as bug fixes, while under development." +msgstr "" + +#: ../../docs/about/release_policy.rst:97 +msgid "Godot 3.5" +msgstr "" + +#: ../../docs/about/release_policy.rst:97 +msgid "August 2022" +msgstr "" + +#: ../../docs/about/release_policy.rst:100 +msgid "Godot 3.4" +msgstr "" + +#: ../../docs/about/release_policy.rst:100 +msgid "November 2021" +msgstr "" + +#: ../../docs/about/release_policy.rst:100 +msgid "|eol| No longer supported (last update: 3.4.5)." +msgstr "" + +#: ../../docs/about/release_policy.rst:102 msgid "Godot 3.3" msgstr "" -#: ../../docs/about/release_policy.rst:101 +#: ../../docs/about/release_policy.rst:102 msgid "April 2021" msgstr "" -#: ../../docs/about/release_policy.rst:101 -msgid "" -"|eol| No longer supported, as fully superseded by the compatible 3.4 release " -"(last update: 3.3.4)." +#: ../../docs/about/release_policy.rst:102 +msgid "|eol| No longer supported (last update: 3.3.4)." msgstr "" #: ../../docs/about/release_policy.rst:104 @@ -4935,336 +5059,859 @@ msgid "" "information." msgstr "" -#: ../../docs/about/complying_with_licenses.rst:4 -msgid "Complying with licenses" +#: ../../docs/about/docs_changelog.rst:4 +msgid "Documentation changelog" msgstr "" -#: ../../docs/about/complying_with_licenses.rst:7 -msgid "What are licenses?" -msgstr "" - -#: ../../docs/about/complying_with_licenses.rst:9 +#: ../../docs/about/docs_changelog.rst:6 msgid "" -"Godot is created and distributed under the `MIT License `_. It doesn't have a sole owner either, as every " -"contributor that submits code to the project does it under this same license " -"and keeps ownership of the contribution." +"The documentation is continually being improved. New releases include new " +"pages, fixes and updates to existing pages, and many updates to the :ref:" +"`class reference `. Below is a list of new pages added " +"since version 3.0." msgstr "" -#: ../../docs/about/complying_with_licenses.rst:14 +#: ../../docs/about/docs_changelog.rst:11 msgid "" -"The license is the legal requirement for you (or your company) to use and " -"distribute the software (and derivative projects, including games made with " -"it). Your game or project can have a different license, but it still needs " -"to comply with the original one." +"This document only contains new pages so not all changes are reflected, many " +"pages have been substantially updated but are not reflected in this document." msgstr "" -#: ../../docs/about/complying_with_licenses.rst:21 +#: ../../docs/about/docs_changelog.rst:15 +msgid "New pages since version 4.1" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:18 +#: ../../docs/getting_started/first_2d_game/01.project_setup.rst:22 +#: ../../docs/tutorials/performance/cpu_optimization.rst:169 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:35 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:75 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:109 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:239 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:374 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:483 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:565 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:576 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:594 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:631 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:647 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:662 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:679 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:691 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:699 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:712 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:720 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:733 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:767 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:775 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:783 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_collections.rst:78 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_collections.rst:118 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_collections.rst:216 +msgid "C#" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:20 +msgid ":ref:`doc_c_sharp_diagnostics`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:23 +#: ../../docs/about/docs_changelog.rst:46 +#: ../../docs/about/docs_changelog.rst:95 +#: ../../docs/about/docs_changelog.rst:198 +msgid "Development" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:25 +msgid ":ref:`doc_2d_coordinate_systems`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:28 +#: ../../docs/about/docs_changelog.rst:52 +#: ../../docs/about/docs_changelog.rst:100 +msgid "Migrating" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:30 +msgid ":ref:`doc_upgrading_to_godot_4.2`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:33 +msgid "I/O" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:35 +msgid ":ref:`doc_runtime_loading_and_saving`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:38 +#: ../../docs/about/docs_changelog.rst:229 +#: ../../docs/about/docs_changelog.rst:430 +#: ../../docs/tutorials/platform/index.rst:4 +msgid "Platform-specific" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:40 +msgid ":ref:`doc_android_library`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:43 +msgid "New pages since version 4.0" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:48 +msgid ":ref:`doc_internal_rendering_architecture`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:49 +msgid ":ref:`doc_using_sanitizers`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:54 +msgid ":ref:`doc_upgrading_to_godot_4.1`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:57 +#: ../../docs/about/docs_changelog.rst:105 +#: ../../docs/about/docs_changelog.rst:236 +#: ../../docs/about/docs_changelog.rst:387 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.1.rst:104 +#: ../../docs/tutorials/performance/cpu_optimization.rst:235 +#: ../../docs/tutorials/physics/index.rst:2 +msgid "Physics" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:59 +msgid ":ref:`doc_troubleshooting_physics_issues`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:62 +msgid "New pages since version 3.6" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:65 +#: ../../docs/about/docs_changelog.rst:269 +#: ../../docs/about/docs_changelog.rst:374 ../../docs/tutorials/2d/index.rst:2 +msgid "2D" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:67 +msgid ":ref:`doc_2d_antialiasing`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:70 +#: ../../docs/about/docs_changelog.rst:143 +#: ../../docs/about/docs_changelog.rst:174 +#: ../../docs/about/docs_changelog.rst:380 ../../docs/tutorials/3d/index.rst:2 +#: ../../docs/tutorials/performance/index.rst:72 +msgid "3D" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:72 +msgid ":ref:`doc_3d_antialiasing`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:73 +msgid ":ref:`doc_faking_global_illumination`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:74 +msgid ":ref:`doc_introduction_to_global_illumination`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:75 +msgid ":ref:`doc_mesh_lod`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:76 +msgid ":ref:`doc_occlusion_culling`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:77 +msgid ":ref:`doc_using_sdfgi`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:78 +msgid ":ref:`doc_using_decals`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:79 +msgid ":ref:`doc_visibility_ranges`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:80 +msgid ":ref:`doc_volumetric_fog`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:81 +msgid ":ref:`doc_variable_rate_shading`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:82 +msgid ":ref:`doc_physical_light_and_camera_units`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:87 +msgid ":ref:`doc_creating_movies`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:90 +#: ../../docs/tutorials/assets_pipeline/index.rst:2 +msgid "Assets pipeline" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:92 +msgid ":ref:`doc_retargeting_3d_skeletons`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:97 +msgid ":ref:`doc_custom_platform_ports`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:102 +msgid ":ref:`doc_upgrading_to_godot_4`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:107 +msgid ":ref:`doc_large_world_coordinates`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:112 +msgid ":ref:`doc_custom_performance_monitors`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:113 +msgid ":ref:`doc_c_sharp_collections`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:114 +msgid ":ref:`doc_c_sharp_global_classes`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:115 +msgid ":ref:`doc_c_sharp_variant`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:120 +msgid ":ref:`doc_compute_shaders`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:123 +msgid "Workflow" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:125 +msgid ":ref:`doc_pr_review_guidelines`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:128 +#: ../../docs/tutorials/migrating/upgrading_to_godot_4.2.rst:216 +#: ../../docs/tutorials/xr/index.rst:2 +msgid "XR" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:130 +msgid ":ref:`doc_introducing_xr_tools`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:131 +msgid ":ref:`doc_xr_action_map`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:132 +msgid ":ref:`doc_deploying_to_android`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:135 +msgid "New pages since version 3.5" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:137 +msgid "None." +msgstr "" + +#: ../../docs/about/docs_changelog.rst:140 +msgid "New pages since version 3.4" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:145 +msgid ":ref:`doc_3d_text`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:150 +msgid ":ref:`doc_playing_videos`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:155 +msgid ":ref:`doc_managing_editor_features`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:158 +msgid "New pages since version 3.3" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:161 +#: ../../docs/getting_started/first_2d_game/01.project_setup.rst:33 +#: ../../docs/tutorials/performance/cpu_optimization.rst:184 +msgid "C++" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:163 +msgid ":ref:`doc_cpp_usage_guidelines`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:166 +#: ../../docs/getting_started/step_by_step/scripting_languages.rst:59 +#: ../../docs/getting_started/first_2d_game/01.project_setup.rst:15 +#: ../../docs/tutorials/performance/cpu_optimization.rst:160 +#: ../../docs/tutorials/scripting/gdscript/index.rst:2 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:35 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:75 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:109 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:239 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:374 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:483 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:565 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:576 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:594 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:631 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:647 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:662 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:679 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:691 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:699 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:712 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:720 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:733 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:767 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:775 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:783 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_collections.rst:78 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_collections.rst:118 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_collections.rst:216 +#: ../../docs/tutorials/scripting/debug/overview_of_debugging_tools.rst:128 +msgid "GDScript" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:168 +msgid ":ref:`doc_gdscript_documentation_comments`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:171 +msgid "New pages since version 3.2" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:176 +msgid ":ref:`doc_3d_rendering_limitations`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:181 +msgid ":ref:`doc_troubleshooting`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:182 +msgid ":ref:`doc_list_of_features`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:183 +msgid ":ref:`doc_release_policy`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:186 +#: ../../docs/tutorials/best_practices/index.rst:2 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:537 +#: ../../docs/tutorials/assets_pipeline/importing_audio_samples.rst:268 +#: ../../docs/tutorials/audio/text_to_speech.rst:93 +msgid "Best practices" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:188 +msgid ":ref:`doc_version_control_systems`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:193 +msgid ":ref:`doc_best_practices_for_engine_contributors`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:194 +msgid ":ref:`doc_bisecting_regressions`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:195 +msgid ":ref:`doc_editor_and_docs_localization`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:200 +msgid ":ref:`doc_introduction_to_editor_development`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:201 +msgid ":ref:`doc_editor_style_guide`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:202 +msgid ":ref:`doc_common_engine_methods_and_macros`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:203 +msgid ":ref:`doc_vulkan_validation_layers`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:204 +msgid ":ref:`doc_gdscript_grammar`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:205 +msgid "Configuring an IDE: :ref:`doc_configuring_an_ide_code_blocks`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:210 +msgid ":ref:`doc_default_key_mapping`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:211 +msgid ":ref:`doc_using_the_web_editor`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:214 +#: ../../docs/tutorials/export/index.rst:2 +msgid "Export" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:216 +msgid ":ref:`doc_exporting_for_dedicated_servers`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:221 +msgid ":ref:`doc_controllers_gamepads_joysticks`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:224 +#: ../../docs/about/docs_changelog.rst:280 +#: ../../docs/tutorials/math/index.rst:2 +msgid "Math" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:226 +msgid ":ref:`doc_random_number_generation`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:231 +msgid ":ref:`doc_plugins_for_ios`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:232 +msgid ":ref:`doc_ios_plugin`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:233 +msgid ":ref:`doc_html5_shell_classref`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:238 +msgid ":ref:`doc_collision_shapes_2d`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:239 +msgid ":ref:`doc_collision_shapes_3d`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:244 +msgid ":ref:`doc_shaders_style_guide`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:249 +msgid ":ref:`doc_debugger_panel`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:250 +msgid ":ref:`doc_creating_script_templates`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:251 +msgid ":ref:`doc_evaluating_expressions`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:252 +msgid ":ref:`doc_what_is_gdextension`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:253 msgid "" -"This section covers compliance with licenses from a user perspective. If you " -"are interested in licence compliance as a contributor, you can find " -"guidelines :ref:`here " -"`." +":ref:`doc_gdscript_warning_system` (split from :ref:" +"`doc_gdscript_static_typing`)" msgstr "" -#: ../../docs/about/complying_with_licenses.rst:27 -msgid "" -"In your project's credits screen, remember to also list third-party notices " -"for assets you're using, such as textures, models, sounds, music and fonts." +#: ../../docs/about/docs_changelog.rst:256 +msgid "User Interface (UI)" msgstr "" -#: ../../docs/about/complying_with_licenses.rst:30 -msgid "" -"Free assets in particular often come with licenses that require attribution. " -"Double-check their license before using those assets in a project." +#: ../../docs/about/docs_changelog.rst:258 +msgid ":ref:`doc_control_node_gallery`" msgstr "" -#: ../../docs/about/complying_with_licenses.rst:34 -#: ../../docs/tutorials/export/exporting_for_macos.rst:16 -#: ../../docs/tutorials/export/exporting_for_ios.rst:22 -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:14 -#: ../../docs/contributing/development/compiling/compiling_for_linuxbsd.rst:14 -#: ../../docs/contributing/development/compiling/compiling_for_macos.rst:14 -#: ../../docs/contributing/development/compiling/compiling_for_android.rst:25 -#: ../../docs/contributing/development/compiling/compiling_for_ios.rst:14 -#: ../../docs/contributing/development/compiling/cross-compiling_for_ios_on_linux.rst:25 -#: ../../docs/contributing/development/compiling/compiling_for_web.rst:14 -#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:9 -#: ../../docs/community/asset_library/submitting_to_assetlib.rst:24 -msgid "Requirements" +#: ../../docs/about/docs_changelog.rst:261 +msgid "New pages since version 3.1" msgstr "" -#: ../../docs/about/complying_with_licenses.rst:36 -msgid "" -"In the case of the MIT license, the only requirement is to include the " -"license text somewhere in your game or derivative project." +#: ../../docs/about/docs_changelog.rst:264 +#: ../../docs/about/docs_changelog.rst:358 +msgid "Project workflow" msgstr "" -#: ../../docs/about/complying_with_licenses.rst:39 -msgid "This text reads as follows:" +#: ../../docs/about/docs_changelog.rst:266 +msgid ":ref:`doc_android_gradle_build`" msgstr "" -#: ../../docs/about/complying_with_licenses.rst:41 -msgid "This game uses Godot Engine, available under the following license:" +#: ../../docs/about/docs_changelog.rst:271 +msgid ":ref:`doc_2d_sprite_animation`" msgstr "" -#: ../../docs/about/complying_with_licenses.rst:43 -msgid "" -"Copyright (c) 2014-present Godot Engine contributors. Copyright (c) " -"2007-2014 Juan Linietsky, Ariel Manzur." +#: ../../docs/about/docs_changelog.rst:276 +msgid ":ref:`doc_recording_with_microphone`" msgstr "" -#: ../../docs/about/complying_with_licenses.rst:46 -#: ../../docs/about/complying_with_licenses.rst:163 -msgid "" -"Permission is hereby granted, free of charge, to any person obtaining a copy " -"of this software and associated documentation files (the \"Software\"), to " -"deal in the Software without restriction, including without limitation the " -"rights to use, copy, modify, merge, publish, distribute, sublicense, and/or " -"sell copies of the Software, and to permit persons to whom the Software is " -"furnished to do so, subject to the following conditions:" +#: ../../docs/about/docs_changelog.rst:277 +msgid ":ref:`doc_sync_with_audio`" msgstr "" -#: ../../docs/about/complying_with_licenses.rst:48 -#: ../../docs/about/complying_with_licenses.rst:165 -msgid "" -"The above copyright notice and this permission notice shall be included in " -"all copies or substantial portions of the Software." +#: ../../docs/about/docs_changelog.rst:282 +msgid ":ref:`doc_beziers_and_curves`" msgstr "" -#: ../../docs/about/complying_with_licenses.rst:50 -#: ../../docs/about/complying_with_licenses.rst:167 -msgid "" -"THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR " -"IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, " -"FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE " -"AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER " -"LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING " -"FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS " -"IN THE SOFTWARE." +#: ../../docs/about/docs_changelog.rst:283 +msgid ":ref:`doc_interpolation`" msgstr "" -#: ../../docs/about/complying_with_licenses.rst:54 -msgid "" -"Your games do not need to be under the same license. You are free to release " -"your Godot projects under any license and to create commercial games with " -"the engine." +#: ../../docs/about/docs_changelog.rst:286 +msgid "Inputs" msgstr "" -#: ../../docs/about/complying_with_licenses.rst:59 -msgid "Inclusion" +#: ../../docs/about/docs_changelog.rst:288 +msgid ":ref:`doc_input_examples`" msgstr "" -#: ../../docs/about/complying_with_licenses.rst:61 -msgid "" -"The license does not specify how it has to be included, so anything is valid " -"as long as it can be displayed under some condition. These are the most " -"common approaches (only need to implement one of them, not all)." +#: ../../docs/about/docs_changelog.rst:293 +msgid ":ref:`doc_localization_using_gettext`" msgstr "" -#: ../../docs/about/complying_with_licenses.rst:67 -msgid "" -"Godot provides several methods to get license information in the Engine " -"singleton. This allows you to source the license information directly from " -"the engine binary, which prevents the information from becoming outdated if " -"you update engine versions." +#: ../../docs/about/docs_changelog.rst:296 +#: ../../docs/about/docs_changelog.rst:410 +#: ../../docs/tutorials/3d/standard_material_3d.rst:242 +msgid "Shading" msgstr "" -#: ../../docs/about/complying_with_licenses.rst:72 -msgid "For the engine itself:" +#: ../../docs/about/docs_changelog.rst:301 +msgid "Your First Shader Series:" msgstr "" -#: ../../docs/about/complying_with_licenses.rst:74 -msgid ":ref:`Engine.get_license_text`" +#: ../../docs/about/docs_changelog.rst:299 +#: ../../docs/about/docs_changelog.rst:417 +msgid ":ref:`doc_introduction_to_shaders`" msgstr "" -#: ../../docs/about/complying_with_licenses.rst:76 -msgid "For third-party components used by the engine:" +#: ../../docs/about/docs_changelog.rst:300 +msgid ":ref:`doc_your_first_canvasitem_shader`" msgstr "" -#: ../../docs/about/complying_with_licenses.rst:78 -msgid ":ref:`Engine.get_license_info`" +#: ../../docs/about/docs_changelog.rst:301 +msgid ":ref:`doc_your_first_spatial_shader`" msgstr "" -#: ../../docs/about/complying_with_licenses.rst:79 -msgid "" -":ref:`Engine.get_copyright_info`" +#: ../../docs/about/docs_changelog.rst:302 +msgid ":ref:`doc_your_second_spatial_shader`" msgstr "" -#: ../../docs/about/complying_with_licenses.rst:81 -msgid "" -"For miscellaneous engine contributor information. You don't have to include " -"these ones in your project, but they're listed here for reference:" +#: ../../docs/about/docs_changelog.rst:303 +msgid ":ref:`doc_visual_shaders`" msgstr "" -#: ../../docs/about/complying_with_licenses.rst:84 -msgid ":ref:`Engine.get_author_info`" +#: ../../docs/about/docs_changelog.rst:308 +msgid ":ref:`doc_webrtc`" msgstr "" -#: ../../docs/about/complying_with_licenses.rst:85 -msgid ":ref:`Engine.get_donor_info`" +#: ../../docs/about/docs_changelog.rst:311 +#: ../../docs/about/docs_changelog.rst:424 +#: ../../docs/tutorials/plugins/index.rst:2 +msgid "Plugins" msgstr "" -#: ../../docs/about/complying_with_licenses.rst:88 -msgid "Credits screen" +#: ../../docs/about/docs_changelog.rst:313 +msgid ":ref:`doc_android_plugin`" msgstr "" -#: ../../docs/about/complying_with_licenses.rst:90 -msgid "" -"Include the above license text somewhere in the credits screen. It can be at " -"the bottom after showing the rest of the credits. Most large studios use " -"this approach with open source licenses." +#: ../../docs/about/docs_changelog.rst:314 +msgid ":ref:`doc_inspector_plugins`" msgstr "" -#: ../../docs/about/complying_with_licenses.rst:95 -msgid "Licenses screen" +#: ../../docs/about/docs_changelog.rst:315 +msgid ":ref:`doc_visual_shader_plugins`" msgstr "" -#: ../../docs/about/complying_with_licenses.rst:97 -msgid "" -"Some games have a special menu (often in the settings) to display licenses. " -"This menu is typically accessed with a button called **Third-party " -"Licenses** or **Open Source Licenses**." +#: ../../docs/about/docs_changelog.rst:318 +#: ../../docs/about/docs_changelog.rst:435 +msgid "Multi-threading" msgstr "" -#: ../../docs/about/complying_with_licenses.rst:102 -msgid "Output log" +#: ../../docs/about/docs_changelog.rst:320 +msgid ":ref:`doc_using_multiple_threads`" msgstr "" -#: ../../docs/about/complying_with_licenses.rst:104 -msgid "" -"Printing the licensing text using the :ref:`print() " -"` function may be enough on platforms where " -"a global output log is readable. This is the case on desktop platforms, " -"Android and HTML5 (but not iOS)." +#: ../../docs/about/docs_changelog.rst:323 +#: ../../docs/about/docs_changelog.rst:440 +msgid "Creating content" msgstr "" -#: ../../docs/about/complying_with_licenses.rst:109 -msgid "Accompanying file" +#: ../../docs/about/docs_changelog.rst:330 +msgid "Procedural geometry series:" msgstr "" -#: ../../docs/about/complying_with_licenses.rst:111 -msgid "" -"If the game is distributed on desktop platforms, a file containing the " -"license can be added to the software that is installed to the user PC." +#: ../../docs/about/docs_changelog.rst:326 +msgid ":ref:`Procedural geometry `" msgstr "" -#: ../../docs/about/complying_with_licenses.rst:115 -msgid "Printed manual" +#: ../../docs/about/docs_changelog.rst:327 +msgid ":ref:`doc_arraymesh`" msgstr "" -#: ../../docs/about/complying_with_licenses.rst:117 -msgid "" -"If the game includes printed manuals, license text can be included there." +#: ../../docs/about/docs_changelog.rst:328 +msgid ":ref:`doc_surfacetool`" msgstr "" -#: ../../docs/about/complying_with_licenses.rst:120 -msgid "Link to the license" +#: ../../docs/about/docs_changelog.rst:329 +msgid ":ref:`doc_meshdatatool`" msgstr "" -#: ../../docs/about/complying_with_licenses.rst:122 -msgid "" -"The Godot Engine developers consider that a link to ``godotengine.org/" -"license`` in your game documentation or credits would be an acceptable way " -"to satisfy the license terms." +#: ../../docs/about/docs_changelog.rst:330 +msgid ":ref:`doc_immediatemesh`" msgstr "" -#: ../../docs/about/complying_with_licenses.rst:127 -msgid "Third-party licenses" +#: ../../docs/about/docs_changelog.rst:333 ../../docs/tutorials/3d/index.rst:33 +msgid "Optimization" msgstr "" -#: ../../docs/about/complying_with_licenses.rst:129 -msgid "" -"Godot itself contains software written by `third parties `_. Most of it does not require " -"license inclusion, but some do. Make sure to do it if these are compiled in " -"your Godot export template. If you're using the official export templates, " -"all libraries are enabled. This means you need to provide attribution for " -"all the libraries listed below." +#: ../../docs/about/docs_changelog.rst:335 +msgid ":ref:`doc_using_multimesh`" msgstr "" -#: ../../docs/about/complying_with_licenses.rst:136 -msgid "Here's a list of libraries requiring attribution:" +#: ../../docs/about/docs_changelog.rst:336 +msgid ":ref:`doc_using_servers`" msgstr "" -#: ../../docs/about/complying_with_licenses.rst:139 -msgid "FreeType" +#: ../../docs/about/docs_changelog.rst:339 +msgid "Legal" msgstr "" -#: ../../docs/about/complying_with_licenses.rst:141 -msgid "" -"Godot uses `FreeType `_ to render fonts. Its " -"license requires attribution, so the following text must be included " -"together with the Godot license:" +#: ../../docs/about/docs_changelog.rst:341 +msgid ":ref:`doc_complying_with_licenses`" msgstr "" -#: ../../docs/about/complying_with_licenses.rst:145 -msgid "" -"Portions of this software are copyright © The FreeType Project (www." -"freetype.org). All rights reserved." +#: ../../docs/about/docs_changelog.rst:344 +msgid "New pages since version 3.0" msgstr "" -#: ../../docs/about/complying_with_licenses.rst:149 -msgid "" -" should correspond to the value from the FreeType version used in your " -"build. This information can be found in the editor by opening the **Help > " -"About** dialog and going to the **Third-party Licenses** tab." +#: ../../docs/about/docs_changelog.rst:347 +#: ../../docs/getting_started/step_by_step/index.rst:4 +#: ../../docs/contributing/development/compiling/compiling_with_script_encryption_key.rst:32 +msgid "Step by step" msgstr "" -#: ../../docs/about/complying_with_licenses.rst:155 -msgid "ENet" +#: ../../docs/about/docs_changelog.rst:349 +msgid ":ref:`doc_signals`" msgstr "" -#: ../../docs/about/complying_with_licenses.rst:157 -msgid "" -"Godot includes the `ENet `_ library to handle high-" -"level multiplayer. ENet has similar licensing terms as Godot:" +#: ../../docs/about/docs_changelog.rst:350 +#: ../../docs/tutorials/editor/command_line_tutorial.rst:383 +msgid "Exporting" msgstr "" -#: ../../docs/about/complying_with_licenses.rst:161 -msgid "Copyright (c) 2002-2020 Lee Salzman" +#: ../../docs/about/docs_changelog.rst:355 +msgid ":ref:`doc_gdscript_static_typing`" msgstr "" -#: ../../docs/about/complying_with_licenses.rst:170 -msgid "mbed TLS" +#: ../../docs/about/docs_changelog.rst:360 +msgid "Best Practices:" msgstr "" -#: ../../docs/about/complying_with_licenses.rst:172 -msgid "" -"If the project is exported with Godot 3.1 or later, it includes `mbed TLS " -"`_. The Apache license needs to be complied to by " -"including the following text:" +#: ../../docs/about/docs_changelog.rst:362 +msgid ":ref:`doc_introduction_best_practices`" msgstr "" -#: ../../docs/about/complying_with_licenses.rst:175 -msgid "Copyright The Mbed TLS Contributors" +#: ../../docs/about/docs_changelog.rst:363 +msgid ":ref:`doc_what_are_godot_classes`" msgstr "" -#: ../../docs/about/complying_with_licenses.rst:177 -msgid "" -"Licensed under the Apache License, Version 2.0 (the \"License\"); you may " -"not use this file except in compliance with the License. You may obtain a " -"copy of the License at" +#: ../../docs/about/docs_changelog.rst:364 +msgid ":ref:`doc_scene_organization`" msgstr "" -#: ../../docs/about/complying_with_licenses.rst:181 -msgid "http://www.apache.org/licenses/LICENSE-2.0" +#: ../../docs/about/docs_changelog.rst:365 +msgid ":ref:`doc_scenes_versus_scripts`" msgstr "" -#: ../../docs/about/complying_with_licenses.rst:183 -msgid "" -"Unless required by applicable law or agreed to in writing, software " -"distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT " -"WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the " -"License for the specific language governing permissions and limitations " -"under the License." +#: ../../docs/about/docs_changelog.rst:366 +msgid ":ref:`doc_autoloads_versus_internal_nodes`" msgstr "" -#: ../../docs/about/complying_with_licenses.rst:191 -msgid "" -"If you exported your project using a :ref:`custom build with specific " -"modules disabled `, you don't need to list the " -"disabled modules' licenses in your exported project." +#: ../../docs/about/docs_changelog.rst:367 +msgid ":ref:`doc_node_alternatives`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:368 +msgid ":ref:`doc_godot_interfaces`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:369 +msgid ":ref:`doc_godot_notifications`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:370 +msgid ":ref:`doc_data_preferences`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:371 +msgid ":ref:`doc_logic_preferences`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:376 +msgid ":ref:`doc_2d_lights_and_shadows`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:377 +msgid ":ref:`doc_2d_meshes`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:382 +msgid ":ref:`doc_csg_tools`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:383 +msgid ":ref:`doc_animating_thousands_of_fish`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:384 +msgid ":ref:`doc_controlling_thousands_of_fish`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:389 +msgid ":ref:`doc_ragdoll_system`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:390 +msgid ":ref:`doc_soft_body`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:395 +msgid ":ref:`doc_2d_skeletons`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:396 +msgid ":ref:`doc_animation_tree`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:399 +msgid "GUI" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:401 +msgid ":ref:`doc_gui_containers`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:404 +msgid "Viewports" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:406 +msgid ":ref:`doc_viewport_as_texture`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:407 +msgid ":ref:`doc_custom_postprocessing`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:412 +msgid ":ref:`doc_converting_glsl_to_godot_shaders`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:413 +msgid ":ref:`doc_advanced_postprocessing`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:415 +msgid "Shading Reference:" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:418 +msgid ":ref:`doc_shading_language`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:419 +msgid ":ref:`doc_spatial_shader`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:420 +msgid ":ref:`doc_canvas_item_shader`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:421 +msgid ":ref:`doc_particle_shader`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:426 +msgid ":ref:`doc_making_main_screen_plugins`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:427 +msgid ":ref:`doc_3d_gizmo_plugins`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:432 +msgid ":ref:`doc_customizing_html5_shell`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:437 +msgid ":ref:`doc_thread_safe_apis`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:442 +msgid ":ref:`doc_making_trees`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:447 +msgid ":ref:`doc_jitter_stutter`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:448 +msgid ":ref:`doc_running_code_in_the_editor`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:449 +msgid ":ref:`doc_change_scenes_manually`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:452 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:114 +#: ../../docs/contributing/development/compiling/compiling_for_linuxbsd.rst:238 +#: ../../docs/contributing/development/compiling/compiling_for_macos.rst:46 +#: ../../docs/contributing/development/compiling/compiling_for_ios.rst:46 +msgid "Compiling" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:454 +msgid ":ref:`doc_optimizing_for_size`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:455 +msgid ":ref:`doc_compiling_with_script_encryption_key`" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:458 +#: ../../docs/contributing/development/index.rst:4 +msgid "Engine development" +msgstr "" + +#: ../../docs/about/docs_changelog.rst:460 +msgid ":ref:`doc_binding_to_external_libraries`" msgstr "" #: ../../docs/getting_started/introduction/index.rst:10 @@ -5550,11 +6197,11 @@ msgid "" msgstr "" #: ../../docs/getting_started/introduction/key_concepts_overview.rst:73 -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2140 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2202 #: ../../docs/tutorials/scripting/gdscript/gdscript_styleguide.rst:676 #: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:589 #: ../../docs/tutorials/scripting/how_to_read_the_godot_api.rst:103 -#: ../../docs/contributing/development/core_and_modules/object_class.rst:219 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:223 msgid "Signals" msgstr "" @@ -5594,7 +6241,7 @@ msgstr "" #: ../../docs/tutorials/2d/2d_movement.rst:286 #: ../../docs/tutorials/3d/global_illumination/introduction_to_global_illumination.rst:327 #: ../../docs/tutorials/export/exporting_pcks.rst:138 -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:423 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:496 msgid "Summary" msgstr "" @@ -6141,7 +6788,7 @@ msgstr "" #: ../../docs/getting_started/first_2d_game/index.rst:77 #: ../../docs/getting_started/first_3d_game/index.rst:72 #: ../../docs/getting_started/first_3d_game/02.player_input.rst:166 -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:447 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:438 #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:336 #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:334 #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:368 @@ -6169,7 +6816,7 @@ msgstr "" #: ../../docs/getting_started/introduction/godot_design_philosophy.rst:61 #: ../../docs/getting_started/first_3d_game/02.player_input.rst:47 -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:359 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:350 #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:29 #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:21 #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:49 @@ -6182,7 +6829,7 @@ msgstr "" #: ../../docs/getting_started/introduction/godot_design_philosophy.rst:177 #: ../../docs/getting_started/first_3d_game/02.player_input.rst:167 -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:448 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:439 #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:337 #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:335 #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:369 @@ -6214,7 +6861,7 @@ msgstr "" #: ../../docs/getting_started/introduction/godot_design_philosophy.rst:75 #: ../../docs/getting_started/first_3d_game/02.player_input.rst:52 -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:367 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:358 #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:33 #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:26 #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:60 @@ -6227,7 +6874,7 @@ msgstr "" #: ../../docs/getting_started/introduction/godot_design_philosophy.rst:178 #: ../../docs/getting_started/first_3d_game/02.player_input.rst:168 -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:449 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:440 #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:338 #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:336 #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:370 @@ -6279,7 +6926,7 @@ msgstr "" #: ../../docs/getting_started/introduction/godot_design_philosophy.rst:99 #: ../../docs/getting_started/first_3d_game/02.player_input.rst:77 -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:384 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:375 #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:49 #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:52 #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:75 @@ -6292,7 +6939,7 @@ msgstr "" #: ../../docs/getting_started/introduction/godot_design_philosophy.rst:179 #: ../../docs/getting_started/first_3d_game/02.player_input.rst:170 -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:451 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:442 #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:339 #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:338 #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:372 @@ -6384,7 +7031,7 @@ msgstr "" #: ../../docs/getting_started/introduction/godot_design_philosophy.rst:151 #: ../../docs/getting_started/first_3d_game/02.player_input.rst:82 -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:395 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:386 #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:85 #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:56 #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:84 @@ -6397,7 +7044,7 @@ msgstr "" #: ../../docs/getting_started/introduction/godot_design_philosophy.rst:180 #: ../../docs/getting_started/first_3d_game/02.player_input.rst:171 -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:452 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:443 #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:340 #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:339 #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:373 @@ -6913,9 +7560,10 @@ msgstr "" #: ../../docs/getting_started/step_by_step/instancing.rst:131 msgid "" -"Play the game by pressing :kbd:`F5` and notice how all balls now bounce a " -"lot more. As the Ball scene is a template for all instances, modifying it " -"and saving causes all instances to update accordingly." +"Play the game by pressing :kbd:`F5` (:kbd:`Cmd + B` on macOS) and notice how " +"all balls now bounce a lot more. As the Ball scene is a template for all " +"instances, modifying it and saving causes all instances to update " +"accordingly." msgstr "" #: ../../docs/getting_started/step_by_step/instancing.rst:135 @@ -6950,11 +7598,12 @@ msgstr "" #: ../../docs/getting_started/step_by_step/instancing.rst:156 msgid "" -"If you change a value on the ``PhysicsMaterial`` of one instance, it will " -"affect all the others. This is because ``PhysicsMaterial`` is a resource, " -"and resources are shared between instances. To make a resource unique for " -"one instance, right-click on it in the Inspector and click Make Unique in " -"the contextual menu." +"You may notice you are unable to change the values of the " +"``PhysicsMaterial`` of the ball. This is because ``PhysicsMaterial`` is a " +"resource, and needs to be made unique before you can edit it in a scene that " +"is linking to its original scene. To make a resource unique for one " +"instance, right-click on it in the Inspector and click Make Unique in the " +"contextual menu." msgstr "" #: ../../docs/getting_started/step_by_step/instancing.rst:162 @@ -7391,13 +8040,19 @@ msgid "" "and click the Create button to create the script." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:88 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:90 +msgid "" +"C# script names need to match their class name. In this case, you should " +"name the file ``MySprite2D.cs``." +msgstr "" + +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:93 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:104 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:109 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``, " @@ -7406,20 +8061,20 @@ msgid "" "``CanvasItem``, and ``Node``." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:110 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:115 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:114 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:119 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:119 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:124 msgid "" "By default, the Inspector displays a node's properties in \"Title Case\", " "with capitalized words separated by a space. In GDScript code, these " @@ -7427,27 +8082,27 @@ msgid "" "an underscore." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:123 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:128 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:127 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:132 msgid "Hello, world!" msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:129 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:134 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:132 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:137 msgid "Add the following code to your script:" msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:148 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:153 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 " @@ -7455,7 +8110,7 @@ msgid "" "define this function." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:153 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:158 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 " @@ -7463,24 +8118,24 @@ msgid "" "following error message: \"Indented block expected\"." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:158 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:163 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:164 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:169 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:168 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:173 msgid "Turning around" msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:170 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:175 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 " @@ -7488,7 +8143,7 @@ msgid "" "``extends Sprite2D`` line." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:185 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:190 msgid "" "Member variables sit near the top of the script, after any \"extends\" " "lines, but before functions. Every node instance with this script attached " @@ -7496,14 +8151,14 @@ msgid "" "properties." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:190 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:195 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:194 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:199 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 " @@ -7512,7 +8167,7 @@ msgid "" "argument named ``delta``, the time elapsed since the last frame." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:202 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:207 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 " @@ -7521,7 +8176,7 @@ msgid "" "reality games." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:208 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:213 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 " @@ -7529,11 +8184,11 @@ msgid "" "this delta time value, making our motion independent of our framerate." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:213 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:218 msgid "At the bottom of the script, define the function:" msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:228 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:233 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 " @@ -7541,7 +8196,7 @@ msgid "" "or instructions." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:233 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:238 msgid "" "Notice how ``_process()``, like ``_init()``, starts with a leading " "underscore. By convention, Godot's virtual functions, that is to say, built-" @@ -7549,7 +8204,7 @@ msgid "" "underscore." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:238 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:243 msgid "" "The line inside the function, ``rotation += angular_speed * delta``, " "increments our sprite's rotation every frame. Here, ``rotation`` is a " @@ -7557,36 +8212,36 @@ msgid "" "controls the rotation of our node and works with radians." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:243 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:248 msgid "" "In the code editor, you can ctrl-click 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:247 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:252 msgid "Run the scene to see the Godot icon turn in-place." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:251 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:256 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:256 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:261 msgid "Moving forward" msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:258 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:263 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:275 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:280 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 " @@ -7594,7 +8249,7 @@ msgid "" "scope." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:279 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:284 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 " @@ -7605,37 +8260,37 @@ msgid "" "move the node forward." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:286 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:291 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:290 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:295 msgid "Run the scene to see the Godot head run in circles." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:294 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:299 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:298 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:303 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:302 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:307 #: ../../docs/getting_started/step_by_step/scripting_player_input.rst:113 #: ../../docs/getting_started/step_by_step/signals.rst:342 msgid "Complete script" msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:304 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:309 #: ../../docs/getting_started/step_by_step/scripting_player_input.rst:115 msgid "Here is the complete ``sprite_2d.gd`` file for reference." msgstr "" @@ -8304,7 +8959,9 @@ msgid "You can find a completed version of this project at this location:" msgstr "" #: ../../docs/getting_started/first_2d_game/index.rst:43 -msgid "https://github.com/godotengine/godot-demo-projects" +msgid "" +"https://github.com/godotengine/godot-demo-projects/tree/master/2d/" +"dodge_the_creeps" msgstr "" #: ../../docs/getting_started/first_2d_game/index.rst:46 @@ -8321,8 +8978,8 @@ msgstr "" #: ../../docs/getting_started/first_2d_game/index.rst:51 msgid "" "If you're an experienced programmer, you can find the complete demo's source " -"code here: `Godot demo projects `__." +"code here: `Dodge the Creeps source code `__." msgstr "" #: ../../docs/getting_started/first_2d_game/index.rst:55 @@ -8376,35 +9033,6 @@ msgid "" "``art/`` and ``fonts/`` directories to your project's directory." msgstr "" -#: ../../docs/getting_started/first_2d_game/01.project_setup.rst:22 -#: ../../docs/tutorials/performance/cpu_optimization.rst:169 -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:35 -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:75 -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:109 -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:239 -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:374 -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:483 -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:565 -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:576 -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:594 -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:631 -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:647 -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:662 -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:679 -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:691 -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:699 -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:712 -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:720 -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:733 -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:767 -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:775 -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:783 -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_collections.rst:78 -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_collections.rst:118 -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_collections.rst:216 -msgid "C#" -msgstr "" - #: ../../docs/getting_started/first_2d_game/01.project_setup.rst:29 msgid "" "Ensure that you have the required dependencies to use C# in Godot. You need " @@ -9023,7 +9651,7 @@ msgstr "" #: ../../docs/getting_started/first_2d_game/04.creating_the_enemy.rst:27 msgid "" -"Select the ``Mob`` node and set it's ``Gravity Scale`` property in the :ref:" +"Select the ``Mob`` node and set its ``Gravity Scale`` property in the :ref:" "`RigidBody2D ` section of the inspector to ``0``. This " "will prevent the mob from falling downwards." msgstr "" @@ -9363,7 +9991,7 @@ msgstr "" #: ../../docs/getting_started/first_2d_game/05.the_main_game_scene.rst:290 msgid "" "When you're sure everything is working, remove the call to ``new_game()`` " -"from ``_ready()``." +"from ``_ready()`` and replace it with ``pass``." msgstr "" #: ../../docs/getting_started/first_2d_game/05.the_main_game_scene.rst:293 @@ -9582,8 +10210,8 @@ msgstr "" #: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:187 msgid "" -"Connect the ``timeout()`` signal of ``MessageTimer`` and the ``pressed()`` " -"signal of ``StartButton``, and add the following code to the new functions:" +"Connect the ``pressed()`` signal of ``StartButton`` and the ``timeout()`` " +"signal of ``MessageTimer``, and add the following code to the new functions:" msgstr "" #: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:214 @@ -9779,7 +10407,7 @@ msgid "" "`Enter` key." msgstr "" -#: ../../docs/getting_started/first_2d_game/07.finishing-up.rst:88 +#: ../../docs/getting_started/first_2d_game/07.finishing-up.rst:90 msgid "" "Now would be a good time to add controller support if you have one " "available. Attach or pair your controller and then under each input action " @@ -9788,7 +10416,7 @@ msgid "" "map to the respective input action." msgstr "" -#: ../../docs/getting_started/first_2d_game/07.finishing-up.rst:93 +#: ../../docs/getting_started/first_2d_game/07.finishing-up.rst:95 msgid "" "In the ``HUD`` scene, select the ``StartButton`` and find its **Shortcut** " "property in the Inspector. Create a new :ref:`Shortcut ` " @@ -9796,36 +10424,36 @@ msgid "" "array element to it by clicking on **Array[InputEvent] (size 0)**." msgstr "" -#: ../../docs/getting_started/first_2d_game/07.finishing-up.rst:100 +#: ../../docs/getting_started/first_2d_game/07.finishing-up.rst:102 msgid "" "Create a new :ref:`InputEventAction ` and name it " "``start_game``." msgstr "" -#: ../../docs/getting_started/first_2d_game/07.finishing-up.rst:104 +#: ../../docs/getting_started/first_2d_game/07.finishing-up.rst:106 msgid "" "Now when the start button appears, you can either click it or press :kbd:" "`Enter` to start the game." msgstr "" -#: ../../docs/getting_started/first_2d_game/07.finishing-up.rst:107 +#: ../../docs/getting_started/first_2d_game/07.finishing-up.rst:109 msgid "And with that, you completed your first 2D game in Godot." msgstr "" -#: ../../docs/getting_started/first_2d_game/07.finishing-up.rst:111 +#: ../../docs/getting_started/first_2d_game/07.finishing-up.rst:113 msgid "" "You got to make a player-controlled character, enemies that spawn randomly " "around the game board, count the score, implement a game over and replay, " "user interface, sounds, and more. Congratulations!" msgstr "" -#: ../../docs/getting_started/first_2d_game/07.finishing-up.rst:115 +#: ../../docs/getting_started/first_2d_game/07.finishing-up.rst:117 msgid "" "There's still much to learn, but you can take a moment to appreciate what " "you achieved." msgstr "" -#: ../../docs/getting_started/first_2d_game/07.finishing-up.rst:118 +#: ../../docs/getting_started/first_2d_game/07.finishing-up.rst:120 msgid "" "And when you're ready, you can move on to :ref:`doc_your_first_3d_game` to " "learn to create a complete 3D game from scratch, in Godot." @@ -10197,7 +10825,7 @@ msgid "The sphere's wireframe appears below the character." msgstr "" #: ../../docs/getting_started/first_3d_game/02.player_input.rst:69 -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:379 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:370 #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:44 #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:66 #: ../../docs/getting_started/first_3d_game/07.killing_player.rst:50 @@ -10208,7 +10836,7 @@ msgid "|image3|" msgstr "" #: ../../docs/getting_started/first_3d_game/02.player_input.rst:169 -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:450 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:441 #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:337 #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:371 #: ../../docs/getting_started/first_3d_game/07.killing_player.rst:529 @@ -10266,7 +10894,7 @@ msgid "" msgstr "" #: ../../docs/getting_started/first_3d_game/02.player_input.rst:100 -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:400 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:391 #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:89 #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:61 #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:92 @@ -10277,7 +10905,7 @@ msgid "|image6|" msgstr "" #: ../../docs/getting_started/first_3d_game/02.player_input.rst:172 -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:453 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:444 #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:341 #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:340 #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:374 @@ -10295,7 +10923,7 @@ msgid "" msgstr "" #: ../../docs/getting_started/first_3d_game/02.player_input.rst:106 -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:405 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:396 #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:101 #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:66 #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:191 @@ -10306,7 +10934,7 @@ msgid "|image7|" msgstr "" #: ../../docs/getting_started/first_3d_game/02.player_input.rst:173 -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:454 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:445 #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:342 #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:341 #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:375 @@ -10334,7 +10962,7 @@ msgid "To add an action, write its name in the bar at the top and press Enter." msgstr "" #: ../../docs/getting_started/first_3d_game/02.player_input.rst:116 -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:411 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:402 #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:224 #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:72 #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:196 @@ -10345,7 +10973,7 @@ msgid "|image8|" msgstr "" #: ../../docs/getting_started/first_3d_game/02.player_input.rst:174 -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:455 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:446 #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:343 #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:342 #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:376 @@ -10360,7 +10988,7 @@ msgid "Create the following five actions:" msgstr "" #: ../../docs/getting_started/first_3d_game/02.player_input.rst:120 -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:416 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:407 #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:229 #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:77 #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:169 @@ -10370,7 +10998,7 @@ msgid "|image9|" msgstr "" #: ../../docs/getting_started/first_3d_game/02.player_input.rst:175 -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:456 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:447 #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:344 #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:343 #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:459 @@ -10497,7 +11125,7 @@ msgid "In the next part, we'll code and test the player's movement." msgstr "" #: ../../docs/getting_started/first_3d_game/02.player_input.rst:176 -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:458 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:449 #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:345 #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:461 #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:619 @@ -10594,35 +11222,19 @@ msgid "" "method." msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:157 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:159 msgid "" "Here, we only normalize the vector if the direction has a length greater " "than zero, which means the player is pressing a direction key." msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:160 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:162 msgid "" -"In this case, we also get the ``Pivot`` node and call its ``look_at()`` " -"method. This method takes a position in space to look at in global " -"coordinates and the up direction. In this case, we can use the ``Vector3." -"UP`` constant." +"We compute the direction the ``$Pivot`` is looking by creating a :ref:`Basis " +"` that looks in the ``direction`` direction." msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:166 -msgid "" -"A node's local coordinates, like ``position``, are relative to their parent. " -"Global coordinates, like ``global_position`` are relative to the world's " -"main axes you can see in the viewport instead." -msgstr "" - -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:170 -msgid "" -"In 3D, the property that contains a node's position is ``position``. By " -"adding the ``direction`` to it, we get a position to look at that's one " -"meter away from the ``Player``." -msgstr "" - -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:174 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:165 msgid "" "Then, we update the velocity. We have to calculate the ground velocity and " "the fall speed separately. Be sure to go back one tab so the lines are " @@ -10630,28 +11242,28 @@ msgid "" "wrote above." msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:223 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:214 msgid "" "The ``CharacterBody3D.is_on_floor()`` function returns ``true`` if the body " "collided with the floor in this frame. That's why we apply gravity to the " "``Player`` only while it is in the air." msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:226 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:217 msgid "" "For the vertical velocity, we subtract the fall acceleration multiplied by " "the delta time every frame. This line of code will cause our character to " "fall in every frame, as long as it is not on or colliding with the floor." msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:230 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:221 msgid "" "The physics engine can only detect interactions with walls, the floor, or " "other bodies during a given frame if movement and collisions happen. We will " "use this property later to code the jump." msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:234 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:225 msgid "" "On the last line, we call ``CharacterBody3D.move_and_slide()`` which is a " "powerful method of the ``CharacterBody3D`` class that allows you to move a " @@ -10660,19 +11272,19 @@ msgid "" "the :ref:`CharacterBody3D `" msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:246 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:237 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:248 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:239 msgid "Here is the complete ``Player.gd`` code for reference." msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:350 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:341 msgid "Testing our player's movement" msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:352 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:343 msgid "" "We're going to put our player in the ``Main`` scene to test it. To do so, we " "need to instantiate the player and then add a camera. Unlike in 2D, in 3D, " @@ -10680,35 +11292,35 @@ msgid "" "something." msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:356 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:347 msgid "" "Save your ``Player`` scene and open the ``Main`` scene. You can click on the " "*Main* tab at the top of the editor to do so." msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:361 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:352 msgid "" "If you closed the scene before, head to the *FileSystem* dock and double-" "click ``main.tscn`` to re-open it." msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:364 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:355 msgid "" "To instantiate the ``Player``, right-click on the ``Main`` node and select " "*Instantiate Child Scene*." msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:369 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:360 msgid "" "In the popup, double-click ``player.tscn``. The character should appear in " "the center of the viewport." msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:373 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:364 msgid "Adding a camera" msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:375 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:366 msgid "" "Let's add the camera next. Like we did with our *Player*\\ 's *Pivot*, we're " "going to create a basic rig. Right-click on the ``Main`` node again and " @@ -10717,26 +11329,26 @@ msgid "" "`Camera3D ` to it. Your scene tree should look like this." msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:381 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:372 msgid "" "Notice the *Preview* checkbox that appears in the top-left when you have the " "*Camera* selected. You can click it to preview the in-game camera projection." msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:386 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:377 msgid "" "We're going to use the *Pivot* to rotate the camera as if it was on a crane. " "Let's first split the 3D view to be able to freely navigate the scene and " "see what the camera sees." msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:390 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:381 msgid "" "In the toolbar right above the viewport, click on *View*, then *2 " "Viewports*. You can also press :kbd:`Ctrl + 2` (:kbd:`Cmd + 2` on macOS)." msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:393 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:384 #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:91 #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:197 #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:95 @@ -10744,32 +11356,32 @@ msgstr "" msgid "|image11|" msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:397 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:388 msgid "" "On the bottom view, select your :ref:`Camera3D ` and turn on " "camera Preview by clicking the checkbox." msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:402 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:393 msgid "" "In the top view, move the camera about ``19`` units on the Z axis (the blue " "one)." msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:407 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:398 msgid "" "Here's where the magic happens. Select the *CameraPivot* and rotate it " "``-45`` degrees around the X axis (using the red circle). You'll see the " "camera move as if it was attached to a crane." msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:413 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:404 msgid "" "You can run the scene by pressing :kbd:`F6` and press the arrow keys to move " "the character." msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:418 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:409 msgid "" "We can see some empty space around the character due to the perspective " "projection. In this game, we're going to use an orthographic projection " @@ -10777,14 +11389,14 @@ msgid "" "to read distances." msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:423 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:414 msgid "" "Select the *Camera* again and in the *Inspector*, set the *Projection* to " "*Orthogonal* and the *Size* to ``19``. The character should now look flatter " "and the ground should fill the background." msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:429 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:420 msgid "" "When using an orthogonal camera in Godot 4, directional shadow quality is " "dependent on the camera's *Far* value. The higher the *Far* value, the " @@ -10793,7 +11405,7 @@ msgid "" "distance." msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:435 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:426 msgid "" "If directional shadows look too blurry after switching to an orthogonal " "camera, decrease the camera's *Far* property to a lower value such as " @@ -10801,7 +11413,7 @@ msgid "" "distance will start disappearing." msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:440 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:431 #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:233 #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:87 #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:193 @@ -10810,7 +11422,7 @@ msgstr "" msgid "|image10|" msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:457 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:448 #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:345 #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:344 #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:460 @@ -10819,13 +11431,13 @@ msgstr "" msgid "image10" msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:442 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:433 msgid "" "Test your scene and you should be able to move in all 8 directions and not " "glitch through the floor!" msgstr "" -#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:444 +#: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:435 msgid "" "Ultimately, we have both player movement and the view in place. Next, we " "will work on the monsters." @@ -11282,9 +11894,9 @@ msgstr "" msgid "" "To sample random positions on it, we need a :ref:`PathFollow3D " "` node. Add a :ref:`PathFollow3D ` " -"as a child of the ``Path3D``. Rename the two nodes to ``SpawnPath`` and " -"``SpawnLocation``, respectively. It's more descriptive of what we'll use " -"them for." +"as a child of the ``Path3D``. Rename the two nodes to ``SpawnLocation`` and " +"``SpawnPath``, respectively. It's more descriptive of what we'll use them " +"for." msgstr "" #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:151 @@ -15294,36 +15906,30 @@ msgstr "" msgid "Official Git plugin" msgstr "" -#: ../../docs/tutorials/best_practices/version_control_systems.rst:26 -msgid "" -"As of July 2023, the Git plugin hasn't been updated to work with Godot 4.1 " -"and later yet." -msgstr "" - -#: ../../docs/tutorials/best_practices/version_control_systems.rst:29 +#: ../../docs/tutorials/best_practices/version_control_systems.rst:24 msgid "" "Using Git from inside the editor is supported with an official plugin. You " "can find the latest releases on `GitHub `__." msgstr "" -#: ../../docs/tutorials/best_practices/version_control_systems.rst:33 +#: ../../docs/tutorials/best_practices/version_control_systems.rst:28 msgid "" "Documentation on how to use the Git plugin can be found on its `wiki " "`__." msgstr "" -#: ../../docs/tutorials/best_practices/version_control_systems.rst:37 +#: ../../docs/tutorials/best_practices/version_control_systems.rst:32 msgid "Files to exclude from VCS" msgstr "" -#: ../../docs/tutorials/best_practices/version_control_systems.rst:41 +#: ../../docs/tutorials/best_practices/version_control_systems.rst:36 msgid "" "This lists files and folders that should be ignored from version control in " "Godot 4.1 and later." msgstr "" -#: ../../docs/tutorials/best_practices/version_control_systems.rst:44 +#: ../../docs/tutorials/best_practices/version_control_systems.rst:39 msgid "" "The list of files of folders that should be ignored from version control in " "Godot 3.x and Godot 4.0 is **entirely** different. This is important, as " @@ -15331,13 +15937,13 @@ msgid "" "(unlike Godot 4.1 and later)." msgstr "" -#: ../../docs/tutorials/best_practices/version_control_systems.rst:49 +#: ../../docs/tutorials/best_practices/version_control_systems.rst:44 msgid "" "If you are using Godot 3, check the ``3.5`` version of this documentation " "page instead." msgstr "" -#: ../../docs/tutorials/best_practices/version_control_systems.rst:52 +#: ../../docs/tutorials/best_practices/version_control_systems.rst:47 msgid "" "There are some files and folders Godot automatically creates when opening a " "project in the editor for the first time. To avoid bloating your version " @@ -15345,35 +15951,35 @@ msgid "" "ignore:" msgstr "" -#: ../../docs/tutorials/best_practices/version_control_systems.rst:56 +#: ../../docs/tutorials/best_practices/version_control_systems.rst:51 msgid "``.godot/``: This folder stores various project cache data." msgstr "" -#: ../../docs/tutorials/best_practices/version_control_systems.rst:57 +#: ../../docs/tutorials/best_practices/version_control_systems.rst:52 msgid "" "``*.translation``: These files are binary imported :ref:`translations " "` generated from CSV files." msgstr "" -#: ../../docs/tutorials/best_practices/version_control_systems.rst:60 +#: ../../docs/tutorials/best_practices/version_control_systems.rst:55 msgid "" "You can make the Godot project manager generate version control metadata for " "you automatically when creating a project. When choosing the **Git** option, " "this creates ``.gitignore`` and ``.gitattributes`` files in the project root:" msgstr "" -#: ../../docs/tutorials/best_practices/version_control_systems.rst:68 +#: ../../docs/tutorials/best_practices/version_control_systems.rst:63 msgid "" "Creating version control metadata in the project manager's New Project dialog" msgstr "" -#: ../../docs/tutorials/best_practices/version_control_systems.rst:68 +#: ../../docs/tutorials/best_practices/version_control_systems.rst:63 msgid "" "Creating version control metadata in the project manager's **New Project** " "dialog" msgstr "" -#: ../../docs/tutorials/best_practices/version_control_systems.rst:70 +#: ../../docs/tutorials/best_practices/version_control_systems.rst:65 msgid "" "In existing projects, select the **Project** menu at the top of the editor, " "then choose **Version Control > Generate Version Control Metadata**. This " @@ -15381,11 +15987,11 @@ msgid "" "manager." msgstr "" -#: ../../docs/tutorials/best_practices/version_control_systems.rst:75 +#: ../../docs/tutorials/best_practices/version_control_systems.rst:70 msgid "Working with Git on Windows" msgstr "" -#: ../../docs/tutorials/best_practices/version_control_systems.rst:77 +#: ../../docs/tutorials/best_practices/version_control_systems.rst:72 msgid "" "Most Git for Windows clients are configured with the ``core.autocrlf`` set " "to ``true``. This can lead to files unnecessarily being marked as modified " @@ -15393,11 +15999,11 @@ msgid "" "automatically." msgstr "" -#: ../../docs/tutorials/best_practices/version_control_systems.rst:81 +#: ../../docs/tutorials/best_practices/version_control_systems.rst:76 msgid "It is better to set this option as:" msgstr "" -#: ../../docs/tutorials/best_practices/version_control_systems.rst:87 +#: ../../docs/tutorials/best_practices/version_control_systems.rst:82 msgid "" "Creating version control metadata using the project manager or editor will " "automatically enforce LF line endings using the ``.gitattributes`` file. In " @@ -15407,6 +16013,8 @@ msgstr "" #: ../../docs/tutorials/troubleshooting.rst:4 #: ../../docs/tutorials/3d/occlusion_culling.rst:261 #: ../../docs/tutorials/3d/resolution_scaling.rst:260 +#: ../../docs/tutorials/audio/text_to_speech.rst:85 +#: ../../docs/tutorials/export/exporting_for_ios.rst:133 #: ../../docs/tutorials/export/one-click_deploy.rst:65 #: ../../docs/tutorials/inputs/controllers_gamepads_joysticks.rst:281 #: ../../docs/contributing/development/compiling/compiling_for_windows.rst:246 @@ -18061,7 +18669,7 @@ msgid "``script_editor/close_file``" msgstr "" #: ../../docs/tutorials/editor/default_key_mapping.rst:335 -#: ../../docs/contributing/development/compiling/compiling_for_ios.rst:91 +#: ../../docs/contributing/development/compiling/compiling_for_ios.rst:90 msgid "Run" msgstr "" @@ -19213,6 +19821,7 @@ msgstr "" #: ../../docs/tutorials/3d/3d_text.rst:102 #: ../../docs/tutorials/3d/3d_text.rst:139 #: ../../docs/tutorials/3d/using_decals.rst:222 +#: ../../docs/tutorials/3d/particles/subemitters.rst:67 #: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:183 #: ../../docs/tutorials/assets_pipeline/exporting_3d_scenes.rst:24 #: ../../docs/tutorials/export/exporting_for_web.rst:80 @@ -19462,10 +20071,10 @@ msgstr "" #: ../../docs/tutorials/editor/command_line_tutorial.rst:116 #: ../../docs/tutorials/editor/command_line_tutorial.rst:140 #: ../../docs/tutorials/editor/command_line_tutorial.rst:189 -#: ../../docs/tutorials/export/exporting_for_macos.rst:90 -#: ../../docs/tutorials/export/exporting_for_macos.rst:110 -#: ../../docs/tutorials/export/exporting_for_macos.rst:143 -#: ../../docs/tutorials/export/exporting_for_macos.rst:186 +#: ../../docs/tutorials/export/exporting_for_macos.rst:91 +#: ../../docs/tutorials/export/exporting_for_macos.rst:111 +#: ../../docs/tutorials/export/exporting_for_macos.rst:144 +#: ../../docs/tutorials/export/exporting_for_macos.rst:187 #: ../../docs/tutorials/io/binary_serialization_api.rst:120 #: ../../docs/tutorials/io/binary_serialization_api.rst:131 #: ../../docs/tutorials/io/binary_serialization_api.rst:140 @@ -19502,7 +20111,7 @@ msgstr "" #: ../../docs/tutorials/io/binary_serialization_api.rst:568 #: ../../docs/tutorials/io/binary_serialization_api.rst:581 #: ../../docs/tutorials/io/binary_serialization_api.rst:596 -#: ../../docs/tutorials/inputs/inputevent.rst:156 +#: ../../docs/tutorials/inputs/inputevent.rst:155 #: ../../docs/tutorials/plugins/editor/import_plugins.rst:248 #: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:154 #: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:35 @@ -19516,13 +20125,13 @@ msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:100 #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:153 #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:247 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:413 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:411 #: ../../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 #: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:159 -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:233 -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:288 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:232 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:286 #: ../../docs/tutorials/shaders/shader_reference/particle_shader.rst:34 #: ../../docs/tutorials/shaders/shader_reference/particle_shader.rst:59 #: ../../docs/tutorials/shaders/shader_reference/particle_shader.rst:78 @@ -19535,9 +20144,9 @@ msgstr "" #: ../../docs/tutorials/shaders/shader_reference/fog_shader.rst:36 #: ../../docs/tutorials/shaders/shader_reference/fog_shader.rst:58 #: ../../docs/tutorials/shaders/visual_shaders.rst:117 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:90 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:163 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:228 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:91 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:164 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:229 #: ../../docs/tutorials/xr/xr_action_map.rst:115 #: ../../docs/tutorials/xr/xr_action_map.rst:187 msgid "Description" @@ -20247,12 +20856,13 @@ msgstr "" #: ../../docs/tutorials/editor/command_line_tutorial.rst:267 msgid "" -"This can be done by giving the path to the ``project.godot`` file of your " -"project as either the first argument, like this:" +"When running the editor, this can be done by giving the path to the " +"``project.godot`` file of your project as either the first argument, like " +"this:" msgstr "" #: ../../docs/tutorials/editor/command_line_tutorial.rst:274 -msgid "Or by using the ``--path`` argument:" +msgid "For all commands, this can be done by using the ``--path`` argument:" msgstr "" #: ../../docs/tutorials/editor/command_line_tutorial.rst:280 @@ -20261,84 +20871,110 @@ msgid "" "might look like this:" msgstr "" +#: ../../docs/tutorials/editor/command_line_tutorial.rst:286 +msgid "" +"When starting from a subdirectory of your project, use the ``--upwards`` " +"argument for Godot to automatically find the ``project.godot`` file by " +"recursively searching the parent directories." +msgstr "" + #: ../../docs/tutorials/editor/command_line_tutorial.rst:289 +msgid "" +"For example, running a scene (as explained below) nested in a subdirectory " +"might look like this when your working directory is in the same path:" +msgstr "" + +#: ../../docs/tutorials/editor/command_line_tutorial.rst:300 msgid "Creating a project" msgstr "" -#: ../../docs/tutorials/editor/command_line_tutorial.rst:292 +#: ../../docs/tutorials/editor/command_line_tutorial.rst:303 msgid "" "Creating a project from the command line can be done by navigating the shell " "to the desired place and making a ``project.godot`` file." msgstr "" -#: ../../docs/tutorials/editor/command_line_tutorial.rst:303 +#: ../../docs/tutorials/editor/command_line_tutorial.rst:314 msgid "The project can now be opened with Godot." msgstr "" -#: ../../docs/tutorials/editor/command_line_tutorial.rst:307 +#: ../../docs/tutorials/editor/command_line_tutorial.rst:318 msgid "Running the editor" msgstr "" -#: ../../docs/tutorials/editor/command_line_tutorial.rst:309 +#: ../../docs/tutorials/editor/command_line_tutorial.rst:320 msgid "" "Running the editor is done by executing Godot with the ``-e`` flag. This " -"must be done from within the project directory or a subdirectory, otherwise " -"the command is ignored and the Project Manager appears." +"must be done from within the project directory or by setting the project " +"path as explained above, otherwise the command is ignored and the Project " +"Manager appears." msgstr "" -#: ../../docs/tutorials/editor/command_line_tutorial.rst:317 +#: ../../docs/tutorials/editor/command_line_tutorial.rst:328 +msgid "" +"When passing in the full path to the ``project.godot`` file, the ``-e`` flag " +"may be omitted." +msgstr "" + +#: ../../docs/tutorials/editor/command_line_tutorial.rst:330 msgid "" "If a scene has been created and saved, it can be edited later by running the " "same code with that scene as argument." msgstr "" -#: ../../docs/tutorials/editor/command_line_tutorial.rst:325 +#: ../../docs/tutorials/editor/command_line_tutorial.rst:338 msgid "Erasing a scene" msgstr "" -#: ../../docs/tutorials/editor/command_line_tutorial.rst:327 +#: ../../docs/tutorials/editor/command_line_tutorial.rst:340 msgid "" "Godot is friends with your filesystem and will not create extra metadata " "files. Use ``rm`` to erase a scene file. Make sure nothing references that " "scene. Otherwise, an error will be thrown upon opening the project." msgstr "" -#: ../../docs/tutorials/editor/command_line_tutorial.rst:336 +#: ../../docs/tutorials/editor/command_line_tutorial.rst:349 msgid "Running the game" msgstr "" -#: ../../docs/tutorials/editor/command_line_tutorial.rst:338 +#: ../../docs/tutorials/editor/command_line_tutorial.rst:351 msgid "" -"To run the game, simply execute Godot within the project directory or " -"subdirectory." +"To run the game, execute Godot within the project directory or with the " +"project path as explained above." msgstr "" -#: ../../docs/tutorials/editor/command_line_tutorial.rst:345 +#: ../../docs/tutorials/editor/command_line_tutorial.rst:357 +msgid "" +"Note that passing in the ``project.godot`` file will always run the editor " +"instead of running the game." +msgstr "" + +#: ../../docs/tutorials/editor/command_line_tutorial.rst:359 msgid "" "When a specific scene needs to be tested, pass that scene to the command " "line." msgstr "" -#: ../../docs/tutorials/editor/command_line_tutorial.rst:353 -#: ../../docs/tutorials/export/exporting_for_macos.rst:167 +#: ../../docs/tutorials/editor/command_line_tutorial.rst:366 +#: ../../docs/tutorials/export/exporting_for_macos.rst:168 #: ../../docs/tutorials/platform/web/customizing_html5_shell.rst:192 msgid "Debugging" msgstr "" -#: ../../docs/tutorials/editor/command_line_tutorial.rst:355 +#: ../../docs/tutorials/editor/command_line_tutorial.rst:368 msgid "" "Catching errors in the command line can be a difficult task because they " "scroll quickly. For this, a command line debugger is provided by adding ``-" "d``. It works for running either the game or a single scene." msgstr "" -#: ../../docs/tutorials/editor/command_line_tutorial.rst:372 +#: ../../docs/tutorials/editor/command_line_tutorial.rst:385 msgid "" "Exporting the project from the command line is also supported. This is " "especially useful for continuous integration setups." msgstr "" -#: ../../docs/tutorials/editor/command_line_tutorial.rst:377 +#: ../../docs/tutorials/editor/command_line_tutorial.rst:390 msgid "" "Using the ``--headless`` command line argument is **required** on platforms " "that do not have GPU access (such as continuous integration). On platforms " @@ -20346,7 +20982,7 @@ msgid "" "project is exporting." msgstr "" -#: ../../docs/tutorials/editor/command_line_tutorial.rst:390 +#: ../../docs/tutorials/editor/command_line_tutorial.rst:403 msgid "" "The preset name must match the name of an export preset defined in the " "project's ``export_presets.cfg`` file. If the preset name contains spaces or " @@ -20354,13 +20990,13 @@ msgid "" "quotes." msgstr "" -#: ../../docs/tutorials/editor/command_line_tutorial.rst:394 +#: ../../docs/tutorials/editor/command_line_tutorial.rst:407 msgid "" "To export a debug version of the game, use the ``--export-debug`` switch " "instead of ``--export-release``. Their parameters and usage are the same." msgstr "" -#: ../../docs/tutorials/editor/command_line_tutorial.rst:397 +#: ../../docs/tutorials/editor/command_line_tutorial.rst:410 msgid "" "To export only a PCK file, use the ``--export-pack`` option followed by the " "preset name and output path, with the file extension, instead of ``--export-" @@ -20368,7 +21004,7 @@ msgid "" "package's format, either PCK or ZIP." msgstr "" -#: ../../docs/tutorials/editor/command_line_tutorial.rst:404 +#: ../../docs/tutorials/editor/command_line_tutorial.rst:417 msgid "" "When specifying a relative path as the path for ``--export-release``, ``--" "export-debug`` or ``--export-pack``, the path will be relative to the " @@ -20376,36 +21012,36 @@ msgid "" "current working directory." msgstr "" -#: ../../docs/tutorials/editor/command_line_tutorial.rst:409 +#: ../../docs/tutorials/editor/command_line_tutorial.rst:422 msgid "Running a script" msgstr "" -#: ../../docs/tutorials/editor/command_line_tutorial.rst:411 +#: ../../docs/tutorials/editor/command_line_tutorial.rst:424 msgid "" "It is possible to run a ``.gd`` script from the command line. This feature " "is especially useful in large projects, e.g. for batch conversion of assets " "or custom import/export." msgstr "" -#: ../../docs/tutorials/editor/command_line_tutorial.rst:415 +#: ../../docs/tutorials/editor/command_line_tutorial.rst:428 msgid "The script must inherit from ``SceneTree`` or ``MainLoop``." msgstr "" -#: ../../docs/tutorials/editor/command_line_tutorial.rst:417 +#: ../../docs/tutorials/editor/command_line_tutorial.rst:430 msgid "Here is an example ``sayhello.gd``, showing how it works:" msgstr "" -#: ../../docs/tutorials/editor/command_line_tutorial.rst:428 +#: ../../docs/tutorials/editor/command_line_tutorial.rst:441 msgid "And how to run it:" msgstr "" -#: ../../docs/tutorials/editor/command_line_tutorial.rst:435 +#: ../../docs/tutorials/editor/command_line_tutorial.rst:448 msgid "" "If no ``project.godot`` exists at the path, current path is assumed to be " "the current working directory (unless ``--path`` is specified)." msgstr "" -#: ../../docs/tutorials/editor/command_line_tutorial.rst:438 +#: ../../docs/tutorials/editor/command_line_tutorial.rst:451 msgid "" "The first line of ``sayhello.gd`` above is commonly referred to as a " "*shebang*. If the Godot binary is in your ``PATH`` as ``godot``, it allows " @@ -20413,7 +21049,7 @@ msgid "" "macOS:" msgstr "" -#: ../../docs/tutorials/editor/command_line_tutorial.rst:450 +#: ../../docs/tutorials/editor/command_line_tutorial.rst:463 msgid "" "If the above doesn't work in your current version of Linux or macOS, you can " "always have the shebang run Godot straight from where it is located as " @@ -24219,7 +24855,7 @@ msgid "Physics and movement" msgstr "" #: ../../docs/tutorials/2d/index.rst:35 -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:524 +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:231 #: ../../docs/tutorials/3d/index.rst:47 #: ../../docs/tutorials/3d/procedural_geometry/index.rst:84 msgid "Tools" @@ -24646,7 +25282,7 @@ msgid "" msgstr "" #: ../../docs/tutorials/2d/2d_lights_and_shadows.rst:115 -#: ../../docs/tutorials/3d/lights_and_shadows.rst:164 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:171 msgid "Directional light" msgstr "" @@ -25790,6 +26426,7 @@ msgid "ParticleProcessMaterial settings" msgstr "" #: ../../docs/tutorials/2d/particle_systems_2d.rst:249 +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:98 msgid "Direction" msgstr "" @@ -25828,6 +26465,7 @@ msgid "This property is only useful for 3D particles." msgstr "" #: ../../docs/tutorials/2d/particle_systems_2d.rst:279 +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:147 msgid "Gravity" msgstr "" @@ -25901,6 +26539,7 @@ msgid "" msgstr "" #: ../../docs/tutorials/2d/particle_systems_2d.rst:336 +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:240 msgid "Damping" msgstr "" @@ -25912,6 +26551,7 @@ msgid "" msgstr "" #: ../../docs/tutorials/2d/particle_systems_2d.rst:345 +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:89 msgid "Angle" msgstr "" @@ -25922,6 +26562,7 @@ msgid "" msgstr "" #: ../../docs/tutorials/2d/particle_systems_2d.rst:353 +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:258 #: ../../docs/tutorials/3d/using_multi_mesh_instance.rst:89 msgid "Scale" msgstr "" @@ -25931,6 +26572,7 @@ msgid "Determines the initial scale of the particles." msgstr "" #: ../../docs/tutorials/2d/particle_systems_2d.rst:360 +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:267 #: ../../docs/tutorials/3d/variable_rate_shading.rst:133 #: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:753 #: ../../docs/tutorials/shaders/visual_shaders.rst:116 @@ -25980,6 +26622,7 @@ msgid "" msgstr "" #: ../../docs/tutorials/2d/particle_systems_2d.rst:396 +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:355 msgid "" "Depending on how many images your sprite sheet contains and for how long " "your particle is alive, the animation might not look smooth. The " @@ -25988,12 +26631,14 @@ msgid "" msgstr "" #: ../../docs/tutorials/2d/particle_systems_2d.rst:403 +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:362 msgid "" "At an animation speed of ``1.0``, the animation will reach the last image in " "the sequence just as the particle's lifetime ends." msgstr "" #: ../../docs/tutorials/2d/particle_systems_2d.rst:406 +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:365 msgid "" "Animation\\ FPS = \\frac{Number\\ of\\ images}{Lifetime}\n" "\n" @@ -26247,323 +26892,139 @@ msgstr "" #: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:9 msgid "" -"Godot has nodes to draw sprites, polygons, particles, and all sorts of " -"stuff. For most cases, this is enough. If there's no node to draw something " -"specific you need, you can make any 2D node (for example, :ref:`Control " -"` or :ref:`Node2D ` based) draw custom commands." +"Godot has nodes to draw sprites, polygons, particles, text, and many other " +"common game development needs. However, if you need something specific not " +"covered with the standard nodes you can make any 2D node (for example, :ref:" +"`Control ` or :ref:`Node2D `-based) draw on " +"screen using custom commands." msgstr "" -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:14 +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:15 msgid "" "Custom drawing in a 2D node is *really* useful. Here are some use cases:" msgstr "" -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:16 +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:17 msgid "" "Drawing shapes or logic that existing nodes can't do, such as an image with " "trails or a special animated polygon." msgstr "" -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:18 +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:19 msgid "" -"Visualizations that are not that compatible with nodes, such as a tetris " -"board. (The tetris example uses a custom draw function to draw the blocks.)" +"Drawing a large number of simple objects, such as a grid or a board for a 2d " +"game. Custom drawing avoids the overhead of using a large number of nodes, " +"possibly lowering memory usage and improving performance." msgstr "" -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:21 -msgid "" -"Drawing a large number of simple objects. Custom drawing avoids the overhead " -"of using a large number of nodes, possibly lowering memory usage and " -"improving performance." -msgstr "" - -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:24 +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:22 msgid "" "Making a custom UI control. There are plenty of controls available, but when " "you have unusual needs, you will likely need a custom control." msgstr "" -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:29 +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:27 #: ../../docs/tutorials/math/beziers_and_curves.rst:233 #: ../../docs/tutorials/ui/custom_gui_controls.rst:19 msgid "Drawing" msgstr "" -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:31 +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:29 msgid "" "Add a script to any :ref:`CanvasItem ` derived node, like :" "ref:`Control ` or :ref:`Node2D `. Then override " -"the ``_draw()`` function." +"the :ref:`_draw()` function." msgstr "" -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:51 +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:54 msgid "" "Draw commands are described in the :ref:`CanvasItem ` " -"class reference. There are plenty of them." +"class reference. There are plenty of them and we will see some of them in " +"the examples below." msgstr "" -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:55 +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:59 msgid "Updating" msgstr "" -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:57 +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:61 msgid "" -"The ``_draw()`` function is only called once, and then the draw commands are " -"cached and remembered, so further calls are unnecessary." +"The :ref:`_draw ` function is only " +"called once, and then the draw commands are cached and remembered, so " +"further calls are unnecessary." msgstr "" -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:60 +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:65 msgid "" -"If re-drawing is required because a state or something else changed, call :" -"ref:`CanvasItem.queue_redraw() ` in " -"that same node and a new ``_draw()`` call will happen." +"If re-drawing is required because a variable or something else changed, " +"call :ref:`CanvasItem.queue_redraw ` " +"in that same node and a new ``_draw()`` call will happen." msgstr "" -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:64 +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:69 msgid "" -"Here is a little more complex example, a texture variable that will be " -"redrawn if modified:" +"Here is a little more complex example, where we have a texture variable that " +"can be modified at any time, and using a :ref:" +"`setter`, it forces a redraw of the " +"texture when modified:" msgstr "" -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:111 +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:116 msgid "" -"In some cases, it may be desired to draw every frame. For this, call " -"``queue_redraw()`` from the ``_process()`` callback, like this:" +"To see it in action, you can set the texture to be the Godot icon on the " +"editor by dragging and dropping the default ``icon.svg`` from the " +"``FileSystem`` tab to the Texture property on the ``Inspector`` tab. When " +"changing the ``Texture`` property value while the previous script is " +"running, the texture will also change automatically." msgstr "" -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:144 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:108 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:189 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:242 -msgid "Coordinates" +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:122 +msgid "" +"In some cases, we may need to redraw every frame. For this, call :ref:" +"`queue_redraw ` from the :ref:" +"`_process ` method, like this:" msgstr "" -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:146 +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:155 +msgid "Coordinates and line width alignment" +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:157 msgid "" "The drawing API uses the CanvasItem's coordinate system, not necessarily " -"pixel coordinates. Which means it uses the coordinate space created after " -"applying the CanvasItem's transform. Additionally, you can apply a custom " -"transform on top of it by using :ref:" +"pixel coordinates. This means ``_draw()`` uses the coordinate space created " +"after applying the CanvasItem's transform. Additionally, you can apply a " +"custom transform on top of it by using :ref:" "`draw_set_transform` or :ref:" "`draw_set_transform_matrix`." msgstr "" -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:153 +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:164 msgid "" -"When using ``draw_line``, you should consider the width of the line. When " -"using a width that is an odd size, the position should be shifted by ``0.5`` " -"to keep the line centered as shown below." +"When using :ref:`draw_line `, you should " +"consider the width of the line. When using a width that is an odd size, the " +"position of the start and end points should be shifted by ``0.5`` to keep " +"the line centered, as shown below." msgstr "" -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:176 -msgid "The same applies to the ``draw_rect`` method with ``filled = false``." -msgstr "" - -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:200 -msgid "An example: drawing circular arcs" -msgstr "" - -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:202 +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:188 msgid "" -"We will now use the custom drawing functionality of the Godot Engine to draw " -"something that Godot doesn't provide functions for. As an example, Godot " -"provides a ``draw_circle()`` function that draws a whole circle. However, " -"what about drawing a portion of a circle? You will have to code a function " -"to perform this and draw it yourself." +"The same applies to the :ref:`draw_rect ` " +"method with ``filled = false``." msgstr "" -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:208 -msgid "Arc function" -msgstr "" - -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:210 -msgid "" -"An arc is defined by its support circle parameters, that is, the center " -"position and the radius. The arc itself is then defined by the angle it " -"starts from and the angle at which it stops. These are the 4 arguments that " -"we have to provide to our drawing function. We'll also provide the color " -"value, so we can draw the arc in different colors if we wish." -msgstr "" - -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:215 -msgid "" -"Basically, drawing a shape on the screen requires it to be decomposed into a " -"certain number of points linked from one to the next. As you can imagine, " -"the more points your shape is made of, the smoother it will appear, but the " -"heavier it will also be in terms of processing cost. In general, if your " -"shape is huge (or in 3D, close to the camera), it will require more points " -"to be drawn without it being angular-looking. On the contrary, if your shape " -"is small (or in 3D, far from the camera), you may decrease its number of " -"points to save processing costs; this is known as *Level of Detail (LOD)*. " -"In our example, we will simply use a fixed number of points, no matter the " -"radius." -msgstr "" - -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:257 -msgid "" -"Remember the number of points our shape has to be decomposed into? We fixed " -"this number in the ``nb_points`` variable to a value of ``32``. Then, we " -"initialize an empty ``PackedVector2Array``, which is simply an array of " -"``Vector2``\\ s." -msgstr "" - -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:261 -msgid "" -"The next step consists of computing the actual positions of these 32 points " -"that compose an arc. This is done in the first for-loop: we iterate over the " -"number of points for which we want to compute the positions, plus one to " -"include the last point. We first determine the angle of each point, between " -"the starting and ending angles." -msgstr "" - -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:266 -msgid "" -"The reason why each angle is decreased by 90° is that we will compute 2D " -"positions out of each angle using trigonometry (you know, cosine and sine " -"stuff...). However, ``cos()`` and ``sin()`` use radians, not degrees. The " -"angle of 0° (0 radian) starts at 3 o'clock, although we want to start " -"counting at 12 o'clock. So we decrease each angle by 90° in order to start " -"counting from 12 o'clock." -msgstr "" - -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:272 -msgid "" -"The actual position of a point located on a circle at angle ``angle`` (in " -"radians) is given by ``Vector2(cos(angle), sin(angle))``. Since ``cos()`` " -"and ``sin()`` return values between -1 and 1, the position is located on a " -"circle of radius 1. To have this position on our support circle, which has a " -"radius of ``radius``, we simply need to multiply the position by ``radius``. " -"Finally, we need to position our support circle at the ``center`` position, " -"which is performed by adding it to our ``Vector2`` value. Finally, we insert " -"the point in the ``PackedVector2Array`` which was previously defined." -msgstr "" - -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:280 -msgid "" -"Now, we need to actually draw our points. As you can imagine, we will not " -"simply draw our 32 points: we need to draw everything that is between each " -"of them. We could have computed every point ourselves using the previous " -"method, and drew it one by one. But this is too complicated and inefficient " -"(except if explicitly needed), so we simply draw lines between each pair of " -"points. Unless the radius of our support circle is big, the length of each " -"line between a pair of points will never be long enough to see them. If that " -"were to happen, we would simply need to increase the number of points." -msgstr "" - -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:290 -msgid "Draw the arc on the screen" -msgstr "" - -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:292 -msgid "" -"We now have a function that draws stuff on the screen; it is time to call it " -"inside the ``_draw()`` function:" -msgstr "" - -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:319 -msgid "Result:" -msgstr "" - -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:324 -msgid "Arc polygon function" -msgstr "" - -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:326 -msgid "" -"We can take this a step further and not only write a function that draws the " -"plain portion of the disc defined by the arc, but also its shape. The method " -"is exactly the same as before, except that we draw a polygon instead of " -"lines:" -msgstr "" - -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:366 -msgid "Dynamic custom drawing" -msgstr "" - -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:368 -msgid "" -"All right, we are now able to draw custom stuff on the screen. However, it " -"is static; let's make this shape turn around the center. The solution to do " -"this is simply to change the angle_from and angle_to values over time. For " -"our example, we will simply increment them by 50. This increment value has " -"to remain constant or else the rotation speed will change accordingly." -msgstr "" - -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:374 -msgid "" -"First, we have to make both angle_from and angle_to variables global at the " -"top of our script. Also note that you can store them in other nodes and " -"access them using ``get_node()``." -msgstr "" - -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:398 -msgid "We make these values change in the _process(delta) function." -msgstr "" - -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:400 -msgid "" -"We also increment our angle_from and angle_to values here. However, we must " -"not forget to ``wrap()`` the resulting values between 0 and 360°! That is, " -"if the angle is 361°, then it is actually 1°. If you don't wrap these " -"values, the script will work correctly, but the angle values will grow " -"bigger and bigger over time until they reach the maximum integer value Godot " -"can manage (``2^31 - 1``). When this happens, Godot may crash or produce " -"unexpected behavior." -msgstr "" - -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:407 -msgid "" -"Finally, we must not forget to call the ``queue_redraw()`` function, which " -"automatically calls ``_draw()``. This way, you can control when you want to " -"refresh the frame." -msgstr "" - -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:440 -msgid "" -"Also, don't forget to modify the ``_draw()`` function to make use of these " -"variables:" -msgstr "" - -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:464 -msgid "" -"Let's run! It works, but the arc is rotating insanely fast! What's wrong?" -msgstr "" - -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:467 -msgid "" -"The reason is that your GPU is actually displaying the frames as fast as it " -"can. We need to \"normalize\" the drawing by this speed; to achieve that, we " -"have to make use of the ``delta`` parameter of the ``_process()`` function. " -"``delta`` contains the time elapsed between the two last rendered frames. It " -"is generally small (about 0.0003 seconds, but this depends on your " -"hardware), so using ``delta`` to control your drawing ensures that your " -"program runs at the same speed on everybody's hardware." -msgstr "" - -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:475 -msgid "" -"In our case, we simply need to multiply our ``rotation_angle`` variable by " -"``delta`` in the ``_process()`` function. This way, our 2 angles will be " -"increased by a much smaller value, which directly depends on the rendering " -"speed." -msgstr "" - -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:509 -msgid "Let's run again! This time, the rotation displays fine!" -msgstr "" - -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:512 +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:213 msgid "Antialiased drawing" msgstr "" -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:514 +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:215 msgid "" "Godot offers method parameters in :ref:" "`draw_line` to enable antialiasing, but " "not all custom drawing methods offer this ``antialiased`` parameter." msgstr "" -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:518 +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:219 msgid "" "For custom drawing methods that don't provide an ``antialiased`` parameter, " "you can enable 2D MSAA instead, which affects rendering in the entire " @@ -26572,11 +27033,477 @@ msgid "" "information." msgstr "" -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:526 +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:224 +msgid "" +"Here is a comparison of a line of minimal width (``width=-1``) drawn with " +"``antialiased=false``, ``antialiased=true``, and ``antialiased=false`` with " +"2D MSAA 2x, 4x, and 8x enabled." +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:233 msgid "" "Drawing your own nodes might also be desired while running them in the " "editor. This can be used as a preview or visualization of some feature or " -"behavior. See :ref:`doc_running_code_in_the_editor` for more information." +"behavior." +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:237 +msgid "" +"To do this, you can use the :ref:`tool annotation` " +"on both GDScript and C#. See :ref:`the example " +"below` and :ref:" +"`doc_running_code_in_the_editor` for more information." +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:245 +msgid "Example 1: drawing a custom shape" +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:247 +msgid "" +"We will now use the custom drawing functionality of the Godot Engine to draw " +"something that Godot doesn't provide functions for. We will recreate the " +"Godot logo but with code- only using drawing functions." +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:251 +msgid "You will have to code a function to perform this and draw it yourself." +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:255 +msgid "" +"The following instructions use a fixed set of coordinates that could be too " +"small for high resolution screens (larger than 1080p). If that is your case, " +"and the drawing is too small consider increasing your window scale in ``Menu " +"> Project > Project settings > display/window/stretch/scale`` to adjust the " +"project to a higher resolution (a 2 or 4 scale tends to work well)." +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:262 +msgid "Drawing a custom polygon shape" +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:264 +msgid "" +"While there is a dedicated node to draw custom polygons ( :ref:`Polygon2D " +"`), we will use in this case exclusively lower level " +"drawing functions to combine them on the same node and be able to create " +"more complex shapes later on." +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:269 +msgid "" +"First, we will define a set of points -or X and Y coordinates- that will " +"form the base of our shape:" +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:313 +msgid "" +"This format, while compact, is not the one that Godot understands to draw a " +"polygon. In a different scenario we could have to load these coordinates " +"from a file or calculate the positions while the application is running, so " +"some transformation may be needed." +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:318 +msgid "" +"To transform these coordinates into the right format, we will create a new " +"method ``float_array_to_Vector2Array()``. Then we will override the " +"``_ready()`` function, which Godot will call only once -at the start of the " +"execution- to load those coordinates into a variable:" +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:359 +msgid "" +"To finally draw our first shape, we will use the method :ref:`draw_polygon " +"` and pass the points (as an array of " +"Vector2 coordinates) and its color, like this:" +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:383 +msgid "When running it you should see something like this:" +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:387 +msgid "" +"Note the lower part of the logo looks segmented- this is because a low " +"amount of points were used to define that part. To simulate a smooth curve, " +"we could add more points to our array, or maybe use a mathematical function " +"to interpolate a curve and create a smooth shape from code (see :ref:" +"`example 2`)." +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:393 +msgid "" +"Polygons will always **connect its last defined point to its first one** in " +"order to have a closed shape." +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:397 +msgid "Drawing connected lines" +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:399 +msgid "" +"Drawing a sequence of connected lines that don't close down to form a " +"polygon is very similar to the previous method. We will use a connected set " +"of lines to draw Godot's logo mouth." +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:403 +msgid "" +"First, we will define the list of coordinates that form the mouth shape, " +"like this:" +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:427 +msgid "" +"We will load these coordinates into a variable and define an additional " +"variable with the configurable line thickness:" +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:451 +msgid "" +"And finally we will use the method :ref:`draw_polyline " +"` to actually draw the line, like " +"this:" +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:483 +msgid "You should get the following output:" +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:487 +msgid "" +"Unlike ``draw_polygon()``, polylines can only have a single unique color for " +"all its points (the second argument). This method has 2 additional " +"arguments: the width of the line (which is as small as possible by default) " +"and enabling or disabling the anti-aliasing (it is disabled by default)." +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:492 +msgid "" +"The order of the ``_draw`` calls is important- like with the Node positions " +"on the tree hierarchy, the different shapes will be drawn from top to " +"bottom, resulting in the latest shapes hiding earlier ones if they overlap. " +"In this case we want the mouth drawn over the head, so we put it afterwards." +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:497 +msgid "" +"Notice how we can define colors in different ways, either with a hexadecimal " +"code or a predefined color name. Check the class :ref:`Color ` " +"for other constants and ways to define Colors." +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:502 +msgid "Drawing circles" +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:504 +msgid "" +"To create the eyes, we are going to add 4 additional calls to draw the eye " +"shapes, in different sizes, colors and positions." +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:507 +msgid "" +"To draw a circle, you position it based on its center using the :ref:" +"`draw_circle ` method. The first " +"parameter is a :ref:`Vector2` with the coordinates of its " +"center, the second is its radius, and the third is its color:" +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:548 +msgid "When executing it, you should have something like this:" +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:553 +msgid "" +"For partial, unfilled arcs (portions of a circle shape between certain " +"arbitrary angles), you can use the method :ref:`draw_arc " +"`." +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:558 +msgid "Drawing lines" +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:560 +msgid "" +"To draw the final shape (the nose) we will use a line to approximate it." +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:562 +msgid "" +":ref:`draw_line ` can be used to draw a " +"single segment by providing its start and end coordinates as arguments, like " +"this:" +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:604 +msgid "You should now be able to see the following shape on screen:" +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:608 +msgid "" +"Note that if multiple unconnected lines are going to be drawn at the same " +"time, you may get additional performance by drawing all of them in a single " +"call, using the :ref:`draw_multiline " +"` method." +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:613 +msgid "Drawing text" +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:615 +msgid "" +"While using the :ref:`Label ` Node is the most common way to " +"add text to your application, the low level `_draw` function includes " +"functionality to add text to your custom Node drawing. We will use it to add " +"the name \"GODOT\" under the robot head." +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:620 +msgid "" +"We will use the :ref:`draw_string ` " +"method to do it, like this:" +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:669 +msgid "" +"Here we first load into the defaultFont variable the configured default " +"theme font (a custom one can be set instead) and then we pass the following " +"parameters: font, position, text, horizontal alignment, width, and font size." +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:673 +msgid "You should see the following on your screen:" +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:677 +msgid "" +"Additional parameters as well as other methods related to text and " +"characters can be found on the :ref:`CanvasItem ` class " +"reference." +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:683 +msgid "Show the drawing while editing" +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:685 +msgid "" +"While the code so far is able to draw the logo on a running window, it will " +"not show up on the ``2D view`` on the editor. In certain cases you would " +"also like to show your custom Node2D or control on the editor, to position " +"and scale it appropriately, like most other nodes do." +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:690 +msgid "" +"To show the logo directly on the editor (without running it), you can use " +"the :ref:`@tool` annotation to request the custom " +"drawing of the node to also appear while editing, like this:" +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:707 +msgid "" +"You will need to save your scene, rebuild your project (for C# only) and " +"reload the current scene manually at the menu option ``Scene > Reload Saved " +"Scene`` to refresh the current node in the ``2D`` view the first time you " +"add or remove the ``@tool`` annotation." +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:715 +msgid "" +"If we wanted to make the custom shape change at runtime, we could modify the " +"methods called or its arguments at execution time, or apply a transform." +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:718 +msgid "" +"For example, if we want the custom shape we just designed to rotate, we " +"could add the following variable and code to the ``_ready`` and ``_process`` " +"methods:" +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:751 +msgid "" +"The problem with the above code is that because we have created the points " +"approximately on a rectangle starting from the upper left corner, the ``(0, " +"0)`` coordinate and extending to the right and down, we see that the " +"rotation is done using the top left corner as pivot. A position transform " +"change on the node won't help us here, as the rotation transform is applied " +"first." +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:757 +msgid "" +"While we could rewrite all of the points' coordinates to be centered around " +"``(0, 0)``, including negative coordinates, that would be a lot of work." +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:760 +msgid "" +"One possible way to work around this is to use the lower level :ref:" +"`draw_set_transform` method to " +"fix this issue, translating all points in the CanvasItem's own space, and " +"then moving it back to its original place with a regular node transform, " +"either in the editor or in code, like this:" +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:794 +msgid "This is the result, rotating around a pivot now on ``(60, 60)``:" +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:798 +msgid "" +"If what we wanted to animate was a property inside the ``_draw()`` call, we " +"must remember to call ``queue_redraw()`` to force a refresh, as otherwise it " +"would not be updated on screen." +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:801 +msgid "" +"For example, this is how we can make the robot appear to open and close its " +"mouth, by changing the width of its mouth line follow a sinusoidal (:ref:" +"`sin`) curve:" +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:841 +msgid "It will look somewhat like this when run:" +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:845 +msgid "" +"Please note that ``_mouth_width`` is a user defined property like any other " +"and it or any other used as a drawing argument can be animated using more " +"standard and high level methods such as a :ref:`Tween` or an :" +"ref:`AnimationPlayer` Node. The only difference is " +"that a ``queue_redraw()`` call is needed to apply those changes so they get " +"shown on screen." +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:855 +msgid "Example 2: drawing a dynamic line" +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:857 +msgid "" +"The previous example was useful to learn how to draw and modify nodes with " +"custom shapes and animations. This could have some advantages, such as using " +"exact coordinates and vectors for drawing, rather than bitmaps -which means " +"they will scale well when transformed on screen. In some cases, similar " +"results could be achieved composing higher level functionality with nodes " +"such as :ref:`sprites` or :ref:" +"`AnimatedSprites` loading SVG resources (which are " +"also images defined with vectors) and the :ref:" +"`AnimationPlayer` node." +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:867 +msgid "" +"In other cases that will not be possible because we will not know what the " +"resulting graphical representation will be before running the code. Here we " +"will see how to draw a dynamic line whose coordinates are not known " +"beforehand, and are affected by the user's input." +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:873 +msgid "Drawing a straight line between 2 points" +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:875 +msgid "" +"Let's assume we want to draw a straight line between 2 points, the first one " +"will be fixed on the upper left corner ``(0, 0)`` and the second will be " +"defined by the cursor position on screen." +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:879 +msgid "We could draw a dynamic line between those 2 points like this:" +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:930 +msgid "" +"In this example we obtain the position of the mouse in the default viewport " +"every frame with the method :ref:`get_mouse_position " +"`. If the position has changed " +"since the last draw request (a small optimization to avoid redrawing on " +"every frame)- we will schedule a redraw. Our ``_draw()`` method only has one " +"line: requesting the drawing of a green line of width 10 pixels between the " +"top left corner and that obtained position." +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:938 +msgid "" +"The width, color, and position of the starting point can be configured with " +"with the corresponding properties." +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:941 +msgid "It should look like this when run:" +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:946 +msgid "Drawing an arc between 2 points" +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:948 +msgid "" +"The above example works, but we may want to join those 2 points with a " +"different shape or function, other than a straight line." +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:951 +msgid "" +"Let's try now creating an arc (a portion of a circumference) between both " +"points." +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:954 +msgid "" +"Exporting the line starting point, segments, width, color, and antialiasing " +"will allow us to modify those properties very easily directly from the " +"editor inspector panel:" +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:996 +msgid "" +"To draw the arc, we can use the method :ref:" +"`draw_arc`. There are many arcs that pass " +"through 2 points, so we will chose for this example the semicircle that has " +"its center in the middle point between the 2 initial points." +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:1002 +msgid "Calculating this arc will be more complex than in the case of the line:" +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:1041 +msgid "" +"The center of the semicircle will be the middle point between both points. " +"The radius will be half the distance between both points. The start and end " +"angles will be the angles of the vector from point1 to point2 and vice-" +"versa. Note we had to normalize the ``end_angle`` in positive values because " +"if ``end_angle`` is less than ``start_angle``, the arc will be drawn counter-" +"clockwise, which we don't want in this case (the arc would be upside-down)." +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:1050 +msgid "" +"The result should be something like this, with the arc going down and " +"between the points:" +msgstr "" + +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:1055 +msgid "" +"Feel free to play with the parameters in the inspector to obtain different " +"results: change the color, the width, the antialiasing, and increase the " +"number of segments to increase the curve smoothness, at the cost of extra " +"performance." msgstr "" #: ../../docs/tutorials/2d/2d_movement.rst:4 @@ -29377,7 +30304,7 @@ msgid "" "ImmediateMesh is a mesh that uses an immediate mode style interface (like " "SurfaceTool) to draw objects. The difference between ImmediateMesh and the " "SurfaceTool is that ImmediateMesh is drawn directly with code dynamically, " -"while the SurfaceTool is used to generated a Mesh that you can do whatever " +"while the SurfaceTool is used to generate a Mesh that you can do whatever " "you want with." msgstr "" @@ -29829,11 +30756,11 @@ msgid "" "geometry in general, you can use any tutorial that you find online." msgstr "" -#: ../../docs/tutorials/3d/procedural_geometry/arraymesh.rst:371 +#: ../../docs/tutorials/3d/procedural_geometry/arraymesh.rst:351 msgid "Saving" msgstr "" -#: ../../docs/tutorials/3d/procedural_geometry/arraymesh.rst:373 +#: ../../docs/tutorials/3d/procedural_geometry/arraymesh.rst:353 msgid "" "Finally, we can use the :ref:`ResourceSaver ` class to " "save the ArrayMesh. This is useful when you want to generate a mesh and then " @@ -31294,8 +32221,8 @@ msgid "" msgstr "" #: ../../docs/tutorials/3d/standard_material_3d.rst:402 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:325 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:426 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:326 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:427 msgid "" "More information about normal maps (including a coordinate order table for " "popular engines) can be found `here Normal Bias** parameter can be used to fix special cases of " "self-shadowing when objects are perpendicular to the light. The only " @@ -32174,7 +33120,7 @@ msgid "" "situations." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:243 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:255 msgid "" "Lastly, **Pancake Size** is a property that can be adjusted to fix missing " "shadows when using large objects with unsubdivided meshes. Only change this " @@ -32182,36 +33128,36 @@ msgid "" "issues." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:249 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:261 msgid "Omni light" msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:251 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:263 msgid "" "Omni light is a point source that emits light spherically in all directions " "up to a given radius." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:256 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:268 msgid "" "In real life, light attenuation is an inverse function, which means omni " "lights don't have a radius. This is a problem because it means computing " "several omni lights would become demanding." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:259 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:271 msgid "" "To solve this, a **Range** parameter is introduced together with an " "attenuation function." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:263 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:275 msgid "" "These two parameters allow tweaking how this works visually in order to find " "aesthetically pleasing results." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:267 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:279 msgid "" "A **Size** parameter is also available in OmniLight3D. Increasing this value " "will make the light fade out slower and shadows appear blurrier when far " @@ -32222,17 +33168,17 @@ msgid "" "``0.0`` on lights with shadows enabled." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:278 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:290 msgid "Omni shadow mapping" msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:280 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:292 msgid "" "Omni light shadow mapping is relatively straightforward. The main issue that " "needs to be considered is the algorithm used to render it." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:283 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:295 msgid "" "Omni Shadows can be rendered as either **Dual Paraboloid** or **Cube** " "mapped. **Dual Parabolid** renders quickly, but can cause deformations, " @@ -32241,7 +33187,7 @@ msgid "" "much of a visual difference." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:291 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:303 msgid "" "If the objects being rendered are mostly irregular and subdivided, Dual " "Paraboloid is usually enough. In any case, as these shadows are cached in a " @@ -32249,7 +33195,7 @@ msgid "" "performance for most scenes." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:296 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:308 msgid "" "Omni lights with shadows enabled can make use of projectors. The projector " "texture will *multiply* the light's color by the color at a given point on " @@ -32258,18 +33204,18 @@ msgid "" "this." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:301 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:313 msgid "" "Omni light projector textures require a special 360° panorama mapping, " "similar to :ref:`class_PanoramaSkyMaterial` textures." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:304 -#: ../../docs/tutorials/3d/lights_and_shadows.rst:347 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:316 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:359 msgid "With the projector texture below, the following result is obtained:" msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:312 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:324 msgid "" "If you've acquired omni projectors in the form of cubemap images, you can " "use `this web-based conversion tool `." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:355 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:367 msgid "" "Spot lights with wide angles will have lower-quality shadows than spot " "lights with narrow angles, as the shadow map is spread over a larger " @@ -32342,11 +33288,11 @@ msgid "" "instead." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:364 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:376 msgid "Shadow atlas" msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:366 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:378 msgid "" "Unlike Directional lights, which have their own shadow texture, omni and " "spot lights are assigned to slots of a shadow atlas. This atlas can be " @@ -32354,57 +33300,57 @@ msgid "" "Shadows > Positional Shadow**)." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:370 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:382 msgid "" "The resolution applies to the whole shadow atlas. This atlas is divided into " "four quadrants:" msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:374 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:386 msgid "" "Each quadrant can be subdivided to allocate any number of shadow maps; the " "following is the default subdivision:" msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:378 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:390 msgid "The shadow atlas allocates space as follows:" msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:380 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:392 msgid "" "The biggest shadow map size (when no subdivision is used) represents a light " "the size of the screen (or bigger)." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:381 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:393 msgid "" "Subdivisions (smaller maps) represent shadows for lights that are further " "away from view and proportionally smaller." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:383 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:395 msgid "Every frame, the following procedure is performed for all lights:" msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:385 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:397 msgid "" "Check if the light is on a slot of the right size. If not, re-render it and " "move it to a larger/smaller slot." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:386 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:398 msgid "" "Check if any object affecting the shadow map has changed. If it did, re-" "render the light." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:387 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:399 msgid "" "If neither of the above has happened, nothing is done, and the shadow is " "left untouched." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:389 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:401 msgid "" "If the slots in a quadrant are full, lights are pushed back to smaller " "slots, depending on size and distance. If all slots in all quadrants are " @@ -32412,31 +33358,31 @@ msgid "" "enabled on them." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:393 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:405 msgid "" "The default shadow allocation strategy allows rendering up to 88 lights with " "shadows enabled in the camera frustum (4 + 4 + 16 + 64):" msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:396 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:408 msgid "The first and most detailed quadrant can store 4 shadows." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:397 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:409 msgid "The second quadrant can store 4 other shadows." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:398 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:410 msgid "The third quadrant can store 16 shadows, with less detail." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:399 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:411 msgid "" "The fourth and least detailed quadrant can store 64 shadows, with even less " "detail." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:401 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:413 msgid "" "Using a higher number of shadows per quadrant allows supporting a greater " "amount of total lights with shadows enabled, while also improving " @@ -32445,7 +33391,7 @@ msgid "" "cost of lower shadow quality." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:407 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:419 msgid "" "In some cases, you may want to use a different allocation strategy. For " "example, in a top-down game where all lights are around the same size, you " @@ -32453,34 +33399,34 @@ msgid "" "lights have shadows of similar quality level." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:415 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:427 #: ../../docs/tutorials/3d/volumetric_fog.rst:133 msgid "Balancing performance and quality" msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:417 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:429 msgid "" "Shadow rendering is a critical topic in 3D rendering performance. It's " "important to make the right choices here to avoid creating bottlenecks." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:420 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:432 msgid "" "Directional shadow quality settings can be changed at run-time by calling " "the appropriate :ref:`class_RenderingServer` methods." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:423 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:435 msgid "" "Positional (omni/spot) shadow quality settings can be changed at run-time on " "the root :ref:`class_Viewport`." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:427 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:439 msgid "Shadow map size" msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:429 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:441 msgid "" "High shadow resolutions result in sharper shadows, but at a significant " "performance cost. It should also be noted that *sharper shadows are not " @@ -32488,7 +33434,7 @@ msgid "" "value of ``4096`` or decreased to ``2048`` for low-end GPUs." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:434 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:446 msgid "" "If positional shadows become too blurry after decreasing the shadow map " "size, you can counteract this by adjusting the :ref:`shadow atlas " @@ -32496,11 +33442,11 @@ msgid "" "This will allow each shadow to be rendered at a higher resolution." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:442 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:454 msgid "Shadow filter mode" msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:444 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:456 msgid "" "Several shadow map quality settings can be chosen here. The default **Soft " "Low** is a good balance between performance and quality for scenes with " @@ -32508,7 +33454,7 @@ msgid "" "pattern less noticeable." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:448 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:460 msgid "" "However, in projects with less detailed textures, the shadow dithering " "pattern may be more visible. To hide this pattern, you can either enable :" @@ -32517,7 +33463,7 @@ msgid "" "Medium** or higher." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:454 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:466 msgid "" "The **Soft Very Low** setting will automatically decrease shadow blur to " "make artifacts from the low sample count less visible. Conversely, the " @@ -32525,18 +33471,18 @@ msgid "" "blur to better make use of the increased sample count." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:462 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:474 msgid "16-bits versus 32-bit" msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:464 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:476 msgid "" "By default, Godot uses 16-bit depth textures for shadow map rendering. This " "is recommended in most cases as it performs better without a noticeable " "difference in quality." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:468 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:480 msgid "" "If **16 Bits** is disabled, 32-bit depth textures will be used instead. This " "can result in less artifacting in large scenes and large lights with shadows " @@ -32544,18 +33490,18 @@ msgid "" "a significant performance cost." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:474 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:486 msgid "Light/shadow distance fade" msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:476 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:488 msgid "" "OmniLight3D and SpotLight3D offer several properties to hide distant lights. " "This can improve performance significantly in large scenes with dozens of " "lights or more." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:480 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:492 msgid "" "**Enabled:** Controls whether distance fade (a form of :abbr:`LOD (Level of " "Detail)`) is enabled. The light will fade out over **Begin + Length**, after " @@ -32563,13 +33509,13 @@ msgid "" "reduce the number of active lights in a scene and thus improve performance." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:484 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:496 msgid "" "**Begin:** The distance from the camera at which the light begins to fade " "away (in 3D units)." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:486 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:498 msgid "" "**Shadow:** The distance from the camera at which the shadow begins to fade " "away (in 3D units). This can be used to fade out shadows sooner compared to " @@ -32577,7 +33523,7 @@ msgid "" "enabled for the light." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:489 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:501 msgid "" "**Length:** The distance over which the light and shadow fades (in 3D " "units). The light becomes slowly more transparent over this distance and is " @@ -32585,11 +33531,11 @@ msgid "" "transition, which is more suited when the camera moves fast." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:497 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:509 msgid "PCSS recommendations" msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:499 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:511 msgid "" "Percentage-closer soft shadows (PCSS) provide a more realistic shadow " "mapping appearance, with the penumbra size varying depending on the distance " @@ -32597,11 +33543,11 @@ msgid "" "high performance cost, especially for directional lights." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:504 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:516 msgid "To avoid performance issues, it's recommended to:" msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:506 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:518 msgid "" "Only use a handful of lights with PCSS shadows enabled at a given time. The " "effect is generally most visible on large, bright lights. Secondary light " @@ -32609,7 +33555,7 @@ msgid "" "shadows." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:510 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:522 msgid "" "Provide a setting for users to disable PCSS shadows. On directional lights, " "this can be done by setting the DirectionalLight3D's " @@ -32618,11 +33564,11 @@ msgid "" "``light_size`` property to ``0.0`` in a script." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:517 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:529 msgid "Projector filter mode" msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:519 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:531 msgid "" "The way projectors are rendered also has an impact on performance. The " "**Rendering > Textures > Light Projectors > Filter** advanced project " @@ -32635,7 +33581,7 @@ msgid "" "expensive." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:528 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:540 msgid "" "If your project has a pixel art style, consider setting the filter to one of " "the **Nearest** values so that projectors use nearest-neighbor filtering. " @@ -33656,6 +34602,2423 @@ msgstr "" msgid "Advanced topics" msgstr "" +#: ../../docs/tutorials/3d/particles/creating_a_3d_particle_system.rst:4 +msgid "Creating a 3D particle system" +msgstr "" + +#: ../../docs/tutorials/3d/particles/creating_a_3d_particle_system.rst:9 +msgid "Required particle node properties" +msgstr "" + +#: ../../docs/tutorials/3d/particles/creating_a_3d_particle_system.rst:11 +msgid "" +"To get started with particles, the first thing we need to do is add a " +"``GPUParticles3D`` node to the scene. Before we can actually see any " +"particles, we have to set up two parameters on the node: the ``Process " +"Material`` and at least one ``Draw Pass``." +msgstr "" + +#: ../../docs/tutorials/3d/particles/creating_a_3d_particle_system.rst:16 +msgid "The process material" +msgstr "" + +#: ../../docs/tutorials/3d/particles/creating_a_3d_particle_system.rst:18 +msgid "" +"To add a process material to your particles node, go to ``Process Material`` " +"in the inspector panel. Click on the box next to ``Process Material`` and " +"from the dropdown menu select ``New ParticleProcessMaterial``." +msgstr "" + +#: ../../docs/tutorials/3d/particles/creating_a_3d_particle_system.rst:24 +msgid "Creating a process material" +msgstr "" + +#: ../../docs/tutorials/3d/particles/creating_a_3d_particle_system.rst:26 +msgid "" +":ref:`class_ParticleProcessMaterial` is a special kind of material. We don't " +"use it to draw any objects. We use it to update particle data and behavior " +"on the GPU instead of the CPU, which comes with a massive performance boost. " +"A click on the newly added material displays a long list of properties that " +"you can set to control each particle's behavior." +msgstr "" + +#: ../../docs/tutorials/3d/particles/creating_a_3d_particle_system.rst:32 +msgid "Draw passes" +msgstr "" + +#: ../../docs/tutorials/3d/particles/creating_a_3d_particle_system.rst:37 +msgid "At least one draw pass is required" +msgstr "" + +#: ../../docs/tutorials/3d/particles/creating_a_3d_particle_system.rst:39 +msgid "" +"In order to render any particles, at least one draw pass needs to be " +"defined. To do that, go to ``Draw Passes`` in the inspector panel. Click on " +"the box next to ``Pass 1`` and select ``New QuadMesh`` from the dropdown " +"menu. After that, click on the mesh and set its ``Size`` to 0.1 for both " +"``x`` and ``y``. Reducing the mesh's size makes it a little easier to tell " +"the individual particle meshes apart at this stage." +msgstr "" + +#: ../../docs/tutorials/3d/particles/creating_a_3d_particle_system.rst:45 +msgid "" +"You can use up to 4 draw passes per particle system. Each pass can render a " +"different mesh with its own unique material. All draw passes use the data " +"that is computed by the process material, which is an efficient method for " +"composing complex effects: Compute particle behavior once and feed it to " +"multiple render passes." +msgstr "" + +#: ../../docs/tutorials/3d/particles/creating_a_3d_particle_system.rst:52 +msgid "" +"Using multiple draw passes: yellow rectangles (pass1) and blue spheres (pass " +"2)" +msgstr "" + +#: ../../docs/tutorials/3d/particles/creating_a_3d_particle_system.rst:54 +msgid "" +"If you followed the steps above, your particle system should now be emitting " +"particles in a waterfall-like fashion, making them move downwards and " +"disappear after a few seconds. This is the foundation for all particle " +"effects. Take a look at the documentation for :ref:`particle " +"` and :ref:`particle material " +"` properties to learn how to make particle " +"effects more interesting." +msgstr "" + +#: ../../docs/tutorials/3d/particles/creating_a_3d_particle_system.rst:63 +msgid "Particle conversion" +msgstr "" + +#: ../../docs/tutorials/3d/particles/creating_a_3d_particle_system.rst:68 +msgid "Turning GPU into CPU particles" +msgstr "" + +#: ../../docs/tutorials/3d/particles/creating_a_3d_particle_system.rst:70 +msgid "" +"You can convert GPU particles to CPU particles at any time using the entry " +"in the viewport menu. When you do so, keep in mind that not every feature of " +"GPU particles is available for CPU particles, so the resulting particle " +"system will look and behave differently from the original." +msgstr "" + +#: ../../docs/tutorials/3d/particles/creating_a_3d_particle_system.rst:75 +msgid "" +"You can also convert CPU particles to GPU particles if you no longer need to " +"use CPU particles. This is also done from the viewport menu." +msgstr "" + +#: ../../docs/tutorials/3d/particles/creating_a_3d_particle_system.rst:78 +msgid "" +"Some of the most notable features that are lost during the conversion " +"include:" +msgstr "" + +#: ../../docs/tutorials/3d/particles/creating_a_3d_particle_system.rst:80 +msgid "multiple draw passes" +msgstr "" + +#: ../../docs/tutorials/3d/particles/creating_a_3d_particle_system.rst:81 +msgid "turbulence" +msgstr "" + +#: ../../docs/tutorials/3d/particles/creating_a_3d_particle_system.rst:82 +msgid "sub-emitters" +msgstr "" + +#: ../../docs/tutorials/3d/particles/creating_a_3d_particle_system.rst:83 +msgid "trails" +msgstr "" + +#: ../../docs/tutorials/3d/particles/creating_a_3d_particle_system.rst:84 +msgid "attractors" +msgstr "" + +#: ../../docs/tutorials/3d/particles/creating_a_3d_particle_system.rst:85 +msgid "collision" +msgstr "" + +#: ../../docs/tutorials/3d/particles/creating_a_3d_particle_system.rst:87 +msgid "You also lose the following properties:" +msgstr "" + +#: ../../docs/tutorials/3d/particles/creating_a_3d_particle_system.rst:89 +msgid "``Ammount Ratio``" +msgstr "" + +#: ../../docs/tutorials/3d/particles/creating_a_3d_particle_system.rst:90 +msgid "``Interp to End``" +msgstr "" + +#: ../../docs/tutorials/3d/particles/creating_a_3d_particle_system.rst:91 +msgid "``Damping as Friction``" +msgstr "" + +#: ../../docs/tutorials/3d/particles/creating_a_3d_particle_system.rst:92 +msgid "``Emission Shape Offset``" +msgstr "" + +#: ../../docs/tutorials/3d/particles/creating_a_3d_particle_system.rst:93 +msgid "``Emission Shape Scale``" +msgstr "" + +#: ../../docs/tutorials/3d/particles/creating_a_3d_particle_system.rst:94 +msgid "``Inherit Velocity Ratio``" +msgstr "" + +#: ../../docs/tutorials/3d/particles/creating_a_3d_particle_system.rst:95 +msgid "``Velocity Pivot``" +msgstr "" + +#: ../../docs/tutorials/3d/particles/creating_a_3d_particle_system.rst:96 +msgid "``Directional Velocity``" +msgstr "" + +#: ../../docs/tutorials/3d/particles/creating_a_3d_particle_system.rst:97 +msgid "``Radial Velocity``" +msgstr "" + +#: ../../docs/tutorials/3d/particles/creating_a_3d_particle_system.rst:98 +msgid "``Velocity Limit``" +msgstr "" + +#: ../../docs/tutorials/3d/particles/creating_a_3d_particle_system.rst:99 +msgid "``Scale Over Velocity``" +msgstr "" + +#: ../../docs/tutorials/3d/particles/creating_a_3d_particle_system.rst:101 +msgid "" +"Converting GPU particles to CPU particles can become necessary when you want " +"to release a game on older devices that don't support modern graphics APIs." +msgstr "" + +#: ../../docs/tutorials/3d/particles/properties.rst:4 +msgid "3D Particle system properties" +msgstr "" + +#: ../../docs/tutorials/3d/particles/properties.rst:7 +msgid "Emitter properties" +msgstr "" + +#: ../../docs/tutorials/3d/particles/properties.rst:12 +msgid "" +"The checkbox next to the ``Emitting`` property activates and deactivates the " +"particle system. Particles will only be processed and rendered if the box is " +"checked. You can set this property at runtime if you want to activate or " +"deactivate particle systems dynamically." +msgstr "" + +#: ../../docs/tutorials/3d/particles/properties.rst:16 +msgid "" +"The ``Amount`` property controls the maximum number of particles visible at " +"any given time. Increase the value to spawn more particles at the cost of " +"performance." +msgstr "" + +#: ../../docs/tutorials/3d/particles/properties.rst:19 +msgid "" +"The ``Amount Ratio`` property is the radio of particles compared to the " +"ammount that will be emitted. If it's less than ``1.0`` the ammount of " +"particles emitted through the lifetime will be the ``Ammount`` * ``Amount " +"Ratio``. Changing this value while emitted doesn't affect already created " +"particles and doesn't cause the particle system to restart. It's useful for " +"making effects where the number of emitted particels varies over time." +msgstr "" + +#: ../../docs/tutorials/3d/particles/properties.rst:25 +msgid "" +"You can set another particle node as a ``Sub Emitter``, which will be " +"spawned as a child of each particle. See the :ref:`Sub-emitters " +"` section in this manual for a detailed " +"explanation of how to add a sub-emitter to a particle system." +msgstr "" + +#: ../../docs/tutorials/3d/particles/properties.rst:32 +msgid "Time properties" +msgstr "" + +#: ../../docs/tutorials/3d/particles/properties.rst:37 +msgid "" +"The ``Lifetime`` property controls how long each particle exists before it " +"disappears again. It is measured in seconds. A lot of particle properties " +"can be set to change over the particle's lifetime and blend smoothly from " +"one value to another." +msgstr "" + +#: ../../docs/tutorials/3d/particles/properties.rst:41 +msgid "" +"``Lifetime`` and ``Amount`` are related. They determine the particle " +"system's emission rate. Whenever you want to know how many particles are " +"spawned per second, this is the formula you would use:" +msgstr "" + +#: ../../docs/tutorials/3d/particles/properties.rst:45 +msgid "Particles per second = \\frac{Amount}{Lifetime}" +msgstr "" + +#: ../../docs/tutorials/3d/particles/properties.rst:49 +msgid "" +"Example: Emitting 32 particles with a lifetime of 4 seconds each would mean " +"the system emits 8 particles per second." +msgstr "" + +#: ../../docs/tutorials/3d/particles/properties.rst:52 +msgid "" +"The ``Interp to End`` property causes all the particles in the node to " +"interpolate towards the end of their lifetime." +msgstr "" + +#: ../../docs/tutorials/3d/particles/properties.rst:55 +msgid "" +"If the checkbox next to the ``One Shot`` property is checked, the particle " +"system will emit ``amount`` particles and then disable itself. It \"runs\" " +"only once. This property is unchecked by default, so the system will keep " +"emitting particles until it is disabled or destroyed manually. One-shot " +"particles are a good fit for effects that react to a single event, like item " +"pickups or splinters that burst away when a bullet hits a wall." +msgstr "" + +#: ../../docs/tutorials/3d/particles/properties.rst:60 +msgid "" +"The ``Preprocess`` property is a way to fast-forward to a point in the " +"middle of the particle system's lifetime and start rendering from there. It " +"is measured in seconds. A value of ``1`` means that when the particle system " +"starts, it will look as if it has been running for one second already." +msgstr "" + +#: ../../docs/tutorials/3d/particles/properties.rst:65 +msgid "" +"This can be useful if you want the particle system to look like it has been " +"active for a while even though it was just loaded into the scene. Consider " +"the example below. Both particle systems simulate dust flying around in the " +"area. With a preprocess value of ``0``, there wouldn't be any dust for the " +"first couple of seconds because the system has not yet emitted enough " +"particles for the effect to become noticeable. This can be seen in the video " +"on the left. Compare that to the video on the right where the particle " +"system is preprocessed for ``4`` seconds. The dust is fully visible from the " +"very beginning because we skipped the first four seconds of \"setup\" time." +msgstr "" + +#: ../../docs/tutorials/3d/particles/properties.rst:75 +msgid "No preprocess (left) vs. 4 seconds of preprocess (right)" +msgstr "" + +#: ../../docs/tutorials/3d/particles/properties.rst:77 +msgid "" +"You can slow down or speed up the particle system with the ``Speed Scale`` " +"property. This applies to processing the data as well as rendering the " +"particles. Set it to ``0`` to pause the particle system completely or set it " +"to something like ``2`` to make it move twice as fast." +msgstr "" + +#: ../../docs/tutorials/3d/particles/properties.rst:83 +msgid "Different speed scale values: 0.1 (left), 0.5 (middle), 1.0 (right)" +msgstr "" + +#: ../../docs/tutorials/3d/particles/properties.rst:85 +msgid "" +"The ``Explosiveness`` property controls whether particles are emitted " +"sequentially or simultaneously. A value of ``0`` means that particles emit " +"one after the other. A value of ``1`` means that all ``amount`` particles " +"emit at the same time, giving the effect a more \"explosive\" appearance." +msgstr "" + +#: ../../docs/tutorials/3d/particles/properties.rst:90 +msgid "" +"The ``Randomness`` property adds some randomness to the particle emission " +"timing. When set to ``0``, there is no randomness at all and the interval " +"between the emission of one particle and the next is always the same: the " +"particles are emitted at *regular* intervals. A ``Randomness`` value of " +"``1`` makes the interval completely random. You can use this property to " +"break up some of the uniformity in your effects. When ``Explosiveness`` is " +"set to ``1``, this property has no effect." +msgstr "" + +#: ../../docs/tutorials/3d/particles/properties.rst:101 +msgid "Particles running at low FPS" +msgstr "" + +#: ../../docs/tutorials/3d/particles/properties.rst:101 +msgid "Interpolation on (left) vs. off (right)" +msgstr "" + +#: ../../docs/tutorials/3d/particles/properties.rst:103 +msgid "" +"The ``Fixed FPS`` property limits how often the particle system is " +"processed. This includes property updates as well as collision and " +"attractors. This can improve performance a lot, especially in scenes that " +"make heavy use of particle collision. Note that this does not change the " +"speed at which particles move or rotate. You would use the ``Speed Scale`` " +"property for that." +msgstr "" + +#: ../../docs/tutorials/3d/particles/properties.rst:109 +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 +msgid "Collision properties" +msgstr "" + +#: ../../docs/tutorials/3d/particles/properties.rst:121 +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 +msgid "Drawing properties" +msgstr "" + +#: ../../docs/tutorials/3d/particles/properties.rst:None +msgid "Particle drawing properties" +msgstr "" + +#: ../../docs/tutorials/3d/particles/properties.rst:136 +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." +msgstr "" + +#: ../../docs/tutorials/3d/particles/properties.rst:146 +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 +msgid "Local space coordinates (left) vs. world space coordinates (right)" +msgstr "" + +#: ../../docs/tutorials/3d/particles/properties.rst:156 +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 +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 +msgid "Trail properties" +msgstr "" + +#: ../../docs/tutorials/3d/particles/properties.rst:181 +#: ../../docs/tutorials/3d/particles/trails.rst:None +msgid "Particle trails" +msgstr "" + +#: ../../docs/tutorials/3d/particles/properties.rst:181 +msgid "Particle trail properties" +msgstr "" + +#: ../../docs/tutorials/3d/particles/properties.rst:183 +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 +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 +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 "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:4 +msgid "Process material properties" +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:10 +msgid "ParticleProcessMaterial properties" +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:10 +msgid "Min, max, and curve properties" +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:12 +msgid "" +"The properties in this material control how particles behave and change over " +"their lifetime. A lot of them have ``Min``, ``Max``, and ``Curve`` values " +"that allow you to fine-tune their behavior. The relationship between these " +"values is this: When a particle is spawned, the property is set with a " +"random value between ``Min`` and ``Max``. If ``Min`` and ``Max`` are the " +"same, the value will always be the same for every particle. If the ``Curve`` " +"is also set, the value of the property will be multiplied by the value of " +"the curve at the current point in a particle's lifetime. Use the curve to " +"change a property over the particle lifetime. Very complex behavior can be " +"expressed this way." +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:22 +msgid "Time" +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:24 +msgid "" +"The ``Lifetime Randomness`` property controls how much randomness to apply " +"to each particle's lifetime. A value of ``0`` means there is no randomness " +"at all and all particles live for the same amount of time, set by the :ref:" +"`Lifetime ` property. A value of ``1`` " +"means that a particle's lifetime is completely random within the range of " +"[0.0, ``Lifetime``]." +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:30 +msgid "Particle flags" +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:32 +msgid "" +"The ``Align Y`` property aligns each particle's Y-axis with its velocity. " +"Enabling this property is the same as setting the :ref:`Transform Align " +"` property to ``Y to Velocity``." +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:36 +msgid "" +"The ``Rotate Y`` property works with the properties in the `Angle " +"<#angle>`__ and `Angular Velocity <#angular-velocity>`__ groups to control " +"particle rotation. ``Rotate Y`` has to be enabled if you want to apply any " +"rotation to particles. The exception to this is any particle that uses the :" +"ref:`Standard Material ` where the ``Billboard`` " +"property is set to ``Particle Billboard``. In that case, particles rotate " +"even without ``Rotate Y`` enabled." +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:43 +msgid "" +"When the ``Disable Z`` property is enabled, particles will not move along " +"the Z-axis. Whether that is going to be the particle system's local Z-axis " +"or the world Z-axis is determined by the :ref:`Local Coords " +"` property." +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:47 +msgid "" +"The ``Daming as Friction`` property changes the behavior of damping from a " +"constant deceleration to a deceleration based on speed." +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:51 +msgid "Spawn" +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:56 +msgid "Emission shape" +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:58 +msgid "" +"Particles can emit from a single point in space or in a way that they fill " +"out a shape. The ``Shape`` property controls that shape. ``Point`` is the " +"default value. All particles emit from a single point in the center of the " +"particle system. When set to ``Sphere`` or ``Box``, particles emit in a way " +"that they fill out a sphere or a box shape evenly. You have full control " +"over the size of these shapes. ``Sphere Surface`` works like ``Sphere``, but " +"instead of filling it out, all particles spawn on the sphere's surface." +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:68 +msgid "Simple particle emission shapes" +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:68 +msgid "" +"Particles emitting from a point (left), in a sphere (middle), and in a box " +"(right)" +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:74 +msgid "Ring-shaped particle system" +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:74 +msgid "A ring-shaped particle system" +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:76 +msgid "" +"The ``Ring`` emission shape makes particles emit in the shape of a ring. You " +"can control the ring's direction by changing the ``Ring Axis`` property. " +"``Ring Height`` controls the thickness of the ring along its axis. ``Ring " +"Radius`` and ``Ring Inner Radius`` control how wide the ring is and how " +"large the hole in the middle should be. The image shows a particle system " +"with a radius of ``2`` and an inner radius of ``1.5``, the axis points along " +"the global Z-axis." +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:83 +msgid "" +"In addition to these relatively simple shapes, you can select the ``Points`` " +"or ``Directed Points`` option to create highly complex emission shapes. See " +"the :ref:`Complex emission shapes ` section " +"for a detailed explanation of how to set these up." +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:91 +msgid "" +"The ``Angle`` property controls a particle's starting rotation `as described " +"above <#process-material-properties>`__. In order to have an actual effect " +"on the particle, you have to enable one of two properties: `Rotate Y " +"<#particle-flags>`__ rotates the particle around the particle system's Y-" +"axis. The ``Billboard`` property in the :ref:`Standard Material " +"`, if it is set to ``Particle Billboard``, rotates " +"the particle around the axis that points from the particle to the camera." +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:102 +msgid "" +"The ``Direction`` property alone is not enough to see any particle movement. " +"Whatever values you set here only take effect once velocity or acceleration " +"properties are set, too." +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:105 +msgid "" +"The ``Direction`` property is a vector that controls each particle's " +"direction of movement at the moment it is spawned. A value of ``(X=1,Y=0," +"Z=0)`` would make all particles move sideways along the X-axis. For " +"something like a fountain where particles shoot out up in the air, a value " +"of ``(X=0,Y=1,Z=0)`` would be a good starting point." +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:113 +msgid "Different values for particle direction" +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:113 +msgid "" +"Different direction values: Y-axis only (left), equal values for X and Y " +"(middle), X and Y with gravity enabled (right)" +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:115 +msgid "" +"After setting a direction, you will notice that all particles move in the " +"same direction in a straight line. The ``Spread`` property adds some " +"variation and randomness to each particle's direction. The higher the value, " +"the stronger the deviation from the original path. A value of ``0`` means " +"there is no spread at all while a value of ``180`` makes particles shoot out " +"in every direction. You could use this for something like pieces of debris " +"during an explosion effect." +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:124 +msgid "Different values for particle spread" +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:124 +msgid "No spread (left), 45 degree angle (middle), full 180 degrees (right)" +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:126 +msgid "" +"The ``Flatness`` property limits the spread along the Y-axis. A value of " +"``0`` means there is no limit and a value of ``1`` will eliminate all " +"particle movement along the Y-axis. The particles will spread out completely " +"\"flat\"." +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:130 +msgid "" +"You won't see any actual movement until you also set some values for the " +"velocity and acceleration properties below, so let's take a look at those " +"next." +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:134 +msgid "Initial velocity" +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:136 +msgid "" +"While the ``Direction`` property controls a particle's movement direction, " +"the ``Initial Velocity`` controls how fast it goes. It's separated into " +"``Velocity Min`` and ``Velocity Max``, both set to ``0`` by default, which " +"is why you don't see any movement initially. As soon as you set values for " +"either of these properties `as described above <#process-material-" +"properties>`__, the particles begin to move. The direction is multiplied by " +"these values, so you can make particles move in the opposite direction by " +"setting a negative velocity." +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:144 +msgid "Accelerations" +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:149 +msgid "" +"The next few property groups work closely together to control particle " +"movement and rotation. ``Gravity`` drags particles in the direction it " +"points at, which is straight down at the strength of Earth's gravity by " +"default. Gravity affects all particle movement. If your game uses physics " +"and the world's gravity can change at runtime, you can use this property to " +"keep the game's gravity in sync with particle gravity. A ``Gravity`` value " +"of ``(X=0,Y=0,Z=0)`` means no particle will ever move at all if none of the " +"other movement properties are set." +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:159 +msgid "Different values for particle gravity" +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:159 +msgid "" +"Left\\: (X=0,Y=-9.8,Z=0), middle\\: (X=0,Y=9.8,Z=0), right\\: (X=4,Y=2,Z=0)." +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:162 +msgid "Angular velocity" +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:164 +msgid "" +"``Angular Velocity`` controls a particle's speed of rotation `as described " +"above <#process-material-properties>`__. You can reverse the direction by " +"using negative numbers for ``Velocity Min`` or ``Velocity Max``. Like the " +"`Angle <#angle>`__ property, the rotation will only be visible if the " +"`Rotate Y <#particle-flags>`__ flag is set or the ``Particle Billboard`` " +"mode is selected in the :ref:`Standard Material `." +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:171 +msgid "" +"The `Damping <#damping>`__ property has no effect on the angular velocity." +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:174 +msgid "Linear acceleration" +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:176 +msgid "" +"A particle's velocity is a constant value: once it's set, it doesn't change " +"and the particle will always move at the same speed. You can use the " +"``Linear Accel`` property to change the speed of movement over a particle's " +"lifetime `as described above <#process-material-properties>`__. Positive " +"values will speed up the particle and make it move faster. Negative values " +"will slow it down until it stops and starts moving in the other direction." +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:185 +msgid "Different values for particle linear acceleration" +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:185 +msgid "Negative (top) and positive (bottom) linear acceleration" +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:187 +msgid "" +"It's important to keep in mind that when we change acceleration, we're not " +"changing the velocity directly, we're changing the *change* in velocity. A " +"value of ``0`` on the acceleration curve does not stop the particle's " +"movement, it stops the change in the particle's movement. Whatever its " +"velocity was at that moment, it will keep moving at that velocity until the " +"acceleration is changed again." +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:194 +msgid "Radial acceleration" +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:196 +msgid "" +"The ``Radial Accel`` property adds a gravity-like force to all particles, " +"with the origin of that force at the particle system's current location. " +"Negative values make particles move towards the center, like the force of " +"gravity from a planet on objects in its orbit. Positive values make " +"particles move away from the center." +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:204 +msgid "Different values for particle radial acceleration" +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:204 +msgid "Negative (left) and positive (right) radial acceleration" +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:207 +msgid "Tangential acceleration" +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:213 +msgid "Tangents on a circle" +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:215 +msgid "" +"This property adds particle acceleration in the direction of the tangent to " +"a circle on the particle system's XZ-plane with the origin at the system's " +"center and a radius the distance between each particle's current location " +"and the system's center projected onto that plane." +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:219 +msgid "Let's unpack that." +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:221 +msgid "" +"A tangent to a circle is a straight line that \"touches\" the circle in a " +"right angle to the circle's radius at the touch point. A circle on the " +"particle system's XZ-plane is the circle that you see when you look straight " +"down at the particle system from above." +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:229 +msgid "Tangential acceleration from above" +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:231 +msgid "" +"``Tangential Accel`` is always limited to that plane and never move " +"particles along the system's Y-axis. A particle's location is enough to " +"define such a circle where the distance to the system's center is the radius " +"if we ignore the vector's Y component." +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:235 +msgid "" +"The ``Tangential Accel`` property will make particles orbit the particle " +"system's center, but the radius will increase constantly. Viewed from above, " +"particles will move away from the center in a spiral. Negative values " +"reverse the direction." +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:242 +msgid "" +"The ``Damping`` property gradually stops all movement. Each frame, a " +"particle's movement is slowed down a little unless the total acceleration is " +"greater than the damping effect. If it isn't, the particle will keep slowing " +"down until it doesn't move at all. The greater the value, the less time it " +"takes to bring particles to a complete halt." +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:248 +msgid "Attractor interaction" +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:250 +msgid "" +"If you want the particle system to interact with :ref:`particle attractors " +"`, you have to check the ``Enabled`` property. " +"When it is disabled, the particle system ignores all particle attractors." +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:255 +msgid "Display" +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:260 +msgid "" +"``Scale`` controls a particle's size `as described above <#process-material-" +"properties>`__. You can set different values for ``Scale Min`` and ``Scale " +"Max`` to randomize each particle's size. Negative values are not allowed, so " +"you won't be able to flip particles with this property. If you emit " +"particles as billboards, the ``Keep Size`` property on the :ref:`Standard " +"Material ` in your draw passes has to be enabled " +"for any scaling to have an effect." +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:269 +msgid "" +"The ``Color`` property controls a particle's initial color. It will have an " +"effect only after the ``Use As Albedo`` property in the ``Vertex Color`` " +"group of the :ref:`Standard Material ` is enabled. " +"This property is multiplied with color coming from the particle material's " +"own ``Color`` or ``Texture`` property." +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:278 +msgid "Particle color ramp" +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:278 +msgid "Setting up a color ramp" +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:280 +msgid "" +"There are two ``Ramp`` properties in the ``Color`` group. These allow you to " +"define a range of colors that are used to set the particle's color. The " +"``Color Ramp`` property changes a particle's color over the course of its " +"lifetime. It moves through the entire range of colors you defined. The " +"``Color Initial Ramp`` property selects the particle's initial color from a " +"random position on the color ramp." +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:286 +msgid "" +"To set up a color ramp, click on the box next to the property name and from " +"the dropdown menu select ``New GradientTexture1D``. Click on the box again " +"to open the texture's details. Find the ``Gradient`` property, click on the " +"box next to it and select ``New Gradient``. Click on that box again and you " +"will see a color range. Click anywhere on that range to insert a new marker. " +"You can move the marker with the mouse and delete it by clicking the right " +"mouse button. When a marker is selected, you can use the color picker next " +"to the range to change its color." +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:295 +msgid "Hue variation" +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:297 +msgid "" +"Like the ``Color`` property, ``Hue Variation`` controls a particle's color, " +"but in a different way. It does so not by setting color values directly, but " +"by *shifting the color's hue*." +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:301 +msgid "" +"Hue describes a color's pigment: red, orange, yellow, green and so on. It " +"does not tell you anything about how bright or how saturated the color is. " +"The ``Hue Variation`` property controls the range of available hues `as " +"described above <#process-material-properties>`__." +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:305 +msgid "" +"It works on top of the particle's current color. The values you set for " +"``Variation Min`` and ``Variation Max`` control how far the hue is allowed " +"to shift in either direction. A higher value leads to more color variation " +"while a low value limits the available colors to the closest neighbors of " +"the original color." +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:313 +msgid "Different values for hue variation" +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:313 +msgid "" +"Different values for hue variation, both times with blue as base color: 0.6 " +"(left) and 0.1 (right)" +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:320 +msgid "" +"The ``Animation`` property group controls the behavior of sprite sheet " +"animations in the particle's :ref:`Standard Material " +"`. The ``Min``, ``Max``, and ``Curve`` values work " +"`as described above <#process-material-properties>`__." +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:324 +msgid "" +"An animated sprite sheet is a texture that contains several smaller images " +"aligned on a grid. The images are shown one after the other so fast that " +"they combine to play a short animation, like a flipbook. You can use them " +"for animated particles like smoke or fire. These are the steps to create an " +"animated particle system:" +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:333 +msgid "A sprite sheet" +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:333 +msgid "An 8x8 animated smoke sprite sheet" +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:335 +msgid "" +"Import a sprite sheet texture into the engine. If you don't have one at " +"hand, you can download the :download:`high-res version of the example image " +"`." +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:336 +msgid "" +"Set up a particle system with at least one draw pass and assign a ``Standard " +"Material`` to the mesh in that draw pass." +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:337 +msgid "" +"Assign the sprite sheet to the ``Texture`` property in the ``Albedo`` group" +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:338 +msgid "" +"Set the material's ``Billboard`` property to ``Particle Billboard``. Doing " +"so makes the ``Particles Anim`` group available in the material." +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:339 +msgid "" +"Set ``H Frames`` to the number of columns and ``V Frames`` to the number of " +"rows in the sprite sheet." +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:340 +msgid "Check ``Loop`` if you want the animation to keep repeating." +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:342 +msgid "" +"That's it for the Standard Material. You won't see any animation right away. " +"This is where the ``Animation`` properties come in. The ``Speed`` properties " +"control how fast the sprite sheet animates. Set ``Speed Min`` and ``Speed " +"Max`` to ``1`` and you should see the animation playing. The ``Offset`` " +"properties control where the animation starts on a newly spawned particle. " +"By default, it will always be the first image in the sequence. You can add " +"some variety by changing ``Offset Min`` and ``Offset Max`` to randomize the " +"starting position." +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:353 +msgid "Animated particles" +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:353 +msgid "Three different particle systems using the same smoke sprite sheet" +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:368 +msgid "" +"If your sprite sheet contains 64 (8x8) images and the particle's lifetime is " +"set to ``1 second``, the animation will be very smooth at **64 FPS** (1 " +"second / 64 images). if the lifetime is set to ``2 seconds``, it will still " +"be fairly smooth at **32 FPS**. But if the particle is alive for ``8 " +"seconds``, the animation will be visibly choppy at **8 FPS**. In order to " +"make the animation smooth again, you need to increase the animation speed to " +"something like ``3`` to reach an acceptable framerate." +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:379 +msgid "Animated particles lifetimes" +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:379 +msgid "" +"The same particle system at different lifetimes: 1 second (left), 2 seconds " +"(middle), 8 seconds (right)" +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:381 +msgid "" +"Note that the GPUParticles3D node's **Fixed FPS** also affects animation " +"playback. For smooth animation playback, it's recommended to set it to 0 so " +"that the particle is simulated on every rendered frame. If this is not an " +"option for your use case, set **Fixed FPS** to be equal to the effective " +"framerate used by the flipbook animation (see above for the formula)." +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:390 +msgid "Turbulence" +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:392 +msgid "" +"Turbulence adds noise to particle movement, creating interesting and lively " +"patterns. Check the box next to the ``Enabled`` property to activate it. A " +"number of new properties show up that control the movement speed, noise " +"pattern and overall influence on the particle system. You can find a " +"detailed explanation of these in the section on :ref:`particle turbulence " +"`." +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:401 +msgid "Collision" +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:403 +msgid "" +"The ``Mode`` property controls how and if emitters collide with particle " +"collision nodes. Set it to ``Disabled`` to disable any collision for this " +"particle system. Set it to ``Hide On Contact`` if you want particles to " +"disappear as soon as they collide. Set it to ``Constant`` to make particles " +"collide and bounce around. You will see two new properties appear in the " +"inspector. They control how particles behave during collision events." +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:409 +msgid "" +"A high ``Friction`` value will reduce sliding along surfaces. This is " +"especially helpful if particles collide with sloped surfaces and you want " +"them to stay in place instead of sliding all the way to the bottom, like " +"snow falling on a mountain. A high ``Bounce`` value will make particles " +"bounce off surfaces they collide with, like rubber balls on a solid floor." +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:415 +msgid "" +"If the ``Use Scale`` property is enabled, the :ref:`collision base size " +"` is multiplied by the particle's " +"`current scale <#scale>`__. You can use this to make sure that the rendered " +"size and the collision size match for particles with random scale or scale " +"that varies over time." +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:420 +msgid "" +"You can learn more about particle collisions in the :ref:`Collisions " +"` section in this manual." +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:424 +msgid "Sub-emitter" +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:430 +msgid "Sub-emitter modes" +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:430 +msgid "The available sub-emitter modes" +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:432 +msgid "" +"The ``Mode`` property controls how and when sub-emitters are spawned. Set it " +"to ``Disabled`` and no sub-emitters will ever be spawned. Set it to " +"``Constant`` to make sub-emitters spawn continuously at a constant rate. The " +"``Frequency`` property controls how often that happens within the span of " +"one second. Set the mode to ``At End`` to make the sub-emitter spawn at the " +"end of the parent particle's lifetime, right before it is destroyed. The " +"``Amount At End`` property controls how many sub-emitters will be spawned. " +"Set the mode to ``At Collision`` to make sub-emitters spawn when a particle " +"collides with the environment. The ``Amount At Collision`` property controls " +"how many sub-emitters will be spawned." +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:441 +msgid "" +"When the ``Keep Velocity`` property is enabled, the newly spawned sub-" +"emitter starts off with the parent particle's velocity at the time the sub-" +"emitter is created." +msgstr "" + +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:444 +msgid "" +"See the :ref:`Sub-emitters ` section in this " +"manual for a detailed explanation of how to add a sub-emitter to a particle " +"system." +msgstr "" + +#: ../../docs/tutorials/3d/particles/subemitters.rst:4 +msgid "Particle sub-emitters" +msgstr "" + +#: ../../docs/tutorials/3d/particles/subemitters.rst:None +msgid "Chained sub-emitters" +msgstr "" + +#: ../../docs/tutorials/3d/particles/subemitters.rst:9 +msgid "" +"Sometimes a visual effect cannot be created with a single particle system " +"alone. Sometimes a particle system needs to be spawned as a response to " +"something that happens in another particle system. Fireworks are a good " +"example of that. They usually consist of several stages of explosions that " +"happen in sequence. Sub-emitters are a good way to achieve this kind of " +"effect." +msgstr "" + +#: ../../docs/tutorials/3d/particles/subemitters.rst:19 +msgid "Assign sub-emitter" +msgstr "" + +#: ../../docs/tutorials/3d/particles/subemitters.rst:19 +msgid "Click to assign a sub-emitter..." +msgstr "" + +#: ../../docs/tutorials/3d/particles/subemitters.rst:25 +msgid "List particle systems" +msgstr "" + +#: ../../docs/tutorials/3d/particles/subemitters.rst:25 +msgid "\\...and select one from the scene" +msgstr "" + +#: ../../docs/tutorials/3d/particles/subemitters.rst:27 +msgid "" +"A sub-emitter is a particle system that spawns as a child of another " +"particle system. You can add sub-emitters to sub-emitters, chaining particle " +"effects as deep as you like." +msgstr "" + +#: ../../docs/tutorials/3d/particles/subemitters.rst:30 +msgid "" +"To create a sub-emitter, you need at least two particle systems in the same " +"scene. One of them will be the parent and one will be set as the child. Find " +"the ``Sub Emitter`` property on the parent and click the box next to it to " +"assign the sub-emitter. You will see a list of available particle systems in " +"the scene. Select one and click the confirmation button." +msgstr "" + +#: ../../docs/tutorials/3d/particles/subemitters.rst:35 +msgid "" +"Particle systems from instanced scenes can be set as sub-emitters too, as " +"long as the ``Editable Children`` property is enabled on the instanced " +"scene. This also works the other way around: You can assign a sub-emitter to " +"a particle system in an instanced scene, even one coming from a different " +"instanced scene." +msgstr "" + +#: ../../docs/tutorials/3d/particles/subemitters.rst:42 +msgid "" +"When you set a particle system as the sub-emitter of another, the system " +"stops emitting, even if the ``Emitting`` property was checked. Don't worry, " +"it didn't break. This happens to every particle system as soon as it becomes " +"a sub-emitter. You also won't be able to re-enable the property as long as " +"the particle system is used as a sub-emitter." +msgstr "" + +#: ../../docs/tutorials/3d/particles/subemitters.rst:49 +msgid "" +"Even though the parent particle system can be selected from the list of " +"available particle systems, a particle system which is its own sub-emitter " +"does not work in Godot. It will simply not spawn. The same is true for any " +"other kind of recursive or self-referential sub-emitter setup." +msgstr "" + +#: ../../docs/tutorials/3d/particles/subemitters.rst:55 +msgid "Emitter mode" +msgstr "" + +#: ../../docs/tutorials/3d/particles/subemitters.rst:57 +msgid "" +"When you assign a sub-emitter, you don't see it spawn right away. Emitting " +"is disabled by default and needs to be enabled first. Set the ``Mode`` " +"property in the ``Sub Emitter`` group of the :ref:`ParticleProcessMaterial " +"` to something other than " +"``Disabled``." +msgstr "" + +#: ../../docs/tutorials/3d/particles/subemitters.rst:61 +msgid "" +"The emitter mode also determines how many sub-emitter particles are spawned. " +"``Constant`` spawns a single particle at a frequency set by the " +"``Frequency`` property. For ``At End`` and ``At Collision`` you can set the " +"amount directly with the ``Amount At End`` and the ``Amount At Collision`` " +"properties." +msgstr "" + +#: ../../docs/tutorials/3d/particles/subemitters.rst:69 +msgid "" +"One thing to keep in mind is that the total number of active particles from " +"the sub-emitter is always capped by the ``Amount`` property on the sub-" +"emitter particle system. If you find that there are not enough particles " +"spawned from the sub-emitter, you might have to increase the amount in the " +"particle system." +msgstr "" + +#: ../../docs/tutorials/3d/particles/subemitters.rst:74 +msgid "" +"Some emitter properties are ignored when a particle system is spawned as a " +"sub-emitter. The ``Explosiveness`` property, for example, has no effect. " +"Depending on the emitter mode, the particles are either spawned sequentially " +"at fixed intervals or explosively all at once." +msgstr "" + +#: ../../docs/tutorials/3d/particles/trails.rst:4 +msgid "3D Particle trails" +msgstr "" + +#: ../../docs/tutorials/3d/particles/trails.rst:13 +msgid "Particle trail params" +msgstr "" + +#: ../../docs/tutorials/3d/particles/trails.rst:13 +msgid "Setting up particle trails" +msgstr "" + +#: ../../docs/tutorials/3d/particles/trails.rst:15 +msgid "" +"Godot provides several types of trails you can add to a particle system. " +"Before you can work with trails, you need to set up a couple of parameters " +"first. Create a new particle system and assign a process material :ref:`as " +"described before `. In the ``Trails`` group " +"of the particle system, check the box next to ``Enabled`` and increase the " +"emission duration by setting ``Lifetime`` to something like ``0.8``. On the " +"process material, set ``Direction`` to ``(X=0,Y=1.0,Z=0)`` and ``Initial " +"Velocity`` to ``10.0`` for both ``Min`` and ``Max``." +msgstr "" + +#: ../../docs/tutorials/3d/particles/trails.rst:23 +msgid "" +"The only thing that's still missing is a mesh for the draw pass. The type of " +"mesh that you set here controls what kind of particle trail you will end up " +"with." +msgstr "" + +#: ../../docs/tutorials/3d/particles/trails.rst:27 +msgid "Ribbon trails" +msgstr "" + +#: ../../docs/tutorials/3d/particles/trails.rst:33 +msgid "Particle ribbon" +msgstr "" + +#: ../../docs/tutorials/3d/particles/trails.rst:33 +msgid "Important ribbon mesh parameters" +msgstr "" + +#: ../../docs/tutorials/3d/particles/trails.rst:35 +msgid "" +"The simplest type of particle trail is the ribbon trail. Navigate to the " +"``Draw Passes`` section and select ``New RibbonTrailMesh`` from the options " +"for ``Pass 1``. A :ref:`RibbonTrailMesh ` is a simple " +"quad that is divided into sections and then stretched and repeated along " +"those sections." +msgstr "" + +#: ../../docs/tutorials/3d/particles/trails.rst:40 +msgid "" +"Assign a new :ref:`Standard Material ` to the " +"``Material`` property and enable ``Use Particle Trails`` in the " +"``Transform`` property group. The particles should now be emitting in trails." +msgstr "" + +#: ../../docs/tutorials/3d/particles/trails.rst:44 +msgid "" +"You have two options for the ribbon mesh ``Shape`` parameter. ``Cross`` " +"creates two perpendicular quads, making the particle trail a little more " +"three-dimensional. This really only makes sense if you don't draw the trails " +"in ``Particle Billboard`` mode and helps when looking at the particles from " +"different angles. The ``Flat`` option limits the mesh to a single quad and " +"works best with billboard particles." +msgstr "" + +#: ../../docs/tutorials/3d/particles/trails.rst:50 +msgid "" +"The ``Size`` parameter controls the trail's width. Use it to make trails " +"wider or more narrow." +msgstr "" + +#: ../../docs/tutorials/3d/particles/trails.rst:53 +msgid "" +"``Sections``, ``Section Length`` and ``Section Segments`` all work together " +"to control how smooth the particle trail looks. When a particle trail does " +"not travel in a straight line, the more sections it has the smoother it " +"looks as it bends and swirls. ``Section Length`` controls the length of each " +"section. Multiply this value by the number of sections to know the trail's " +"total length." +msgstr "" + +#: ../../docs/tutorials/3d/particles/trails.rst:62 +msgid "Particle ribbon sections" +msgstr "" + +#: ../../docs/tutorials/3d/particles/trails.rst:62 +msgid "" +"3 sections, 1m section length (left) vs. 12 sections, 0.25m section length " +"(right). Notice how the total length of the trails stays the same." +msgstr "" + +#: ../../docs/tutorials/3d/particles/trails.rst:64 +msgid "" +"The ``Section Segments`` parameter further subdivides each section into " +"segments. It has no effect on the smoothness of the trail's sections, " +"though. Instead, it controls the smoothness of the particle trail's overall " +"shape. The ``Curve`` property defines this shape. Click the box next to " +"``Curve`` and assign or create a new curve. The trail will be shaped just " +"like the curve with the curve's value at ``0.0`` at the trail's head and the " +"curve's value at ``1.0`` at the trail's tail." +msgstr "" + +#: ../../docs/tutorials/3d/particles/trails.rst:74 +msgid "Particle ribbon curves" +msgstr "" + +#: ../../docs/tutorials/3d/particles/trails.rst:74 +msgid "" +"Particle trails shaped by different curves. The trails move from left to " +"right." +msgstr "" + +#: ../../docs/tutorials/3d/particles/trails.rst:76 +msgid "" +"Depending on the complexity of the curve, the particle trail's shape will " +"not look very smooth when the number of sections is low. This is where the " +"``Section Segments`` property comes in. Increasing the amount of section " +"segments adds more vertices to the trail's sides so that it can follow the " +"curve more closely." +msgstr "" + +#: ../../docs/tutorials/3d/particles/trails.rst:84 +msgid "Particle ribbon segments" +msgstr "" + +#: ../../docs/tutorials/3d/particles/trails.rst:84 +msgid "" +"Particle trail shape smoothness: 1 segment per section (top), 12 segments " +"per section (bottom)" +msgstr "" + +#: ../../docs/tutorials/3d/particles/trails.rst:87 +msgid "Tube trails" +msgstr "" + +#: ../../docs/tutorials/3d/particles/trails.rst:89 +msgid "" +"Tube trails share a lot of their properties with ribbon trails. The big " +"difference between them is that tube trails emit cylindrical meshes instead " +"of quads." +msgstr "" + +#: ../../docs/tutorials/3d/particles/trails.rst:95 +msgid "Particle tube trails" +msgstr "" + +#: ../../docs/tutorials/3d/particles/trails.rst:95 +msgid "Tube trails emit cylindrical particles" +msgstr "" + +#: ../../docs/tutorials/3d/particles/trails.rst:97 +msgid "" +"To create a tube trail, navigate to the ``Draw Passes`` section and select " +"``New TubeTrailMesh`` from the options for ``Pass 1``. A :ref:`TubeTrailMesh " +"` is a cylinder that is divided into sections and then " +"stretched and repeated along those sections. Assign a new :ref:`Standard " +"Material ` to the ``Material`` property and enable " +"``Use Particle Trails`` in the ``Transform`` property group. The particles " +"should now be emitting in long, cylindrical trails." +msgstr "" + +#: ../../docs/tutorials/3d/particles/trails.rst:108 +msgid "Particle tube" +msgstr "" + +#: ../../docs/tutorials/3d/particles/trails.rst:108 +msgid "Important tube mesh parameters" +msgstr "" + +#: ../../docs/tutorials/3d/particles/trails.rst:110 +msgid "" +"The ``Radius`` and ``Radial Steps`` properties are to tube trails what " +"``Size`` is to ribbon trails. ``Radius`` defines the radius of the tube and " +"increases or decreases its overall size. ``Radial Steps`` controls the " +"number of sides around the tube's circumference. A higher value increases " +"the resolution of the tube's cap." +msgstr "" + +#: ../../docs/tutorials/3d/particles/trails.rst:115 +msgid "" +"``Sections`` and ``Section Length`` work the same for tube trails and ribbon " +"trails. They control how smooth the tube trail looks when it is bending and " +"twisting instead of moving in a straight line. Increasing the number of " +"sections will make it look smoother. Change the ``Section Length`` property " +"to change the length of each section and with it the total length of the " +"trail. ``Section Rings`` is the tube equivalent of the ``Section Segments`` " +"property for ribbons. It subdivides the sections and adds more geometry to " +"the tube to better fit the custom shape defined in the ``Curve`` property." +msgstr "" + +#: ../../docs/tutorials/3d/particles/trails.rst:122 +msgid "" +"You can shape tube trails with curves, just as you can with ribbon trails. " +"Click the box next to the ``Curve`` property and assign or create a new " +"curve. The trail will be shaped like the curve with the curve's value at " +"``0.0`` at the trail's head and the curve's value at ``1.0`` at the trail's " +"tail." +msgstr "" + +#: ../../docs/tutorials/3d/particles/trails.rst:129 +msgid "Particle tubes" +msgstr "" + +#: ../../docs/tutorials/3d/particles/trails.rst:129 +msgid "" +"Particle tube trails with a custom curve shape: 4 radial steps, 3 sections, " +"1 section ring (left), 12 radial steps, 9 sections, 3 section rings (right)" +msgstr "" + +#: ../../docs/tutorials/3d/particles/trails.rst:132 +msgid "" +"An important property you might want to set is ``Transform Align`` in the " +"particle system's ``Drawing`` group. If you leave it as is, the tubes will " +"not preserve volume; they flatten out as they move because their Y-axis " +"keeps pointing up even as they change direction. This can cause a lot of " +"rendering artifacts. Set the property to ``Y to Velocity`` instead and each " +"particle trail keeps its Y-axis aligned along the direction of its movement." +msgstr "" + +#: ../../docs/tutorials/3d/particles/trails.rst:141 +msgid "Particle tubes aligned" +msgstr "" + +#: ../../docs/tutorials/3d/particles/trails.rst:141 +msgid "" +"Particle tube trails without alignment (left) and with Y-axis aligned to " +"velocity (right)" +msgstr "" + +#: ../../docs/tutorials/3d/particles/turbulence.rst:4 +#: ../../docs/tutorials/3d/particles/turbulence.rst:None +msgid "Particle turbulence" +msgstr "" + +#: ../../docs/tutorials/3d/particles/turbulence.rst:9 +msgid "" +"Turbulence uses a noise texture to add variation and interesting patterns to " +"particle movement. It can be combined with :ref:`particle attractors " +"` and :ref:`collision " +"` nodes to create even more complex looking " +"behavior." +msgstr "" + +#: ../../docs/tutorials/3d/particles/turbulence.rst:17 +msgid "Turbulence properties" +msgstr "" + +#: ../../docs/tutorials/3d/particles/turbulence.rst:17 +msgid "Particle turbulence properties" +msgstr "" + +#: ../../docs/tutorials/3d/particles/turbulence.rst:19 +msgid "" +"There are two things you have to do before turbulence has any effect on a " +"particle system. First you must add movement to the particle system. " +"Turbulence modifies a particle's movement direction and speed, but it " +"doesn't create any. It is enough to give the particle system some gravity, " +"but you can just as well create a number of attractors if you want the " +"particles to follow a more complex movement path. Second, you need to :ref:" +"`enable turbulence in the particle process material " +"`. Once enabled, you have access " +"to all the turbulence properties." +msgstr "" + +#: ../../docs/tutorials/3d/particles/turbulence.rst:28 +msgid "" +"Turbulence makes use of 3D noise, which has a high performance cost on the " +"GPU. Only enable turbulence on a few particle systems on screen at most. " +"Using turbulence is not recommended when targeting mobile/web platforms." +msgstr "" + +#: ../../docs/tutorials/3d/particles/turbulence.rst:33 +msgid "Noise properties" +msgstr "" + +#: ../../docs/tutorials/3d/particles/turbulence.rst:35 +msgid "" +"The basis for particle turbulence is a noise pattern. There are several " +"properties that allow you to manipulate different attributes of this pattern." +msgstr "" + +#: ../../docs/tutorials/3d/particles/turbulence.rst:38 +msgid "" +"The ``Noise Strength`` property controls the pattern's contrast, which " +"affects the overall turbulence sharpness. A lower value creates a softer " +"pattern where individual movement paths are not as sharply separated from " +"another. Set this to a higher number to make the pattern more distinct." +msgstr "" + +#: ../../docs/tutorials/3d/particles/turbulence.rst:46 +msgid "Turbulence noise strength" +msgstr "" + +#: ../../docs/tutorials/3d/particles/turbulence.rst:46 +msgid "" +"At a value of 1 (left), the noise strength produces softer turbulence " +"patterns than at 20 (right)" +msgstr "" + +#: ../../docs/tutorials/3d/particles/turbulence.rst:48 +msgid "" +"The ``Noise Scale`` property controls the pattern's frequency. It basically " +"changes the noise texture's UV scale where a smaller value produces finer " +"detail, but repeating patterns become noticeable faster. A larger value " +"results in a weaker turbulence pattern overall, but the particle system can " +"cover a larger area before repetition starts to become an issue." +msgstr "" + +#: ../../docs/tutorials/3d/particles/turbulence.rst:56 +msgid "Turbulence noise scale" +msgstr "" + +#: ../../docs/tutorials/3d/particles/turbulence.rst:56 +msgid "" +"Turbulence noise scale produces finer details at a value of 1.5 (left) than " +"at 6 (right)" +msgstr "" + +#: ../../docs/tutorials/3d/particles/turbulence.rst:58 +msgid "" +"The ``Noise Speed`` property takes a vector and controls the noise panning " +"speed and direction. This allows you to move the noise pattern over time, " +"which adds another layer of movement variation to the particle system." +msgstr "" + +#: ../../docs/tutorials/3d/particles/turbulence.rst:64 +msgid "" +"Don't mix up particle movement speed and noise panning speed! They are two " +"different things. Particle movement is determined by a number of properties, " +"including the turbulence noise. The ``Noise Speed`` property moves the " +"pattern itself, which in turn changes where the noise affects the particles." +msgstr "" + +#: ../../docs/tutorials/3d/particles/turbulence.rst:69 +msgid "" +"At a value of ``(X=0,Y=0,Z=0)``, the noise pattern doesn't move at all. The " +"influence on particle movement stays the same at any given point. Set the " +"speed to ``(X=1,Y=0,Z=0)`` instead, and the noise pattern moves along the X-" +"axis." +msgstr "" + +#: ../../docs/tutorials/3d/particles/turbulence.rst:76 +msgid "Turbulence noise speed" +msgstr "" + +#: ../../docs/tutorials/3d/particles/turbulence.rst:76 +msgid "" +"Different noise speed values. Left\\: (X=0,Y=0,Z=0), middle\\: (X=0.5,Y=0.5," +"Z=0.5), right\\: (X=0,Y=-2,Z=0)." +msgstr "" + +#: ../../docs/tutorials/3d/particles/turbulence.rst:78 +msgid "" +"The ``Noise Speed Random`` property adds some randomness to the noise " +"panning speed. This helps with breaking up visible patterns, especially at " +"higher panning speeds when repetition becomes noticeable faster." +msgstr "" + +#: ../../docs/tutorials/3d/particles/turbulence.rst:83 +msgid "Influence properties" +msgstr "" + +#: ../../docs/tutorials/3d/particles/turbulence.rst:85 +msgid "" +"The influence properties determine how much each particle is affected by " +"turbulence. Use ``Influence Min`` to set a minimum value and ``Influence " +"Max`` to set a maximum value. When a particle spawns, the influence is " +"randomly chosen from within this range. You can also set up a curve with the " +"``Influence Over Life`` property that modifies that value over each " +"particle's lifetime. These three properties together control the strength of " +"the turbulence's effect on the particle system :ref:`as described before " +"`." +msgstr "" + +#: ../../docs/tutorials/3d/particles/turbulence.rst:92 +msgid "" +"Since these properties affect the overall influence of the turbulence over a " +"particle system, both movement direction and speed change as you set " +"different values. A stronger influence causes a particle to move faster and " +"all particles to follow along narrower paths as a result of that." +msgstr "" + +#: ../../docs/tutorials/3d/particles/turbulence.rst:99 +msgid "Turbulence influence" +msgstr "" + +#: ../../docs/tutorials/3d/particles/turbulence.rst:99 +msgid "" +"Notice how the particle paths are more narrow and less spread out at high " +"influence values (right)" +msgstr "" + +#: ../../docs/tutorials/3d/particles/turbulence.rst:102 +msgid "Displacement properties" +msgstr "" + +#: ../../docs/tutorials/3d/particles/turbulence.rst:104 +msgid "" +"Displacement changes a particle's starting position. Use ``Initial " +"Displacement Min`` to set a lower limit and ``Initial Displacement Max`` to " +"set an upper limit. When a particle spawns, the amount of displacement is " +"randomly chosen from within this range and multiplied by a random direction." +msgstr "" + +#: ../../docs/tutorials/3d/particles/turbulence.rst:109 +msgid "" +"Displacement is very useful to break up regular shapes or to create complex " +"shapes from simpler ones. The only difference between the particle systems " +"in the screenshot below is the value given to the displacement properties." +msgstr "" + +#: ../../docs/tutorials/3d/particles/turbulence.rst:116 +msgid "Turbulence displacement" +msgstr "" + +#: ../../docs/tutorials/3d/particles/turbulence.rst:116 +msgid "" +"No displacement (left), displacement value of 5 (middle), displacement range " +"[-20, 20] (right)" +msgstr "" + +#: ../../docs/tutorials/3d/particles/attractors.rst:4 +msgid "3D Particle attractors" +msgstr "" + +#: ../../docs/tutorials/3d/particles/attractors.rst:None +msgid "Particle attractors" +msgstr "" + +#: ../../docs/tutorials/3d/particles/attractors.rst:9 +msgid "" +"Particle attractors are nodes that apply a force to all particles within " +"their reach. They pull particles closer or push them away based on the " +"direction of that force. There are three types of attractors: :ref:" +"`class_GPUParticlesAttractorBox3D`, :ref:" +"`class_GPUParticlesAttractorSphere3D`, and :ref:" +"`class_GPUParticlesAttractorVectorField3D`. You can instantiate them at " +"runtime and change their properties from gameplay code; you can even animate " +"and combine them for complex attraction effects." +msgstr "" + +#: ../../docs/tutorials/3d/particles/attractors.rst:18 +msgid "Particle attractors are not yet implemented for 2D particle systems." +msgstr "" + +#: ../../docs/tutorials/3d/particles/attractors.rst:20 +msgid "" +"The first thing you have to do if you want to use attractors is enable the " +"``Attractor Interaction`` property on the ParticleProcessMaterial. Do this " +"for every particle system that needs to react to attractors. Like most " +"properties in Godot, you can also change this at runtime." +msgstr "" + +#: ../../docs/tutorials/3d/particles/attractors.rst:25 +#: ../../docs/tutorials/3d/particles/collision.rst:19 +msgid "Common properties" +msgstr "" + +#: ../../docs/tutorials/3d/particles/attractors.rst:31 +msgid "Common particle attractor properties" +msgstr "" + +#: ../../docs/tutorials/3d/particles/attractors.rst:31 +msgid "Common attractor properties" +msgstr "" + +#: ../../docs/tutorials/3d/particles/attractors.rst:33 +msgid "" +"There are some properties that you can find on all attractors. They're " +"located in the ``GPUParticlesAttractor3D`` section in the inspector." +msgstr "" + +#: ../../docs/tutorials/3d/particles/attractors.rst:36 +msgid "" +"``Strength`` controls how strong the attractor force is. A positive value " +"pulls particles closer to the attractor's center, while a negative value " +"pushes them away." +msgstr "" + +#: ../../docs/tutorials/3d/particles/attractors.rst:39 +msgid "" +"``Attenuation`` controls the strength falloff within the attractor's " +"influence region. Every particle attractor has a boundary. Its strength is " +"weakest at the border of this boundary and strongest at its center. " +"Particles outside of the boundary are not affected by the attractor at all. " +"The attenuation curve controls how the strength weakens over that distance. " +"A straight line means that the strength is proportional to the distance: if " +"a particle is halfway between the boundary and the center, the attractor " +"strength will be half of what it is at the center. Different curve shapes " +"change how fast particles accelerate towards the attractor." +msgstr "" + +#: ../../docs/tutorials/3d/particles/attractors.rst:51 +msgid "Different attractor attenuation curves" +msgstr "" + +#: ../../docs/tutorials/3d/particles/attractors.rst:51 +msgid "" +"Strength increase variations: constantly over the distance to the attractor " +"(left), fast at the boundary border and slowly at the center (middle), " +"slowly at the boundary and fast at the center (right)." +msgstr "" + +#: ../../docs/tutorials/3d/particles/attractors.rst:55 +msgid "" +"The ``Directionality`` property changes the direction towards which " +"particles are pulled. At a value of ``0.0``, there is no directionality, " +"which means that particles are pulled towards the attractor's center. At " +"``1.0``, the attractor is fully directional, which means particles will be " +"pulled along the attractor's local ``-Z``-axis. You can change the global " +"direction by rotating the attractor. If ``Strength`` is negative, particles " +"are instead pulled along the ``+Z``-axis." +msgstr "" + +#: ../../docs/tutorials/3d/particles/attractors.rst:65 +msgid "Different attractor directionality values" +msgstr "" + +#: ../../docs/tutorials/3d/particles/attractors.rst:65 +msgid "" +"No directionality (left) vs. full directionality (right). Notice how the " +"particles move along the attractor's local Z-axis." +msgstr "" + +#: ../../docs/tutorials/3d/particles/attractors.rst:68 +msgid "" +"The ``Cull Mask`` property controls which particle systems are affected by " +"an attractor based on each system's :ref:`visibility layers " +"`. A particle system is only affected by an " +"attractor if at least one of the system's visibility layers is enabled in " +"the attractor's cull mask." +msgstr "" + +#: ../../docs/tutorials/3d/particles/attractors.rst:75 +msgid "" +"There is a `known issue `_ with GPU particle attractors 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/attractors.rst:80 +msgid "Box attractors" +msgstr "" + +#: ../../docs/tutorials/3d/particles/attractors.rst:86 +msgid "Particle attractor box" +msgstr "" + +#: ../../docs/tutorials/3d/particles/attractors.rst:86 +msgid "Box attractor in the node list" +msgstr "" + +#: ../../docs/tutorials/3d/particles/attractors.rst:88 +msgid "" +"Box attractors have a box-shaped influence region. 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 with an " +"influence region that is 2 meters wide on each side." +msgstr "" + +#: ../../docs/tutorials/3d/particles/attractors.rst:92 +msgid "" +"To create a box attractor, add a new child node to your scene and select " +"``GPUParticlesAttractorBox3D`` 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/attractors.rst:99 +msgid "Box attractor parts particle field" +msgstr "" + +#: ../../docs/tutorials/3d/particles/attractors.rst:99 +msgid "" +"A box attractor with a negative strength value parts a particle field as it " +"moves through it." +msgstr "" + +#: ../../docs/tutorials/3d/particles/attractors.rst:102 +msgid "Sphere attractors" +msgstr "" + +#: ../../docs/tutorials/3d/particles/attractors.rst:108 +msgid "Particle attractor sphere" +msgstr "" + +#: ../../docs/tutorials/3d/particles/attractors.rst:108 +msgid "Sphere attractor in the node list" +msgstr "" + +#: ../../docs/tutorials/3d/particles/attractors.rst:110 +msgid "" +"Sphere attractors have a spherical influence region. You control their size " +"with the ``Radius`` property. While box attractors don't have to be perfect " +"cubes, sphere attractors will always be spheres: You can't set width " +"independently from height. If you want to use a sphere attractor for " +"elongated shapes, you have to change its ``Scale`` in the attractor's " +"``Node3D`` section." +msgstr "" + +#: ../../docs/tutorials/3d/particles/attractors.rst:115 +msgid "" +"To create a sphere attractor, add a new child node to your scene and select " +"``GPUParticlesAttractorSphere3D`` from the list of available nodes. You can " +"animate the sphere position or attach it to a moving node for more dynamic " +"effects." +msgstr "" + +#: ../../docs/tutorials/3d/particles/attractors.rst:122 +msgid "Sphere attractor parts particle field" +msgstr "" + +#: ../../docs/tutorials/3d/particles/attractors.rst:122 +msgid "" +"A sphere attractor with a negative strength value parts a particle field as " +"it moves through it." +msgstr "" + +#: ../../docs/tutorials/3d/particles/attractors.rst:125 +msgid "Vector field attractors" +msgstr "" + +#: ../../docs/tutorials/3d/particles/attractors.rst:131 +msgid "Particle attractor vector field" +msgstr "" + +#: ../../docs/tutorials/3d/particles/attractors.rst:131 +msgid "Vector field attractor in the node list" +msgstr "" + +#: ../../docs/tutorials/3d/particles/attractors.rst:133 +msgid "" +"A vector field is a 3D area that contains vectors positioned on a grid. The " +"grid density controls how many vectors there are and how far they're spread " +"apart. Each vector in a vector field points in a specific direction. This " +"can be completely random or aligned in a way that forms distinct patterns " +"and paths." +msgstr "" + +#: ../../docs/tutorials/3d/particles/attractors.rst:138 +msgid "" +"When particles interact with a vector field, their movement direction " +"changes to match the nearest vector in the field. As a particle moves closer " +"to the next vector in the field, it changes direction to match that vector's " +"direction. The particle's speed depends on the vector's length." +msgstr "" + +#: ../../docs/tutorials/3d/particles/attractors.rst:142 +msgid "" +"Like box attractors, vector field attractors have a box-shaped influence " +"region. You control their size with the ``Extents`` property, where a value " +"of ``(X=1.0,Y=1.0,Z=1.0)`` creates a box with an influence region that is 2 " +"meters wide on each side. The ``Texture`` property takes a :ref:`3D texture " +"` where every pixel represents a vector with the pixel's " +"color interpreted as the vector's direction and size." +msgstr "" + +#: ../../docs/tutorials/3d/particles/attractors.rst:149 +msgid "" +"When a texture is used as a vector field, there are two types of conversion " +"you need to be aware of:" +msgstr "" + +#: ../../docs/tutorials/3d/particles/attractors.rst:151 +msgid "" +"The texture coordinates map to the attractor bounds. The image below shows " +"which part of the texture corresponds to which part of the vector field " +"volume. For example, the bottom half of the texture affects the top half of " +"the vector field attractor because ``+Y`` points down in the texture UV " +"space, but up in Godot's world space." +msgstr "" + +#: ../../docs/tutorials/3d/particles/attractors.rst:155 +msgid "" +"The pixel color values map to direction vectors in space. The image below " +"provides an overview. Since particles can move in two directions along each " +"axis, the lower half of the color range represents negative direction values " +"while the upper half represents positive direction values. So a yellow pixel " +"``(R=1,G=1,B=0)`` maps to the vector ``(X=1,Y=1,Z=-1)`` while a neutral gray " +"``(R=0.5,G=0.5,B=0.5)`` results in no movement at all." +msgstr "" + +#: ../../docs/tutorials/3d/particles/attractors.rst:0 +msgid "Mapping from texture to vector field" +msgstr "" + +#: ../../docs/tutorials/3d/particles/attractors.rst:164 +msgid "" +"To create a vector field attractor, add a new child node to your scene and " +"select ``GPUParticlesAttractorVectorField3D`` from the list of available " +"nodes. You can animate the attractor's position or attach it to a moving " +"node for more dynamic effects." +msgstr "" + +#: ../../docs/tutorials/3d/particles/attractors.rst:170 +msgid "" +"If you don't have external tools to create vector field textures, you can " +"use a NoiseTexture3D with a Color Ramp attached as a vector field texture. " +"The Color Ramp can be modified to adjust how much each coordinate is " +"affected by the vector field." +msgstr "" + +#: ../../docs/tutorials/3d/particles/attractors.rst:178 +msgid "Vector field attractor in a field of particles" +msgstr "" + +#: ../../docs/tutorials/3d/particles/attractors.rst:178 +msgid "" +"Two particle systems are affected by the same vector field attractor. :" +"download:`Click here to download the 3D texture `." +msgstr "" + +#: ../../docs/tutorials/3d/particles/collision.rst:4 +msgid "3D Particle collisions" +msgstr "" + +#: ../../docs/tutorials/3d/particles/collision.rst:None +msgid "Particle collisions" +msgstr "" + +#: ../../docs/tutorials/3d/particles/collision.rst:9 +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:25 +msgid "Common particle collision properties" +msgstr "" + +#: ../../docs/tutorials/3d/particles/collision.rst:25 +msgid "Common collision properties" +msgstr "" + +#: ../../docs/tutorials/3d/particles/collision.rst:27 +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 +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 +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 +msgid "Box collision" +msgstr "" + +#: ../../docs/tutorials/3d/particles/collision.rst:48 +msgid "Particle collision box" +msgstr "" + +#: ../../docs/tutorials/3d/particles/collision.rst:48 +msgid "Box collision in the node list" +msgstr "" + +#: ../../docs/tutorials/3d/particles/collision.rst:50 +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 +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 +msgid "Box collision with particle systems" +msgstr "" + +#: ../../docs/tutorials/3d/particles/collision.rst:62 +msgid "Two particle systems collide with a box collision node" +msgstr "" + +#: ../../docs/tutorials/3d/particles/collision.rst:65 +msgid "Sphere collision" +msgstr "" + +#: ../../docs/tutorials/3d/particles/collision.rst:71 +msgid "Particle collision sphere" +msgstr "" + +#: ../../docs/tutorials/3d/particles/collision.rst:71 +msgid "Sphere collision in the node list" +msgstr "" + +#: ../../docs/tutorials/3d/particles/collision.rst:73 +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 +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 +msgid "Sphere collision with particle systems" +msgstr "" + +#: ../../docs/tutorials/3d/particles/collision.rst:85 +msgid "Two particle systems collide with a sphere collision node" +msgstr "" + +#: ../../docs/tutorials/3d/particles/collision.rst:88 +msgid "Height field collision" +msgstr "" + +#: ../../docs/tutorials/3d/particles/collision.rst:94 +msgid "Particle collision height field" +msgstr "" + +#: ../../docs/tutorials/3d/particles/collision.rst:94 +msgid "Height field collision in the node list" +msgstr "" + +#: ../../docs/tutorials/3d/particles/collision.rst:96 +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 +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 +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 +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 +msgid "Height field resolutions" +msgstr "" + +#: ../../docs/tutorials/3d/particles/collision.rst:116 +msgid "" +"At low resolutions, height field collision misses some finer details (left)" +msgstr "" + +#: ../../docs/tutorials/3d/particles/collision.rst:118 +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 +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 +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 +msgid "SDF collision" +msgstr "" + +#: ../../docs/tutorials/3d/particles/collision.rst:140 +msgid "Particle collision SDF" +msgstr "" + +#: ../../docs/tutorials/3d/particles/collision.rst:140 +msgid "SDF collision in the node list" +msgstr "" + +#: ../../docs/tutorials/3d/particles/collision.rst:142 +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 +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 +msgid "SDF particle collision" +msgstr "" + +#: ../../docs/tutorials/3d/particles/collision.rst:157 +msgid "" +"SDF particle collision allows for very detailed 3-dimensional collision " +"shapes" +msgstr "" + +#: ../../docs/tutorials/3d/particles/collision.rst:159 +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 +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 +msgid "Resolution comparison" +msgstr "" + +#: ../../docs/tutorials/3d/particles/collision.rst:170 +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 +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 +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/complex_shapes.rst:4 +#: ../../docs/tutorials/3d/particles/complex_shapes.rst:None +msgid "Complex emission shapes" +msgstr "" + +#: ../../docs/tutorials/3d/particles/complex_shapes.rst:9 +msgid "" +"When it is not enough to emit particles from one of the simple shapes " +"available in the :ref:`process material " +"`, Godot provides a way to emit " +"particles from arbitrary, complex shapes. The shapes are generated from " +"meshes in the scene and stored as textures in the particle process material. " +"This is a very versatile workflow that has allowed users to use particle " +"systems for things that go beyond traditional use cases, like foliage, " +"leaves on a tree, or complex holographic effects." +msgstr "" + +#: ../../docs/tutorials/3d/particles/complex_shapes.rst:19 +msgid "" +"When you create emission points from meshes, you can only select a single " +"node as emission source. If you want particles to emit from multiple shapes, " +"you either have to create several particle systems or combine the meshes " +"into one in an external DCC software." +msgstr "" + +#: ../../docs/tutorials/3d/particles/complex_shapes.rst:28 +msgid "Creating emission points" +msgstr "" + +#: ../../docs/tutorials/3d/particles/complex_shapes.rst:28 +msgid "Create particle emission points..." +msgstr "" + +#: ../../docs/tutorials/3d/particles/complex_shapes.rst:34 +msgid "Select mesh for emission" +msgstr "" + +#: ../../docs/tutorials/3d/particles/complex_shapes.rst:34 +msgid "\\...from a mesh instance as the source" +msgstr "" + +#: ../../docs/tutorials/3d/particles/complex_shapes.rst:40 +msgid "Set emission density" +msgstr "" + +#: ../../docs/tutorials/3d/particles/complex_shapes.rst:40 +msgid "More points = higher particle density" +msgstr "" + +#: ../../docs/tutorials/3d/particles/complex_shapes.rst:42 +msgid "" +"To make use of this feature, start by creating a particle system in the " +"current scene. Add a mesh instance that serves as the source of the particle " +"emission points. With the particle system selected, navigate to the viewport " +"menu and select the *GPUParticles3D* entry. From there, select ``Create " +"Emission Points From Node``." +msgstr "" + +#: ../../docs/tutorials/3d/particles/complex_shapes.rst:47 +msgid "" +"A dialog window will pop up and ask you to select a node as the emission " +"source. Choose one of the mesh instances in the scene and confirm your " +"selection. The next dialog window deals with the amount of points and how to " +"generate them." +msgstr "" + +#: ../../docs/tutorials/3d/particles/complex_shapes.rst:51 +msgid "" +"``Emission Points`` controls the total number of points that you are about " +"to generate. Particles will spawn from these points, so what to enter here " +"depends on the size of the source mesh (how much area you have to cover) and " +"the desired density of the particles." +msgstr "" + +#: ../../docs/tutorials/3d/particles/complex_shapes.rst:56 +msgid "" +"``Emission Source`` offers 3 different options for how the points are " +"generated. Select ``Surface Points`` if all you want to do is distribute the " +"emission points across the surface of the mesh. Select ``Surface Points + " +"Normal (Directed)`` if you also want to generate information about the " +"surface normals and make particles move in the direction that the normals " +"point at. The last option, ``Volume``, creates emission points everywhere " +"inside the mesh, not just across its surface." +msgstr "" + +#: ../../docs/tutorials/3d/particles/complex_shapes.rst:63 +msgid "" +"The emission points are stored in the particle system's local coordinate " +"system, so you can move the particle node around and the emission points " +"will follow. This might be useful when you want to use the same particle " +"system in several different places. On the other hand, you might have to " +"regenerate the emission points when you move either the particle system or " +"the source mesh." +msgstr "" + +#: ../../docs/tutorials/3d/particles/complex_shapes.rst:70 +msgid "Emission shape textures" +msgstr "" + +#: ../../docs/tutorials/3d/particles/complex_shapes.rst:76 +msgid "Emission textures" +msgstr "" + +#: ../../docs/tutorials/3d/particles/complex_shapes.rst:76 +msgid "The available emission shape textures" +msgstr "" + +#: ../../docs/tutorials/3d/particles/complex_shapes.rst:78 +msgid "" +"All the data for complex particle emission shapes is stored in a set of " +"textures. How many, depends on the type of emission shape you use. If you " +"set the ``Shape`` property in the ``Emission Shape`` group on the particle " +"process material to ``Points``, you have access to 2 texture properties, the " +"``Point Texture`` and the ``Color Texture``. Set it to ``Directed Points`` " +"and there is a third property called ``Normal Texture``." +msgstr "" + +#: ../../docs/tutorials/3d/particles/complex_shapes.rst:84 +msgid "" +"``Point Texture`` contains all possible emission points that were generated " +"in the previous step. A point is randomly selected for every particle when " +"it spawns. ``Normal Texture``, if it exists, provides a direction vector at " +"that same location. If the ``Color Texture`` property is also set, it " +"provides color for the particle, sampled at the same location as the other " +"two textures and modulating any other color that was set up on the process " +"material." +msgstr "" + +#: ../../docs/tutorials/3d/particles/complex_shapes.rst:91 +msgid "" +"There is also the ``Point Count`` property that you can use to change the " +"number of emission points at any time after creating the emission shape. " +"This includes dynamically at runtime while the playing the game." +msgstr "" + #: ../../docs/tutorials/3d/high_dynamic_range.rst:6 msgid "High dynamic range lighting" msgstr "" @@ -33831,7 +37194,7 @@ msgid "" msgstr "" #: ../../docs/tutorials/3d/global_illumination/index.rst:4 -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:517 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:536 msgid "Global illumination" msgstr "" @@ -34194,7 +37557,7 @@ msgid "" msgstr "" #: ../../docs/tutorials/3d/global_illumination/introduction_to_global_illumination.rst:320 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:201 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:202 msgid "good" msgstr "" @@ -34286,7 +37649,7 @@ msgid "**LightmapGI:** |bad| Baked, and therefore not real-time." msgstr "" #: ../../docs/tutorials/3d/global_illumination/introduction_to_global_illumination.rst:324 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:199 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:200 msgid "bad" msgstr "" @@ -34835,6 +38198,23 @@ msgid "" "more pronounced." msgstr "" +#: ../../docs/tutorials/3d/global_illumination/using_voxel_gi.rst:197 +msgid "" +"If you notice VoxelGI nodes popping in and out of existence as the camera " +"moves, this is most likely because the engine is rendering too many VoxelGI " +"instances at once. Godot is limited to rendering 8 VoxelGI nodes at once, " +"which means up to 8 instances can be in the camera view before some of them " +"will start flickering." +msgstr "" + +#: ../../docs/tutorials/3d/global_illumination/using_voxel_gi.rst:203 +msgid "" +"Additionally, for performance reasons, Godot can only blend between 2 " +"VoxelGI nodes at a given pixel on the screen. If you have more than 2 " +"VoxelGI nodes overlapping, global illumination may appear to flicker as the " +"camera moves or rotates." +msgstr "" + #: ../../docs/tutorials/3d/global_illumination/using_sdfgi.rst:4 msgid "Signed distance field global illumination (SDFGI)" msgstr "" @@ -35779,11 +39159,11 @@ msgid "" "bake lightmaps again." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:388 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:387 msgid "Denoising" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:390 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:389 msgid "" "Since baking lightmaps relies on raytracing, there will always be visible " "noise in the \"raw\" baked lightmap. Noise is especially visible in areas " @@ -35792,17 +39172,17 @@ msgid "" "increasing bake quality, but doing so will increase bake times significantly." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:400 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:399 msgid "Comparison between denoising disabled and enabled" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:400 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:399 msgid "" "Comparison between denoising disabled and enabled (with the default JNLM " "denoiser)." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:402 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:401 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, " @@ -35810,11 +39190,11 @@ msgid "" "detail. Godot offers two denoising algorithms:" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:408 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:407 msgid "JNLM (Non-Local Means with Joint Filtering)" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:410 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:409 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 " @@ -35823,7 +39203,7 @@ msgid "" "required." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:415 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:414 msgid "" "JNLM's denoising can be adjusted using the **Denoiser Strength** property " "that is visible when **Use Denoiser** enabled. Higher values can be more " @@ -35831,39 +39211,39 @@ msgid "" "static shadows." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:423 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:422 msgid "Comparison between JNLM denoiser strength values" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:423 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:422 msgid "" "Comparison between JNLM denoiser strength values. Higher values can reduce " "detail." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:426 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:425 msgid "OIDN (Open Image Denoise)" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:428 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:427 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:432 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:431 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:435 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:434 msgid "On AMD GPUs, HIP must be installed and configured." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:436 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:435 msgid "" "On NVIDIA GPUs, CUDA must be installed and configured. This may " "automatically be done by the NVIDIA installer, but on Linux, CUDA libraries " @@ -35871,11 +39251,11 @@ msgid "" "your Linux distribution are installed." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:440 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:439 msgid "On Intel GPUs, SYCL must be installed and configured." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:442 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:441 msgid "" "If hardware acceleration is not available, OIDN will fall back to " "multithreaded CPU-based denoising. To confirm whether GPU-based denoising is " @@ -35885,7 +39265,7 @@ msgid "" "useful for this." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:448 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:447 msgid "" "OIDN is not included with Godot due to its relatively large download size. " "You can download precompiled OIDN binary packages from its `website " @@ -35904,7 +39284,7 @@ msgid "" "on this project after the setting is changed." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:463 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:462 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 " @@ -35912,28 +39292,28 @@ msgid "" "consistent results." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:472 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:471 msgid "Comparison between JNLM and OIDN denoisers" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:472 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:471 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:478 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:477 msgid "Dynamic objects" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:480 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:479 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:484 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:483 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, " @@ -35943,11 +39323,11 @@ msgid "" "be lit in real-time)." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:491 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:490 msgid "There are 2 ways to add light probes to a scene:" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:493 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:492 msgid "" "**Automatic:** Set **Gen Probes > Subdiv** to a value other than " "**Disabled**, then bake lightmaps. The default is ``8``, but you can choose " @@ -35955,7 +39335,7 @@ msgid "" "larger output file size." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:497 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:496 msgid "" "**Manual:** In addition or as an alternative to generating probes " "automatically, you can add light probes manually by adding :ref:" @@ -35965,25 +39345,25 @@ msgid "" "them to be effective." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:505 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:504 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:509 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:508 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:516 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:515 msgid "Lightmap data" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:518 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:517 msgid "" "The **Data > Light Data** property in the LightmapGI node contains the " "lightmap data after baking. Textures are saved to disk, but this also " @@ -35993,13 +39373,26 @@ msgid "" "binary data encoded in Base64." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:527 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:526 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 +msgid "Reducing LightmapGI artifacts" +msgstr "" + +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:533 +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 "" + #: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:4 msgid "Reflection probes" msgstr "" @@ -36947,26 +40340,33 @@ msgid "" "transmittance. In practice, it makes light stand out more across the fog." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:305 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:306 +msgid "" +"Fog can cause banding to appear on the viewport, especially at higher " +"density levels. See :ref:`doc_3d_rendering_limitations_color_banding` for " +"guidance on reducing banding." +msgstr "" + +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:311 msgid "Volumetric Fog" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:307 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:313 msgid "" "Volumetric fog provides a realistic fog effect to the scene, with fog color " "being affected by the lights that traverse the fog." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:312 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:318 msgid "" "See :ref:`doc_volumetric_fog` for documentation on setting up volumetric fog." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:315 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:321 msgid "Tonemap" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:317 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:323 msgid "" "Tonemap selects the tonemapping curve that will be applied to the scene, " "from a list of standard curves used in the film and game industries. " @@ -36974,35 +40374,35 @@ msgid "" "areas more homogeneous, while also avoiding clipping of bright highlights." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:322 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:328 msgid "The tone mapping options are:" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:324 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:330 msgid "**Mode:** The tone mapping mode to use." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:326 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:332 msgid "" "**Linear:** The default tonemapping mode. This is the fastest and simplest " "tonemapping operator, but it causes bright lighting to look blown out, with " "noticeable clipping in the output colors." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:329 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:335 msgid "" "**Reinhardt:** Performs a variation on rendered pixels' colors by this " "formula: ``color = color / (1 + color)``. This avoids clipping bright " "highlights, but the resulting image can look a bit dull." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:332 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:338 msgid "" "**Filmic:** This avoids clipping bright highlights, with a resulting image " "that usually looks more vivid than Reinhardt." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:334 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:340 msgid "" "**ACES:** Academy Color Encoding System tonemapper. ACES is slightly more " "expensive than other options, but it handles bright lighting in a more " @@ -37012,7 +40412,7 @@ msgid "" "mode was called \"ACES Fitted\" in Godot 3.x." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:341 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:347 msgid "" "**Exposure:** Tone mapping exposure which simulates amount of light received " "over time (default: ``1.0``). Higher values result in an overall brighter " @@ -37020,7 +40420,7 @@ msgid "" "operator or whitepoint change, try increasing this value slightly." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:346 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:352 msgid "" "**White:** Tone mapping whitepoint, which simulates where in the scale white " "is located (default: ``1.0``). For photorealistic lighting, recommended " @@ -37028,17 +40428,17 @@ msgid "" "out highlights, but make the scene appear slightly darker as a whole." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:352 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:358 msgid "Mid- and post-processing effects" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:354 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:360 msgid "" "The Environment resource supports many popular mid- and post-processing " "effects." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:358 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:364 msgid "" "Screen-space effects such as :abbr:`SSR (Screen-Space Reflections)`, :abbr:" "`SSAO (Screen-Space Ambient Occlusion)`, :abbr:`SSIL (Screen-Space Indirect " @@ -37047,21 +40447,21 @@ msgid "" "tweaking their settings to avoid distracting changes during gameplay." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:366 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:372 msgid "Screen-Space Reflections (SSR)" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:368 -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:410 -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:484 -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:530 -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:831 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:374 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:416 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:490 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:536 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:837 msgid "" "*This feature is only available when using the Forward+ backend, not Mobile " "or Compatibility.*" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:371 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:377 msgid "" "While Godot supports several sources of reflection data such as :ref:" "`doc_reflection_probes`, they may not provide enough detail for all " @@ -37070,7 +40470,7 @@ msgid "" "table, floating on water, etc)." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:379 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:385 msgid "" "On top of providing more detail, screen-space reflections also work in real-" "time (while other types of reflections are usually precomputed). This can be " @@ -37078,7 +40478,7 @@ msgid "" "moving around." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:383 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:389 msgid "" "Screen-space reflections can be used at the same time as other reflection " "sources to benefit from detailed reflections when possible, while having a " @@ -37086,30 +40486,30 @@ msgid "" "reflect off-screen objects)." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:388 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:394 msgid "" "A few user-controlled parameters are available to better tweak the technique:" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:390 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:396 msgid "" "**Max Steps:** Determines the length of the reflection. The bigger this " "number, the more costly it is to compute." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:392 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:398 msgid "" "**Fade In:** Allows adjusting the fade-in curve, which is useful to make the " "contact area softer." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:394 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:400 msgid "" "**Fade Out:** Allows adjusting the fade-out curve, so the step limit fades " "out softly." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:396 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:402 msgid "" "**Depth Tolerance:** Can be used to allow screen-space rays to pass behind " "objects. The rays will treat each object as if it has this depth in " @@ -37118,7 +40518,7 @@ msgid "" "creating physically incorrect reflections." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:402 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:408 msgid "" "Keep in mind that screen-space-reflections only work for reflecting opaque " "geometry. Transparent materials won't be reflected, as they don't write to " @@ -37126,11 +40526,11 @@ msgid "" "``hint_screen_texture`` or ``hint_depth_texture`` uniforms." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:408 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:414 msgid "Screen-Space Ambient Occlusion (SSAO)" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:413 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:419 msgid "" "As mentioned in the **Ambient** section, areas where light from light nodes " "does not reach (either because it's outside the radius or shadowed) are lit " @@ -37140,28 +40540,28 @@ msgid "" "at the smaller geometry level." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:420 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:426 msgid "" "Constant ambient color and Sky are the same everywhere, while GI and " "Reflection probes have more local detail, but not enough to simulate " "situations where light is not able to fill inside hollow or concave features." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:424 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:430 msgid "" "This can be simulated with Screen Space Ambient Occlusion. As you can see in " "the image below, its purpose is to make sure concave areas are darker, " "simulating a narrower path for the light to enter:" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:430 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:436 msgid "" "It is a common mistake to enable this effect, turn on a light, and not be " "able to appreciate it. This is because :abbr:`SSAO (Screen-Space Ambient " "Occlusion)` only acts on *ambient* light. It does not affect direct light." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:434 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:440 msgid "" "This is why, in the image above, the effect is less noticeable under the " "direct light (on the left). If you want to force :abbr:`SSAO (Screen-Space " @@ -37170,26 +40570,26 @@ msgid "" "it looks." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:440 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:446 msgid "" ":abbr:`SSAO (Screen-Space Ambient Occlusion)` looks best when combined with " "a real source of indirect light, like VoxelGI:" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:445 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:451 msgid "" "Tweaking :abbr:`SSAO (Screen-Space Ambient Occlusion)` is possible with " "several parameters:" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:450 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:456 msgid "" "**Radius:** The distance at which objects can occlude each other when " "calculating screen-space ambient occlusion. Higher values will result in " "occlusion over a greater distance at the cost of performance and quality." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:453 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:459 msgid "" "**Intensity:** The primary screen-space ambient occlusion intensity. Acts as " "a multiplier for the screen-space ambient occlusion effect. A higher value " @@ -37199,27 +40599,27 @@ msgid "" "that is too strong can be distracting during gameplay." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:460 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:466 msgid "" "**Power:** The distribution of occlusion. A higher value results in darker " "occlusion, similar to **Intensity**, but with a sharper falloff." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:462 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:468 msgid "" "**Detail:** Sets the strength of the additional level of detail for the " "screen-space ambient occlusion effect. A high value makes the detail pass " "more prominent, but it may contribute to aliasing in your final image." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:465 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:471 msgid "" "**Horizon:** The threshold for considering whether a given point on a " "surface is occluded or not represented as an angle from the horizon mapped " "into the 0.0-1.0 range. A value of 1.0 results in no occlusion." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:468 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:474 msgid "" "**Sharpness:** The amount that the screen-space ambient occlusion effect is " "allowed to blur over the edges of objects. Setting too high will result in " @@ -37227,7 +40627,7 @@ msgid "" "appear blurry." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:472 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:478 msgid "" "**Light Affect:** The screen-space ambient occlusion intensity in direct " "light. In real life, ambient occlusion only applies to indirect light, which " @@ -37237,11 +40637,11 @@ msgid "" "artists prefer this effect." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:482 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:488 msgid "Screen-Space Indirect Lighting (SSIL)" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:487 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:493 msgid "" ":abbr:`SSIL (Screen-Space Indirect Lighting)` provides indirect lighting for " "small details or dynamic geometry that other global illumination techniques " @@ -37250,7 +40650,7 @@ msgid "" "its own, the effect may not be that noticeable, which is intended." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:493 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:499 msgid "" "Instead, :abbr:`SSIL (Screen-Space Indirect Lighting)` is meant to be used " "as a *complement* to other global illumination techniques such as VoxelGI, " @@ -37259,7 +40659,7 @@ msgid "" "detail." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:498 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:504 msgid "" "This feature only provides indirect lighting. It is not a full global " "illumination solution. This makes it different from screen-space global " @@ -37269,13 +40669,13 @@ msgid "" "greater visual quality (at the cost of performance)." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:505 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:511 msgid "" "Tweaking :abbr:`SSIL (Screen-Space Indirect Lighting)` is possible with " "several parameters:" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:507 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:513 msgid "" "**Radius:** The distance that bounced lighting can travel when using the " "screen space indirect lighting effect. A larger value will result in light " @@ -37283,13 +40683,13 @@ msgid "" "which look like long spikes surrounding light sources." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:511 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:517 msgid "" "**Intensity:** The brightness multiplier for the screen-space indirect " "lighting effect. A higher value will result in brighter light." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:513 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:519 msgid "" "**Sharpness:** The amount that the screen-space indirect lighting effect is " "allowed to blur over the edges of objects. Setting too high will result in " @@ -37297,7 +40697,7 @@ msgid "" "appear blurry." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:517 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:523 msgid "" "**Normal Rejection:** Amount of normal rejection used when calculating " "screen-space indirect lighting. Normal rejection uses the normal of a given " @@ -37308,11 +40708,11 @@ msgid "" "objects that emit light from faces that cannot be seen from the camera." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:528 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:534 msgid "Signed Distance Field Global Illumination (SDFGI)" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:533 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:539 msgid "" "Signed distance field global illumination (SDFGI) is a form of real-time " "global illumination. It is not a screen-space effect, which means it can " @@ -37320,36 +40720,36 @@ msgid "" "(Screen-Space Indirect Lighting)`)." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:539 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:545 msgid "" "See :ref:`doc_using_sdfgi` for instructions on setting up this global " "illumination technique." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:547 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:553 msgid "Glow" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:549 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:555 msgid "" "*This feature is only available when using the Forward+ and Mobile backends, " "not Compatibility.*" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:552 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:558 msgid "" "In photography and film, when light amount exceeds the maximum *luminance* " "(brightness) supported by the media, it generally bleeds outwards to darker " "regions of the image. This is simulated in Godot with the **Glow** effect." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:558 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:564 msgid "" "By default, even if the effect is enabled, it will be weak or invisible. One " "of two conditions need to happen for it to actually show:" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:561 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:567 msgid "" "The light in a pixel surpasses the **HDR Threshold** (where 0 is all light " "surpasses it, and 1.0 is light over the tonemapper **White** value). " @@ -37359,27 +40759,27 @@ msgid "" "threshold." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:570 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:576 msgid "" "The **Bloom** property has a value greater than ``0.0``. As it increases, it " "sends the whole screen to the glow processor at higher amounts." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:575 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:581 msgid "Both will cause the light to start bleeding out of the brighter areas." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:577 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:583 msgid "Once glow is visible, it can be controlled with a few extra parameters:" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:579 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:585 msgid "" "**Intensity** is an overall scale for the effect, it can be made stronger or " "weaker (``0.0`` removes it)." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:581 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:587 msgid "" "**Strength** is how strong the gaussian filter kernel is processed. Greater " "values make the filter saturate and expand outwards. In general, changing " @@ -37387,37 +40787,37 @@ msgid "" "**Levels**." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:585 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:591 msgid "The **Blend Mode** of the effect can also be changed:" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:587 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:593 msgid "" "**Additive** is the strongest one, as it only adds the glow effect over the " "image with no blending involved. In general, it's too strong to be used, but " "can look good with low-intensity **Bloom** (produces a dream-like effect)." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:590 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:596 msgid "" "**Screen** ensures glow never brightens more than itself and it works great " "as an all around." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:592 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:598 msgid "" "**Softlight** is the default and weakest one, producing only a subtle color " "disturbance around the objects. This mode works best on dark scenes." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:594 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:600 msgid "" "**Replace** can be used to :ref:`blur the whole screen " "` or " "debug the effect. It only shows the glow effect without the image below." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:597 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:603 msgid "" "**Mix** mixes the glow effect with the main image. This can be used for " "greater artistic control. The mix factor is controlled by the **Mix** " @@ -37426,20 +40826,20 @@ msgid "" "**Bloom** is increased." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:603 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:609 msgid "" "To change the glow effect size and shape, Godot provides **Levels**. Smaller " "levels are strong glows that appear around objects, while large levels are " "hazy glows covering the whole screen:" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:609 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:615 msgid "" "The real strength of this system, though, is to combine levels to create " "more interesting glow patterns:" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:614 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:620 msgid "" "Finally, the glow effect can be controlled using a *glow map*, which is a " "texture that determines how bright glow should be on each part of the " @@ -37449,29 +40849,29 @@ msgid "" "as 16:9) is recommended to avoid visible distortion." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:621 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:627 msgid "There are 2 main use cases for a glow map texture:" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:623 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:629 msgid "Create a \"lens dirt\" effect using a dirt pattern texture." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:624 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:630 msgid "" "Make glow less strong on specific parts of the screen by using a gradient " "texture." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:631 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:637 msgid "Using glow in 2D" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:633 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:639 msgid "There are 2 ways to use glow in 2D:" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:635 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:641 msgid "" "Since Godot 4.2, you can enable HDR for 2D rendering when using the Forward+ " "and Mobile rendering methods. This has a performance cost, but it allows for " @@ -37481,19 +40881,19 @@ msgid "" "2D rendering output." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:642 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:648 msgid "" "To enable HDR in 2D, open the Project Settings, enable **Rendering > " "Viewport > HDR 2D** then restart the editor." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:645 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:651 msgid "" "If you want to maximize performance, you can leave HDR disabled for 2D " "rendering. However, you will have less control on which objects glow." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:648 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:654 msgid "" "Enable glow, set the environment background mode to **Canvas** then decrease " "**Glow HDR Threshold** so that pixels that are not overbright will still " @@ -37503,18 +40903,18 @@ msgid "" "resource." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:659 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:665 msgid "Example of using glow in a 2D scene" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:659 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:665 msgid "" "Example of using glow in a 2D scene. HDR 2D is enabled, while coins and the " "bullet have their **Modulate** property increased to overbright values using " "the RAW mode in the color picker." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:665 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:671 msgid "" "The 2D renderer renders in linear color space if the **Rendering > Viewport " "> HDR 2D** project setting is enabled, so ``source_color`` must also be used " @@ -37522,18 +40922,18 @@ msgid "" "shaders. If this is not done, the texture will appear washed out." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:671 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:677 msgid "" "If 2D HDR is disabled, ``source_color`` will keep working correctly in " "``canvas_item`` shaders, so it's recommend to use it when relevant either " "way." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:678 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:684 msgid "Using glow to blur the screen" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:680 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:686 msgid "" "Glow can be used to blur the whole viewport, which is useful for background " "blur when a menu is open. Only 3D rendering will be affected unless the " @@ -37544,11 +40944,11 @@ msgid "" "property of the Environment resource." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:687 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:693 msgid "To use glow as a blurring solution:" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:689 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:695 msgid "" "Enable **Normalized** and adjust levels according to preference. Increasing " "higher level indices will result in a more blurred image. It's recommended " @@ -37557,43 +40957,43 @@ msgid "" "depending on viewport resolution." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:694 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:700 msgid "Set **Intensity** to ``1.0`` and **Bloom** to ``1.0``." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:695 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:701 msgid "Set the blend mode to **Replace** and **HDR Luminance Cap** to ``1.0``." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:701 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:707 msgid "Example of using glow to blur the 2D rendering in the menu's background" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:704 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:710 msgid "Adjustments" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:706 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:712 msgid "" "At the end of processing, Godot offers the possibility to do some standard " "image adjustments." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:711 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:717 msgid "**Basic BCS adjustments**" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:713 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:719 msgid "" "The first adjustment is being able to change the typical **Brightness**, " "**Contrast**, and **Saturation** properties:" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:718 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:724 msgid "**Color correction using a 1D gradient**" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:720 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:726 msgid "" "The second adjustment is by supplying a color correction gradient. This can " "be done by assigning a GradientTexture1D resource to the **Color " @@ -37603,22 +41003,22 @@ msgid "" "source image." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:726 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:732 msgid "" "A linear black-to-white gradient like the following one will produce no " "effect:" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:730 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:736 msgid "" "But creating custom ones will allow to map each channel to a different color:" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:734 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:740 msgid "**Color correction using a 3D LUT**" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:736 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:742 msgid "" "A 3D look-up-texture (LUT) can also be used for color correction. This is a " "special texture used to modify each color channel separately from one " @@ -37629,13 +41029,13 @@ msgid "" "interpolation)." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:743 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:749 msgid "" "For this to work, the look-up texture's import mode must be set to Texture3D " "in the Import dock (instead of being imported as a regular Texture2D):" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:748 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:754 msgid "" "Make sure to configure the number of horizontal and vertical slices to " "import as well. If you don't do this, the LUT texture will not affect the " @@ -37644,13 +41044,13 @@ msgid "" "inspector to flip through the texture's layers." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:754 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:760 msgid "" "You can use this neutral 33×33×33 LUT template as a base (right-click and " "choose **Save as…**):" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:759 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:765 msgid "" "With the above LUT template, after changing its import mode to " "**Texture3D**, set its number of **Horizontal** slices to ``33`` in the " @@ -37659,7 +41059,7 @@ msgid "" "this texture is designed to be a neutral starting point." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:765 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:771 msgid "" "This LUT template can be modified in an image editor to provide a different " "mood to the image. A common workflow is to place the LUT image next to a " @@ -37669,87 +41069,87 @@ msgid "" "real-time." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:771 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:777 msgid "" "For example, modifying the LUT template in an image editor to give it a " "\"sepia\" look results in the image on the right:" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:778 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:784 msgid "" "Adjustments and color correction are applied *after* tonemapping. This means " "the tonemapping properties defined above still have an effect when " "adjustments are enabled." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:783 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:789 msgid "Camera attribute options" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:786 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:792 msgid "Depth of Field / Far Blur" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:788 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:794 msgid "" "This effect simulates focal distance on cameras. It blurs objects behind a " "given range. It has an initial **Distance** with a **Transition** region (in " "world units):" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:794 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:800 msgid "" "The **Amount** parameter controls the amount of blur. For larger blurs, " "tweaking the depth of field quality in the advanced project settings may be " "needed to avoid artifacts." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:799 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:805 msgid "Depth of Field / Near Blur" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:801 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:807 msgid "" "This effect simulates focal distance on cameras. It blurs objects close to " "the camera (acts in the opposite direction as far blur). It has an initial " "**Distance** with a **Transition** region (in world units):" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:807 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:813 msgid "" "The **Amount** parameter controls the amount of blur. For larger blurs, " "tweaking the **Quality** may be needed in order to avoid artifacts." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:810 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:816 msgid "" "It is common to use both blurs together to focus the viewer's attention on a " "given object, or create a so-called `\"tilt shift\" effect `__." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:818 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:824 msgid "" "When using CameraAttributesPhysical instead of CameraAttributesPractical, " "depth of field is automatically computed from the camera attributes' focus " "distance, focal length, and aperture." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:823 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:829 msgid "Exposure" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:825 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:831 msgid "" "This multiplies the overall scene brightness visible from the camera. Higher " "values result in a visually brighter scene." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:829 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:835 msgid "Auto Exposure" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:834 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:840 msgid "" "Even though, in most cases, lighting and texturing are heavily artist " "controlled, Godot supports a basic high dynamic range implementation with " @@ -37759,14 +41159,14 @@ msgid "" "and dark locations and their different amounts of light." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:843 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:849 msgid "" "Auto exposure needs to evaluate the scene's brightness every frame, which " "has a moderate performance cost. Therefore, it's recommended to leave Auto " "Exposure disabled if it doesn't make much of a difference in your scene." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:849 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:855 msgid "" "The simplest way to use auto exposure is to make sure outdoor lights (or " "other strong lights) have energy beyond 1.0. This is done by tweaking their " @@ -37776,7 +41176,7 @@ msgid "" "simulate indoor-outdoor conditions." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:855 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:861 msgid "" "By combining Auto Exposure with :ref:" "`doc_environment_and_post_processing_glow` post-processing, pixels that go " @@ -37784,19 +41184,19 @@ msgid "" "typical bloom effect in photography." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:861 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:867 msgid "" "The user-controllable values in the Auto Exposure section come with sensible " "defaults, but you can still tweak them:" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:866 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:872 msgid "" "**Scale:** Value to scale the lighting. Higher values produce brighter " "images, and lower values produce darker ones." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:868 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:874 msgid "" "**Min Sensitivity / Min Exposure Value:** Minimum luminance that auto " "exposure will aim to adjust for (in ISO when using " @@ -37804,21 +41204,21 @@ msgid "" "Luminance is the average of the light in all the pixels of the screen." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:872 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:878 msgid "" "**Max Sensitivity / Max Exposure Value:** Maximum luminance that auto " "exposure will aim to adjust for (in ISO when using " "CameraAttributesPractical, or in EV100 when using CameraAttributesPhysical)." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:875 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:881 msgid "" "**Speed:** Speed at which luminance corrects itself. The higher the value, " "the faster luminance correction happens. High values may be more suited to " "fast-paced games, but can be distracting in some scenarios." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:879 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:885 msgid "" "When using CameraAttributesPractical, exposure is set using *sensitivity* " "defined in ISO instead of an exposure value in EV100. Typical ISO values are " @@ -37827,7 +41227,7 @@ msgid "" "800." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:886 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:892 msgid "" "See :ref:`doc_physical_light_and_camera_units` if you wish to use real world " "units to configure your camera's exposure, field of view and depth of field." @@ -38081,47 +41481,54 @@ msgid "" "aliasing artifacts. Disable when more detail is required." msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:153 +#: ../../docs/tutorials/3d/volumetric_fog.rst:154 +msgid "" +"Volumetric fog can cause banding to appear on the viewport, especially at " +"higher density levels. See :ref:`doc_3d_rendering_limitations_color_banding` " +"for guidance on reducing banding." +msgstr "" + +#: ../../docs/tutorials/3d/volumetric_fog.rst:159 msgid "Using fog volumes for local volumetric fog" msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:155 +#: ../../docs/tutorials/3d/volumetric_fog.rst:161 msgid "" "Sometimes, you want fog to be constrained to specific areas. Conversely, you " "may want to have global volumetric fog but fog should be excluded from " "certain areas. Both approaches can be followed using FogVolume nodes." msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:159 +#: ../../docs/tutorials/3d/volumetric_fog.rst:165 msgid "Here's a quick start guide to using FogVolumes:" msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:161 +#: ../../docs/tutorials/3d/volumetric_fog.rst:167 msgid "" "Make sure **Volumetric Fog** is enabled in the Environment properties. If " "global volumetric fog is undesired, set its **Density** to ``0.0``." msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:163 +#: ../../docs/tutorials/3d/volumetric_fog.rst:169 msgid "Create a FogVolume node." msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:164 +#: ../../docs/tutorials/3d/volumetric_fog.rst:170 msgid "Assign a new FogMaterial to the FogVolume node's **Material** property." msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:165 +#: ../../docs/tutorials/3d/volumetric_fog.rst:171 msgid "" "In the FogMaterial, set **Density** to a positive value to increase density " "within the FogVolume, or a negative value to subtract the density from " "global volumetric fog." msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:168 +#: ../../docs/tutorials/3d/volumetric_fog.rst:174 msgid "Configure the FogVolume's extents and shape as needed." msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:172 +#: ../../docs/tutorials/3d/volumetric_fog.rst:178 msgid "" "Thin fog volumes may appear to flicker when the camera moves or rotates. " "This can be alleviated by increasing the **Rendering > Environment > " @@ -38131,11 +41538,11 @@ msgid "" "FogVolume can be made thicker and use a lower density in the **Material**." msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:181 +#: ../../docs/tutorials/3d/volumetric_fog.rst:187 msgid "FogVolume properties" msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:183 +#: ../../docs/tutorials/3d/volumetric_fog.rst:189 msgid "" "**Extents:** The size of the FogVolume when **Shape** is **Ellipsoid**, " "**Cone**, **Cylinder** or **Box**. If **Shape** is **Cone** or **Cylinder**, " @@ -38144,25 +41551,25 @@ msgid "" "supported, but you can scale the FogVolume node instead." msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:188 +#: ../../docs/tutorials/3d/volumetric_fog.rst:194 msgid "" "**Shape:** The shape of the FogVolume. This can be set to **Ellipsoid**, " "**Cone**, **Cylinder**, **Box** or **World** (acts as global volumetric fog)." msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:190 +#: ../../docs/tutorials/3d/volumetric_fog.rst:196 msgid "" "**Material:** The material used by the FogVolume. Can be either a built-in " "FogMaterial or a custom ShaderMaterial (:ref:`doc_fog_shader`)." msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:193 +#: ../../docs/tutorials/3d/volumetric_fog.rst:199 msgid "" "After choosing **New FogMaterial** in the **Material** property, you can " "adjust the following properties in FogMaterial:" msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:196 +#: ../../docs/tutorials/3d/volumetric_fog.rst:202 msgid "" "**Density:** The density of the FogVolume. Denser objects are more opaque, " "but may suffer from under-sampling artifacts that look like stripes. " @@ -38170,21 +41577,21 @@ msgid "" "volumetric fog." msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:200 +#: ../../docs/tutorials/3d/volumetric_fog.rst:206 msgid "" "**Albedo:** The single-scattering Color of the FogVolume. Internally, member " "albedo is converted into single-scattering, which is additively blended with " "other FogVolumes and global volumetric fog's **Albedo**." msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:203 +#: ../../docs/tutorials/3d/volumetric_fog.rst:209 msgid "" "**Emission:** The Color of the light emitted by the FogVolume. Emitted light " "will not cast light or shadows on other objects, but can be useful for " "modulating the Color of the FogVolume independently from light sources." msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:206 +#: ../../docs/tutorials/3d/volumetric_fog.rst:212 msgid "" "**Height Falloff:** The rate by which the height-based fog decreases in " "density as height increases in world space. A high falloff will result in a " @@ -38193,13 +41600,13 @@ msgid "" "determined by the height of the associated FogVolume." msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:211 +#: ../../docs/tutorials/3d/volumetric_fog.rst:217 msgid "" "**Edge Fade:** The hardness of the edges of the FogVolume. A higher value " "will result in softer edges, while a lower value will result in harder edges." msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:213 +#: ../../docs/tutorials/3d/volumetric_fog.rst:219 msgid "" "**Density Texture:** The 3D texture that is used to scale the member density " "of the FogVolume. This can be used to vary fog density within the FogVolume " @@ -38209,28 +41616,28 @@ msgid "" "`." msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:221 +#: ../../docs/tutorials/3d/volumetric_fog.rst:227 msgid "Using 3D noise density textures" msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:223 +#: ../../docs/tutorials/3d/volumetric_fog.rst:229 msgid "" "Since Godot 4.1, there is a NoiseTexture3D resource that can be used to " "procedurally generate 3D noise. This is well-suited to FogMaterial density " "textures, which can result in more detailed fog effects:" msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:230 +#: ../../docs/tutorials/3d/volumetric_fog.rst:236 msgid "FogMaterial comparison (without and with density texture)" msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:230 +#: ../../docs/tutorials/3d/volumetric_fog.rst:236 msgid "" "Screenshot taken with **Volume Size** project setting set to 192 to make " "high-frequency detail more visible in the fog." msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:233 +#: ../../docs/tutorials/3d/volumetric_fog.rst:239 msgid "" "To do so, select the **Density Texture** property and choose **New " "NoiseTexture3D**. Edit this NoiseTexture3D by clicking it, then click " @@ -38239,7 +41646,7 @@ msgid "" "according to your fog volume's dimensions." msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:238 +#: ../../docs/tutorials/3d/volumetric_fog.rst:244 msgid "" "To improve performance, it's recommended to use low texture sizes (64×64×64 " "or lower), as high-frequency detail is difficult to notice in a FogVolume. " @@ -38248,25 +41655,25 @@ msgid "" "project settings, which has a performance cost." msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:246 +#: ../../docs/tutorials/3d/volumetric_fog.rst:252 msgid "" "NoiseTexture3D's **Color Ramp** affects FogMaterial density textures, but " "since only the texture's red channel is sampled, only the color ramp's red " "channel will affect the resulting density." msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:250 +#: ../../docs/tutorials/3d/volumetric_fog.rst:256 msgid "" "However, using a color ramp will *not* tint the fog volume according to the " "texture. You would need to use a custom shader that reads a Texture3D to " "achieve this." msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:255 +#: ../../docs/tutorials/3d/volumetric_fog.rst:261 msgid "Custom FogVolume shaders" msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:257 +#: ../../docs/tutorials/3d/volumetric_fog.rst:263 msgid "" "This page only covers the built-in settings offered by FogMaterial. If you " "need to customize fog behavior within a FogVolume node (such as creating " @@ -38274,87 +41681,87 @@ msgid "" "`doc_fog_shader`." msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:262 +#: ../../docs/tutorials/3d/volumetric_fog.rst:268 msgid "Faking volumetric fog using quads" msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:264 +#: ../../docs/tutorials/3d/volumetric_fog.rst:270 msgid "" "In some cases, it may be better to use specially configured QuadMeshes as an " "alternative to volumetric fog:" msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:267 +#: ../../docs/tutorials/3d/volumetric_fog.rst:273 msgid "" "Quads work with any rendering method, including Forward Mobile and " "Compatibility." msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:268 +#: ../../docs/tutorials/3d/volumetric_fog.rst:274 msgid "" "Quads do not require temporal reprojection to look smooth, which makes them " "suited to fast-moving dynamic effects such as lasers. They can also " "represent small details which volumetric fog cannot do efficiently." msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:271 +#: ../../docs/tutorials/3d/volumetric_fog.rst:277 msgid "Quads generally have a lower performance cost than volumetric fog." msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:273 +#: ../../docs/tutorials/3d/volumetric_fog.rst:279 msgid "This approach has a few downsides though:" msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:275 +#: ../../docs/tutorials/3d/volumetric_fog.rst:281 msgid "" "The fog effect has less realistic falloff, especially if the camera enters " "the fog." msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:276 +#: ../../docs/tutorials/3d/volumetric_fog.rst:282 msgid "Transparency sorting issues may occur when sprites overlap." msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:277 +#: ../../docs/tutorials/3d/volumetric_fog.rst:283 msgid "" "Performance will not necessarily be better than volumetric fog if there are " "lots of sprites close to the camera." msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:280 +#: ../../docs/tutorials/3d/volumetric_fog.rst:286 msgid "To create a QuadMesh-based fog sprite:" msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:282 +#: ../../docs/tutorials/3d/volumetric_fog.rst:288 msgid "" "Create a MeshInstance3D node with a QuadMesh resource in the **Mesh** " "property. Set the size as desired." msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:284 +#: ../../docs/tutorials/3d/volumetric_fog.rst:290 msgid "Create a new StandardMaterial3D in the mesh's **Material** property." msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:285 +#: ../../docs/tutorials/3d/volumetric_fog.rst:291 msgid "" "In the StandardMaterial3D, set **Shading > Shading Mode** to **Unshaded**, " "**Billboard > Mode** to **Enabled**, enable **Proximity Fade** and set " "**Distance Fade** to **Pixel Alpha**." msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:288 +#: ../../docs/tutorials/3d/volumetric_fog.rst:294 msgid "" "Set the **Albedo > Texture** to the texture below (right-click and choose " "**Save as…**):" msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:292 +#: ../../docs/tutorials/3d/volumetric_fog.rst:298 msgid "" "*After* setting the albedo texture, go to the Import dock, select the " "texture and change its compression mode to **Lossless** to improve quality." msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:295 +#: ../../docs/tutorials/3d/volumetric_fog.rst:301 msgid "" "The fog's color is set using the **Albedo > Color** property; its density is " "set using the color's alpha channel. For best results, you will have to " @@ -38362,7 +41769,7 @@ msgid "" "depending on the size of your QuadMesh." msgstr "" -#: ../../docs/tutorials/3d/volumetric_fog.rst:300 +#: ../../docs/tutorials/3d/volumetric_fog.rst:306 msgid "" "Optionally, billboarding may be left disabled if you place the quad in a way " "where all of its corners are in solid geometry. This can be useful for " @@ -39604,7 +43011,7 @@ msgstr "" #: ../../docs/tutorials/3d/occlusion_culling.rst:4 #: ../../docs/tutorials/performance/optimizing_3d_performance.rst:18 -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:712 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:731 msgid "Occlusion culling" msgstr "" @@ -41104,8 +44511,8 @@ msgstr "" #: ../../docs/tutorials/3d/csg_tools.rst:20 msgid "" "If you're looking for an easy to use level design tool for a project, you " -"may want to use `Qodot `__ instead. " -"It lets you design levels using `TrenchBroom `__ instead. It " +"lets you design levels using `TrenchBroom `__ and import them in Godot." msgstr "" @@ -45384,32 +48791,34 @@ msgid "" ">`__ when importing them. `Support is limited `__; " -"complex vectors may not render correctly. You can check whether ThorVG can " -"render a certain vector correctly using its `web-based viewer `__. For complex vectors, rendering them to PNGs using " -"`Inkscape `__ is often a better solution. This can be " -"automated thanks to its `command-line interface `__." +"complex vectors may not render correctly. :ref:`Text must be converted to " +"paths `; otherwise, it won't appear in the " +"rasterized image. You can check whether ThorVG can render a certain vector " +"correctly using its `web-based viewer `__. " +"For complex vectors, rendering them to PNGs using `Inkscape `__ is often a better solution. This can be automated thanks " +"to its `command-line interface `__." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:37 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:38 msgid "" "WebP (``.webp``) - WebP files support transparency and can be compressed " "lossily or losslessly. The precision is limited to 8 bits per channel." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:43 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:44 #: ../../docs/tutorials/assets_pipeline/importing_audio_samples.rst:26 msgid "" "If you've compiled the Godot editor from source with specific modules " "disabled, some formats may not be available." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:47 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:48 msgid "Importing textures" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:49 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:50 msgid "" "The default action in Godot is to import images as textures. Textures are " "stored in video memory. Their pixel data can't be accessed directly from the " @@ -45417,35 +48826,35 @@ msgid "" "is what makes drawing them efficient." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:54 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:55 msgid "" "There are over a dozen import options that can be adjusted after selecting " "an image in the FileSystem dock:" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:61 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:62 msgid "" "Import options in the Import dock after selecting an image in the FileSystem " "dock" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:61 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:62 msgid "" "Import options in the Import dock after selecting an image in the FileSystem " "dock. Some of these options are only visible with certain compression modes." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:67 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:68 msgid "Changing import type" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:69 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:70 msgid "" "It is possible to choose other types of imported resources in the Import " "dock:" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:71 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:72 msgid "" "**BitMap:** 1-bit monochrome texture (intended to be used as a click mask " "in :ref:`class_TextureButton` and :ref:`class_TouchScreenButton`). This " @@ -45454,14 +48863,14 @@ msgid "" "`." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:76 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:77 msgid "" "**Cubemap:** Import the texture as a 6-sided cubemap, with interpolation " "between the cubemap's sides (seamless cubemaps), which can be sampled in " "custom shaders." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:79 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:80 msgid "" "**CubemapArray:** Import the texture as a collection of 6-sided cubemaps, " "which can be sampled in custom shaders. This resource type can only be " @@ -45469,26 +48878,26 @@ msgid "" "Compatibility." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:83 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:84 msgid "" "**Font Data (Monospace Image Font):** Import the image as a bitmap font " "where all characters have the same width. See :ref:`doc_gui_using_fonts`." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:85 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:86 msgid "" "**Image:** Import the image as-is. This resource type cannot be displayed " "directly onto 2D or 3D nodes, but the pixel values can be queried from a " "script using :ref:`get_pixel`." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:88 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:89 msgid "" "**Texture2D:** Import the image as a 2-dimensional texture, suited for " "display on 2D and 3D surfaces. This is the default import mode." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:90 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:91 msgid "" "**Texture2DArray:** Import the image as a collection of 2-dimensional " "textures. Texture2DArray is similar to a 3-dimensional texture, but without " @@ -45498,7 +48907,7 @@ msgid "" "texture from a texture array." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:95 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:96 msgid "" "**Texture3D:** Import the image as a 3-dimensional texture. This is *not* a " "2D texture applied onto a 3D surface. Texture3D is similar to a texture " @@ -45508,18 +48917,18 @@ msgid "" "custom shaders." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:101 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:102 msgid "" "**TextureAtlas:** Import the image as an *atlas* of different textures. Can " "be used to reduce memory usage for animated 2D sprites. Only supported in 2D " "due to missing support in built-in 3D shaders." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:106 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:107 msgid "Detect 3D" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:108 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:109 msgid "" "The default import options (no mipmaps and **Lossless** compression) are " "suited for 2D, but are not ideal for most 3D projects. **Detect 3D** makes " @@ -45531,13 +48940,13 @@ msgid "" "reimported automatically." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:117 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:118 msgid "" "A message is printed to the Output panel when a texture is detected to be " "used in 3D." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:119 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:120 msgid "" "If you run into quality issues when a texture is detected to be used in 3D " "(e.g. for pixel art textures), change the :ref:" @@ -45548,17 +48957,17 @@ msgid "" "grainy at a distance." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:128 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:129 msgid "Import options" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:132 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:133 msgid "" "In Godot 4.0, changing the texture filter and repeat mode is no longer done " "in the import options." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:135 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:136 msgid "" "Instead, texture filter and repeat modes are changed in the CanvasItem " "properties in 2D (with a project setting acting as a default), and in a :ref:" @@ -45568,19 +48977,19 @@ msgid "" "documentation." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:145 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:146 #: ../../docs/tutorials/assets_pipeline/importing_audio_samples.rst:164 msgid "Compress > Mode" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:147 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:148 msgid "" "Images are one of the largest assets in a game. To handle them efficiently, " "they need to be compressed. Godot offers several compression methods, " "depending on the use case." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:151 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:152 msgid "" "**Lossless:** This is the default and most common compression mode for 2D " "assets. It shows assets without any kind of artifacting, and disk " @@ -45589,7 +48998,7 @@ msgid "" "pixel art." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:155 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:156 msgid "" "**Lossy:** This is a good choice for large 2D assets. It has some artifacts, " "but less than VRAM compression and the file size is several times lower " @@ -45597,7 +49006,7 @@ msgid "" "decreased by this mode; it's the same as with Lossless or VRAM Uncompressed." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:159 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:160 msgid "" "**VRAM Compressed:** This is the default and most common compression mode " "for 3D assets. Size on disk is reduced and video memory usage is also " @@ -45606,13 +49015,13 @@ msgid "" "lower-resolution textures." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:164 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:165 msgid "" "**VRAM Uncompressed:** Only useful for formats that can't be compressed, " "such as raw floating-point images." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:166 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:167 msgid "" "**Basis Universal:** This alternative VRAM compression mode encodes the " "texture to a format that can be transcoded to most GPU-compressed formats at " @@ -45623,7 +49032,7 @@ msgid "" "internally fall back to VRAM Compressed instead)." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:176 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:177 #: ../../docs/tutorials/performance/gpu_optimization.rst:230 msgid "" "Even in 3D, \"pixel art\" textures should have VRAM compression disabled as " @@ -45631,42 +49040,42 @@ msgid "" "significantly due to their low resolution." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:180 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:181 msgid "" "In this table, each of the 5 options are described together with their " "advantages and disadvantages (|good| = best, |bad| = worst):" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:184 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:185 msgid "Compress mode" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:184 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:208 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:185 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:209 msgid "Lossless" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:184 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:208 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:185 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:209 msgid "Lossy" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:184 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:208 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:185 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:209 msgid "VRAM Compressed" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:184 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:208 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:185 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:209 msgid "VRAM Uncompressed" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:184 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:208 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:185 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:209 msgid "Basis Universal" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:186 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:187 #: ../../docs/tutorials/export/feature_tags.rst:41 #: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:230 #: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:344 @@ -45676,166 +49085,166 @@ msgstr "" msgid "**Description**" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:186 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:187 msgid "Stored as Lossless WebP / PNG" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:186 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:187 msgid "Stored as Lossy WebP" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:186 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:187 msgid "Stored as S3TC, BPTC or ETC2 depending on platform" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:186 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:187 msgid "Stored as raw pixels" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:186 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:187 msgid "Transcoded to VRAM Compressed format" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:188 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:189 msgid "**Size on disk**" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:188 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:189 msgid "|regular| Small" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:203 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:204 msgid "regular" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:188 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:189 msgid "|good| Very small" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:188 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:190 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:189 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:191 msgid "|bad| Large" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:190 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:191 msgid "**Memory usage**" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:190 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:191 msgid "|good| Small" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:192 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:193 msgid "**Performance**" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:192 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:196 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:193 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:197 msgid "|regular| Normal" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:192 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:196 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:193 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:197 msgid "|good| Fast" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:194 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:195 msgid "**Quality loss**" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:194 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:195 msgid "|good| None" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:194 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:195 msgid "|regular| Slight" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:194 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:195 msgid "|bad| Moderate" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:196 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:197 msgid "**Load time**" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:196 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:197 msgid "|bad| Slow" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:205 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:206 msgid "Estimated memory usage for a single RGBA8 texture with mipmaps enabled:" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:208 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:209 msgid "Texture size" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:210 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:211 msgid "**128×128**" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:210 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:212 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:211 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:213 msgid "|good| 85 KiB" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:210 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:211 msgid "|good| 21 KiB" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:212 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:213 msgid "**256×256**" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:212 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:214 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:213 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:215 msgid "|good| 341 KiB" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:214 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:215 msgid "**512×512**" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:214 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:216 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:215 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:217 msgid "|good| 1.33 MiB" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:216 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:217 msgid "**1024×1024**" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:216 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:218 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:217 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:219 msgid "|regular| 5.33 MiB" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:218 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:219 msgid "**2048×2048**" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:218 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:220 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:219 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:221 msgid "|bad| 21.33 MiB" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:220 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:221 msgid "**4096×4096**" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:220 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:221 msgid "|bad| 85.33 MiB" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:225 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:226 msgid "" "In the above table, memory usage will be reduced by 25% for images that do " "not have an alpha channel (RGB8). Memory usage will be further decreased by " "25% for images that have mipmaps disabled." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:229 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:230 msgid "" "Notice how at larger resolutions, the impact of VRAM compression is much " "greater. With a 4:1 compression ratio (6:1 for opaque textures with S3TC), " @@ -45843,7 +49252,7 @@ msgid "" "axis, while using the same amount of memory on the GPU." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:234 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:235 msgid "" "VRAM compression also reduces the memory bandwidth required to sample the " "texture, which can speed up rendering in memory bandwidth-constrained " @@ -45852,39 +49261,39 @@ msgid "" "resolution textures." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:239 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:240 msgid "" "You can preview how much memory a texture takes by double-clicking it in the " "FileSystem dock, then looking at the Inspector:" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:246 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:247 msgid "Previewing a texture in the Inspector" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:246 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:247 msgid "" "Previewing a texture in the Inspector. Credit: `Red Brick 03 - Poly Haven " "`__" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:249 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:250 msgid "Compress > High Quality" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:253 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:254 msgid "" "High-quality VRAM texture compression is only supported in the Forward+ and " "Forward Mobile rendering methods." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:256 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:257 msgid "" "When using the Compatibility rendering method, this option is always " "considered disabled." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:259 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:260 msgid "" "If enabled, uses BPTC compression on desktop platforms and :abbr:`ASTC " "(Adaptive Scalable Texture Compression)` compression on mobile platforms. " @@ -45892,7 +49301,7 @@ msgid "" "textures." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:263 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:264 msgid "" "If disabled (default), uses the faster but lower-quality S3TC compression on " "desktop platforms and ETC2 on mobile/web platforms. When using S3TC, DXT1 " @@ -45900,23 +49309,23 @@ msgid "" "normal map (:abbr:`RGTC (Red-Green Texture Compression)`) textures." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:268 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:269 msgid "" "BPTC and ASTC support VRAM compression for HDR textures, but S3TC and ETC2 " "do not (see **HDR Compression** below)." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:272 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:273 msgid "Compress > HDR Compression" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:276 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:277 msgid "" "This option only has an effect on textures that are imported as HDR formats " "in Godot (``.hdr`` and ``.exr`` files)." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:279 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:280 msgid "" "If set to **Disabled**, never uses VRAM compression for HDR textures, " "regardless of whether they're opaque or transparent. Instead, the texture is " @@ -45925,24 +49334,24 @@ msgid "" "float image format." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:284 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:285 msgid "" "If set to **Opaque Only** (default), only uses VRAM compression for opaque " "HDR textures. This is due to a limitation of HDR formats, as there is no " "VRAM-compressed HDR format that supports transparency at the same time." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:288 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:289 msgid "" "If set to **Always**, will force VRAM compression even for HDR textures with " "an alpha channel. To perform this, the alpha channel is discarded on import." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:292 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:293 msgid "Compress > Normal Map" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:294 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:295 msgid "" "When using a texture as normal map, only the red and green channels are " "required. Given regular texture compression algorithms produce artifacts " @@ -45954,7 +49363,7 @@ msgid "" "it will be changed to **Enable** and reimported automatically." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:302 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:303 msgid "" "Note that :abbr:`RGTC (Red-Green Texture Compression)` compression affects " "the resulting normal map image. You will have to adjust custom shaders that " @@ -45963,21 +49372,21 @@ msgid "" "of the actual normal map's contents)." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:308 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:309 msgid "" "In the example below, the normal map with :abbr:`RGTC (Red-Green Texture " "Compression)` compression is able to preserve its detail much better, while " "using the same amount of memory as a standard RGBA VRAM-compressed texture:" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:316 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:317 msgid "" "Normal map with standard VRAM compression (left) and with RGTC VRAM " "compression (right)" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:320 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:421 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:321 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:422 msgid "" "Godot requires the normal map to use the X+, Y+ and Z+ coordinates, which is " "known as an OpenGL-style normal map. If you've imported a material made to " @@ -45986,23 +49395,23 @@ msgid "" "import option." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:330 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:331 msgid "Compress > Channel Pack" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:332 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:333 msgid "" "If set to **sRGB Friendly** (default), prevents the RG color format from " "being used as it does not support sRGB color." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:335 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:336 msgid "" "If set to **Optimized**, allows the RG color format to be used if the " "texture does not use the blue channel." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:338 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:339 msgid "" "A third option **Normal Map (RG Channels)** is *only* available in layered " "textures (:ref:`class_Cubemap`, :ref:`class_CubemapArray`, :ref:" @@ -46013,36 +49422,36 @@ msgid "" "compression modes." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:348 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:349 msgid "Mipmaps > Generate" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:350 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:351 msgid "" "If enabled, smaller versions of the texture are generated on import. For " "example, a 64×64 texture will generate 6 mipmaps (32×32, 16×16, 8×8, 4×4, " "2×2, 1×1). This has several benefits:" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:354 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:355 msgid "" "Textures will not become grainy in the distance (in 3D), or if scaled down " "due to camera zoom or CanvasItem scale (in 2D)." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:356 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:357 msgid "" "Performance will improve if the texture is displayed in the distance, since " "sampling smaller versions of the original texture is faster and requires " "less memory bandwidth." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:360 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:361 msgid "" "The downside of mipmaps is that they increase memory usage by roughly 33%." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:362 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:363 msgid "" "It's recommended to enable mipmaps in 3D. However, in 2D, this should only " "be enabled if your project visibly benefits from having mipmaps enabled. If " @@ -46050,17 +49459,17 @@ msgid "" "enabling mipmaps but memory usage will increase." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:368 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:369 msgid "Mipmaps > Limit" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:372 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:373 msgid "" "**Mipmaps > Limit** is currently not implemented and has no effect when " "changed." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:374 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:375 msgid "" "If set to a value greater than ``-1``, limits the maximum number of mipmaps " "that can be generated. This can be decreased if you don't want textures to " @@ -46068,36 +49477,36 @@ msgid "" "graininess." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:379 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:380 msgid "Roughness > Mode" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:381 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:382 msgid "" "The color channel to consider as a roughness map in this texture. Only " "effective if **Roughness > Src Normal** is not empty." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:385 -msgid "Rougness > Src Normal" +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:386 +msgid "Roughness > Src Normal" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:387 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:388 msgid "" "The path to the texture to consider as a normal map for roughness filtering " "on import. Specifying this can help decrease specular aliasing slightly in " "3D." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:390 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:391 msgid "Roughness filtering on import is only used in 3D rendering, not 2D." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:393 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:394 msgid "Process > Fix Alpha Border" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:395 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:396 msgid "" "This puts pixels of the same surrounding color in transition from " "transparent to opaque areas. For textures displayed with bilinear filtering, " @@ -46105,17 +49514,17 @@ msgid "" "editor." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:401 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:402 msgid "" "It's recommended to leave this enabled (as it is by default), unless this " "causes issues for a particular image." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:405 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:406 msgid "Process > Premult Alpha" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:407 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:408 msgid "" "An alternative to fixing darkened borders with **Fix Alpha Border** is to " "use premultiplied alpha. By enabling this option, the texture will be " @@ -46123,28 +49532,28 @@ msgid "" "materials to be displayed correctly:" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:412 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:413 msgid "" "In 2D, a :ref:`class_CanvasItemMaterial` will need to be created and " "configured to use the **Premul Alpha** blend mode on CanvasItems that use " "this texture." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:415 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:416 msgid "" "In 3D, there is no support for premultiplied alpha blend mode yet, so this " "option is only suited for 2D." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:419 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:420 msgid "Process > Normal Map Invert Y" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:431 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:432 msgid "Process > HDR as sRGB" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:433 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:434 msgid "" "Some HDR images you can find online may be broken and contain sRGB color " "data (instead of linear color data). It is advised not to use those files. " @@ -46152,23 +49561,23 @@ msgid "" "correct." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:439 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:440 msgid "" "Enabling **HDR as sRGB** on well-formatted HDR images will cause the " "resulting image to look too dark, so leave this disabled if unsure." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:443 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:444 msgid "Process > HDR Clamp Exposure" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:445 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:446 msgid "" "Some HDR panorama images you can find online may contain extremely bright " "pixels, due to being taken from real life sources without any clipping." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:448 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:449 msgid "" "While these HDR panorama images are accurate to real life, this can cause " "the radiance map generated by Godot to contain sparkles when used as a " @@ -46178,11 +49587,11 @@ msgid "" "clipping – glow will keep working when looking at the background sky." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:456 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:457 msgid "Process > Size Limit" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:458 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:459 msgid "" "If set to a value greater than ``0``, the size of the texture is limited on " "import to a value smaller than or equal to the value specified here. For non-" @@ -46191,24 +49600,24 @@ msgid "" "using cubic interpolation." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:464 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:465 msgid "" "This can be used to reduce memory usage without affecting the source images, " "or avoid issues with textures not displaying on mobile/web platforms (as " "these usually can't display textures larger than 4096×4096)." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:471 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:472 msgid "Detect 3D > Compress To" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:473 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:474 msgid "" "This changes the :ref:`doc_importing_images_compress_mode` option that is " "used when a texture is detected as being used in 3D." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:476 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:477 msgid "" "Changing this import option only has an effect if a texture is detected as " "being used in 3D. Changing this to **Disabled** then reimporting will not " @@ -46216,29 +49625,102 @@ msgid "" "in 3D), but choosing **VRAM Compressed** or **Basis Universal** will." msgstr "" +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:483 +msgid "SVG > Scale" +msgstr "" + #: ../../docs/tutorials/assets_pipeline/importing_images.rst:485 -msgid "Supporting high-resolution texture sizes in 2D without artifacts" +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:497 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:506 +msgid "*This is only available for SVG images.*" msgstr "" #: ../../docs/tutorials/assets_pipeline/importing_images.rst:487 msgid "" +"The scale the SVG should be rendered at, with ``1.0`` being the original " +"design size. Higher values result in a larger image. Note that unlike font " +"oversampling, this affects the physical size the SVG is rendered at in 2D. " +"See also **Editor > Scale With Editor Scale** below." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:495 +msgid "Editor > Scale With Editor Scale" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:499 +msgid "" +"If true, scales the imported image to match the editor's display scale " +"factor. This should be enabled for editor plugin icons and custom class " +"icons, but should be left disabled otherwise." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:504 +msgid "Editor > Convert Colors With Editor Theme" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:508 +msgid "" +"If checked, converts the imported image's colors to match the editor's icon " +"and font color palette. This assumes the image uses the exact same colors " +"as :ref:`Godot's own color palette for editor icons `, " +"with the source file designed for a dark editor theme. This should be " +"enabled for editor plugin icons and custom class icons, but should be left " +"disabled otherwise." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:517 +msgid "Importing SVG images with text" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:519 +msgid "" +"As the SVG library used in Godot doesn't support rasterizing text found in " +"SVG images, text must be converted to a path first. Otherwise, text won't " +"appear in the rasterized image." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:523 +msgid "" +"There are two ways to achieve this in a non-destructive manner, so you can " +"keep editing the original text afterwards:" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:526 +msgid "" +"Select your text object in Inkscape, then duplicate it in place by pressing :" +"kbd:`Ctrl + D` and use **Path > Object to Path**. Hide the original text " +"object afterwards using the **Layers and Objects** dock." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:529 +msgid "" +"Use the Inkscape command line to export a SVG from another SVG file with " +"text converted to paths:" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:540 +msgid "Supporting high-resolution texture sizes in 2D without artifacts" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:542 +msgid "" "To support :ref:`multiple resolutions ` with crisp " "visuals at high resolutions, you will need to use high-resolution source " "images (suited for the highest resolution you wish to support without " "blurriness, which is typically 4K in modern desktop games)." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:492 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:547 msgid "There are 2 ways to proceed:" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:494 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:549 msgid "" "Use a high base resolution in the project settings (such as 4K), then use " "the textures at original scale. This is an easier approach." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:496 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:551 msgid "" "Use a low base resolution in the project settings (such as 1080p), then " "downscale textures when using them. This is often more difficult and can " @@ -46246,14 +49728,14 @@ msgid "" "is recommended instead." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:501 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:556 msgid "" "After doing this, you may notice that textures become grainy at lower " "viewport resolutions. To resolve this, enable **Mipmaps** on textures used " "in 2D in the Import dock. This will increase memory usage." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:505 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:560 msgid "" "Enabling mipmaps can also make textures appear blurrier, but you can choose " "to make textures sharper (at the cost of some graininess) by setting " @@ -46261,17 +49743,17 @@ msgid "" "negative value." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:511 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:566 msgid "Use appropriate texture sizes in 3D" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:513 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:568 msgid "" "While there's no \"one size fits all\" recommendation, here are some general " "recommendations for choosing texture sizes in 3D:" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:516 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:571 msgid "" "The size of a texture should be adjusted to have a consistent texel density " "compared to surrounding objects. While this cannot be ensured perfectly when " @@ -46279,7 +49761,7 @@ msgid "" "texture detail fairly consistent throughout a 3D scene." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:520 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:575 msgid "" "The smaller the object appears on screen, the smaller its texture should be. " "For example, a tree that only appears in the background doesn't need a " @@ -46287,13 +49769,13 @@ msgid "" "close to." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:523 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:578 msgid "" "Using power-of-two texture sizes is recommended, but is not required. " "Textures don't have to be square – sizes such as 1024×512 are acceptable." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:525 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:580 msgid "" "There are diminishing returns to using large texture sizes, despite the " "increased memory usage and loading times. Most modern 3D games not using a " @@ -46301,7 +49783,7 @@ msgid "" "512×512 for textures spanning smaller surfaces." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:529 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:584 msgid "" "When working with physically-based materials in 3D, you can reduce memory " "usage and file size without affecting quality too much by using a lower " @@ -46310,27 +49792,27 @@ msgid "" "texture)." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:535 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:590 msgid "" "If you have control over how the 3D models are created, these tips are also " "worth exploring:" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:538 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:593 msgid "" "When working with 3D models that are mostly symmetrical, you may be able to " "use mirrored UVs to double the effective texel density. This may look " "unnatural when used on human faces though." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:541 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:596 msgid "" "When working with 3D models using a low-poly style and plain colors, you can " "rely on vertex colors instead of textures to represent colors on the model's " "surfaces." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:547 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:602 msgid "" "Images can be loaded and saved at runtime using :ref:`runtime file loading " "and saving `, including from an " @@ -47716,50 +51198,62 @@ msgid "" msgstr "" #: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/node_type_customization.rst:95 -msgid "Create navigation (-navmesh)" +msgid "Create Occluder (-occ, -occonly)" msgstr "" #: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/node_type_customization.rst:97 msgid "" +"If a mesh is imported with the ``-occ`` suffix an :ref:`class_occluder3D` " +"node will be created based on the geometry of the mesh, it does not replace " +"the mesh. A mesh node with the ``-occonly`` suffix will be converted to an :" +"ref:`class_occluder3D` on import." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/node_type_customization.rst:103 +msgid "Create navigation (-navmesh)" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/node_type_customization.rst:105 +msgid "" "A mesh node with the ``-navmesh`` suffix will be converted to a navigation " "mesh. The original Mesh object will be removed at import-time." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/node_type_customization.rst:101 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/node_type_customization.rst:109 msgid "Create a VehicleBody (-vehicle)" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/node_type_customization.rst:103 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/node_type_customization.rst:111 msgid "" "A mesh node with the ``-vehicle`` suffix will be imported as a child to a :" "ref:`class_VehicleBody3D` node." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/node_type_customization.rst:107 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/node_type_customization.rst:115 msgid "Create a VehicleWheel (-wheel)" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/node_type_customization.rst:109 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/node_type_customization.rst:117 msgid "" "A mesh node with the ``-wheel`` suffix will be imported as a child to a :ref:" "`class_VehicleWheel3D` node." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/node_type_customization.rst:113 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/node_type_customization.rst:121 msgid "Rigid Body (-rigid)" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/node_type_customization.rst:115 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/node_type_customization.rst:123 msgid "" "A mesh node with the ``-rigid`` suffix will be imported as a :ref:" "`class_RigidBody3D`." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/node_type_customization.rst:118 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/node_type_customization.rst:126 msgid "Animation loop (-loop, -cycle)" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/node_type_customization.rst:120 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/node_type_customization.rst:128 msgid "" "Animation clips in the source 3D file that start or end with the token " "``loop`` or ``cycle`` will be imported as a Godot :ref:`class_Animation` " @@ -47767,7 +51261,7 @@ msgid "" "does not require a hyphen.**" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/node_type_customization.rst:124 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/node_type_customization.rst:132 msgid "" "In Blender, this requires using the NLA Editor and naming the Action with " "the ``loop`` or ``cycle`` prefix or suffix." @@ -50396,28 +53890,61 @@ msgid "Basic usage of text-to-speech involves the following one-time steps:" msgstr "" #: ../../docs/tutorials/audio/text_to_speech.rst:11 -msgid "Query the system for a list of usable voices" +msgid "Enable TTS in the Godot editor for your project" msgstr "" #: ../../docs/tutorials/audio/text_to_speech.rst:12 +msgid "Query the system for a list of usable voices" +msgstr "" + +#: ../../docs/tutorials/audio/text_to_speech.rst:13 msgid "Store the ID of the voice you want to use" msgstr "" -#: ../../docs/tutorials/audio/text_to_speech.rst:14 -msgid "Once you have the voice ID, you can use it to speak some text:" +#: ../../docs/tutorials/audio/text_to_speech.rst:15 +msgid "" +"By default, the Godot project-level setting for text-to-speech is disabled, " +"to avoid unnecessary overhead. To enable it:" msgstr "" -#: ../../docs/tutorials/audio/text_to_speech.rst:59 +#: ../../docs/tutorials/audio/text_to_speech.rst:17 +msgid "Go to **Project > Project Settings**" +msgstr "" + +#: ../../docs/tutorials/audio/text_to_speech.rst:18 +msgid "Make sure the **Advanced Settings** toggle is enabled" +msgstr "" + +#: ../../docs/tutorials/audio/text_to_speech.rst:19 +msgid "Click on **Audio > General**" +msgstr "" + +#: ../../docs/tutorials/audio/text_to_speech.rst:20 +msgid "Ensure the **Text to Speech** option is checked" +msgstr "" + +#: ../../docs/tutorials/audio/text_to_speech.rst:21 +msgid "Restart Godot if prompted to do so." +msgstr "" + +#: ../../docs/tutorials/audio/text_to_speech.rst:23 +msgid "" +"Text-to-speech uses a specific voice. Depending on the user's system, they " +"might have multiple voices installed. Once you have the voice ID, you can " +"use it to speak some text:" +msgstr "" + +#: ../../docs/tutorials/audio/text_to_speech.rst:68 msgid "Requirements for functionality" msgstr "" -#: ../../docs/tutorials/audio/text_to_speech.rst:61 +#: ../../docs/tutorials/audio/text_to_speech.rst:70 msgid "" "Godot includes text-to-speech functionality. You can find these under the :" "ref:`DisplayServer class `." msgstr "" -#: ../../docs/tutorials/audio/text_to_speech.rst:63 +#: ../../docs/tutorials/audio/text_to_speech.rst:72 msgid "" "Godot depends on system libraries for text-to-speech functionality. These " "libraries are installed by default on Windows and macOS, but not on all " @@ -50426,7 +53953,7 @@ msgid "" "empty list, indicating that there are no usable voices." msgstr "" -#: ../../docs/tutorials/audio/text_to_speech.rst:65 +#: ../../docs/tutorials/audio/text_to_speech.rst:74 msgid "" "Both Godot users on Linux and end-users on Linux running Godot games need to " "ensure that their system includes the system libraries for text-to-speech to " @@ -50434,17 +53961,34 @@ msgid "" "documentation to determine what libraries you need to install." msgstr "" -#: ../../docs/tutorials/audio/text_to_speech.rst:68 +#: ../../docs/tutorials/audio/text_to_speech.rst:77 #: ../../docs/contributing/development/compiling/compiling_for_linuxbsd.rst:51 msgid "Distro-specific one-liners" msgstr "" -#: ../../docs/tutorials/audio/text_to_speech.rst:70 +#: ../../docs/tutorials/audio/text_to_speech.rst:79 #: ../../docs/contributing/development/compiling/compiling_for_windows.rst:194 msgid "**Arch Linux**" msgstr "" -#: ../../docs/tutorials/audio/text_to_speech.rst:79 +#: ../../docs/tutorials/audio/text_to_speech.rst:87 +msgid "" +"If you get the error `Invalid get index '0' (on base: 'PackedStringArray').` " +"for the line `var voice_id = voices[0]`, check if there are any items in " +"`voices`. If not:" +msgstr "" + +#: ../../docs/tutorials/audio/text_to_speech.rst:89 +msgid "All users: make sure you enabled **Text to Speech** in project settings" +msgstr "" + +#: ../../docs/tutorials/audio/text_to_speech.rst:90 +msgid "" +"Linux users: ensure you installed the system-specific libraries for text to " +"speech" +msgstr "" + +#: ../../docs/tutorials/audio/text_to_speech.rst:95 msgid "" "The best practices for text-to-speech, in terms of the ideal player " "experience for blind players, is to send output to the player's screen " @@ -50454,42 +53998,42 @@ msgid "" "this level of integration." msgstr "" -#: ../../docs/tutorials/audio/text_to_speech.rst:81 +#: ../../docs/tutorials/audio/text_to_speech.rst:97 msgid "" "With the current state of the Godot text-to-speech APIs, best practices " "include:" msgstr "" -#: ../../docs/tutorials/audio/text_to_speech.rst:83 +#: ../../docs/tutorials/audio/text_to_speech.rst:99 msgid "" "Develop the game with text-to-speech enabled, and ensure that everything " "sounds correct" msgstr "" -#: ../../docs/tutorials/audio/text_to_speech.rst:84 +#: ../../docs/tutorials/audio/text_to_speech.rst:100 msgid "" "Allow players to control which voice to use, and save/persist that selection " "across game sessions" msgstr "" -#: ../../docs/tutorials/audio/text_to_speech.rst:85 +#: ../../docs/tutorials/audio/text_to_speech.rst:101 msgid "" "Allow players to control the speech rate, and save/persist that selection " "across game sessions" msgstr "" -#: ../../docs/tutorials/audio/text_to_speech.rst:87 +#: ../../docs/tutorials/audio/text_to_speech.rst:103 msgid "" "This provides your blind players with the most flexibility and comfort " "available when not using a screen reader, and minimizes the chance of " "frustrating and alienating them." msgstr "" -#: ../../docs/tutorials/audio/text_to_speech.rst:90 +#: ../../docs/tutorials/audio/text_to_speech.rst:106 msgid "Caveats and Other Information" msgstr "" -#: ../../docs/tutorials/audio/text_to_speech.rst:92 +#: ../../docs/tutorials/audio/text_to_speech.rst:108 msgid "" "Expect delays when you call `tts_speak` and `tts_stop`. The actual delay " "time varies depending on both the OS and on your machine's specifications. " @@ -50498,26 +54042,26 @@ msgid "" "load, network latency, and other factors." msgstr "" -#: ../../docs/tutorials/audio/text_to_speech.rst:93 +#: ../../docs/tutorials/audio/text_to_speech.rst:109 msgid "" "Non-English text works if the correct voices are installed and used. On " "Windows, you can consult the instructions in `this article`_ to enable " "additional language voices on Windows." msgstr "" -#: ../../docs/tutorials/audio/text_to_speech.rst:94 +#: ../../docs/tutorials/audio/text_to_speech.rst:110 msgid "" "Non-ASCII characters, such as umlaut, are pronounced correctly if you select " "the correct voice." msgstr "" -#: ../../docs/tutorials/audio/text_to_speech.rst:95 +#: ../../docs/tutorials/audio/text_to_speech.rst:111 msgid "" "Blind players use a number of screen readers, including JAWS, NVDA, " "VoiceOver, Narrator, and more." msgstr "" -#: ../../docs/tutorials/audio/text_to_speech.rst:96 +#: ../../docs/tutorials/audio/text_to_speech.rst:112 msgid "" "Windows text-to-speech APIs generally perform better than their equivalents " "on other systems (e.g. `tts_stop` followed by `tts_speak` immediately speaks " @@ -50646,49 +54190,75 @@ msgid "" "follow instructions on how to properly set up that platform." msgstr "" -#: ../../docs/tutorials/export/exporting_projects.rst:93 -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:408 -#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:195 -msgid "Export templates" +#: ../../docs/tutorials/export/exporting_projects.rst:92 +msgid "" +"The buttons at the bottom of the menu allow you to export the project in a " +"few different ways:" msgstr "" #: ../../docs/tutorials/export/exporting_projects.rst:95 msgid "" +"Export All: Export the project as a playable build (Godot executable and " +"project data) for all the presets defined. All presets must have an **Export " +"Path** defined for this to work." +msgstr "" + +#: ../../docs/tutorials/export/exporting_projects.rst:98 +msgid "" +"Export Project: Export the project as a playable build (Godot executable and " +"project data) for the selected preset." +msgstr "" + +#: ../../docs/tutorials/export/exporting_projects.rst:100 +msgid "" +"Export PCK/ZIP: Export the project resources as a PCK or ZIP package. This " +"is not a playable build, it only exports the project data without a Godot " +"executable." +msgstr "" + +#: ../../docs/tutorials/export/exporting_projects.rst:104 +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:408 +#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:201 +msgid "Export templates" +msgstr "" + +#: ../../docs/tutorials/export/exporting_projects.rst:106 +msgid "" "Apart from setting up the platform, the export templates must be installed " "to be able to export projects. They can be obtained as a TPZ file (which is " "a renamed ZIP archive) from the `download page of the website `_." msgstr "" -#: ../../docs/tutorials/export/exporting_projects.rst:100 +#: ../../docs/tutorials/export/exporting_projects.rst:111 msgid "" "Once downloaded, they can be installed using the **Install Export " "Templates** option in the editor:" msgstr "" -#: ../../docs/tutorials/export/exporting_projects.rst:108 +#: ../../docs/tutorials/export/exporting_projects.rst:119 msgid "Resource options" msgstr "" -#: ../../docs/tutorials/export/exporting_projects.rst:110 +#: ../../docs/tutorials/export/exporting_projects.rst:121 msgid "" "When exporting, Godot makes a list of all the files to export and then " "creates the package. There are 3 different modes for exporting:" msgstr "" -#: ../../docs/tutorials/export/exporting_projects.rst:113 +#: ../../docs/tutorials/export/exporting_projects.rst:124 msgid "Export all resources in the project" msgstr "" -#: ../../docs/tutorials/export/exporting_projects.rst:114 +#: ../../docs/tutorials/export/exporting_projects.rst:125 msgid "Export selected scenes (and dependencies)" msgstr "" -#: ../../docs/tutorials/export/exporting_projects.rst:115 +#: ../../docs/tutorials/export/exporting_projects.rst:126 msgid "Export selected resources (and dependencies)" msgstr "" -#: ../../docs/tutorials/export/exporting_projects.rst:119 +#: ../../docs/tutorials/export/exporting_projects.rst:130 msgid "" "**Export all resources in the project** will export every resource in the " "project. **Export selected scenes** and **Export selected resources** gives " @@ -50696,14 +54266,14 @@ msgid "" "every scene or resource you want to export." msgstr "" -#: ../../docs/tutorials/export/exporting_projects.rst:128 +#: ../../docs/tutorials/export/exporting_projects.rst:139 msgid "" "Files and folders whose name 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/export/exporting_projects.rst:132 +#: ../../docs/tutorials/export/exporting_projects.rst:143 msgid "" "Below the list of resources are two filters that can be setup. The first " "allows non resource files such as ``.txt``, ``.json`` and ``.csv`` to be " @@ -50712,24 +54282,24 @@ msgid "" "``.png`` files." msgstr "" -#: ../../docs/tutorials/export/exporting_projects.rst:138 +#: ../../docs/tutorials/export/exporting_projects.rst:149 msgid "Configuration files" msgstr "" -#: ../../docs/tutorials/export/exporting_projects.rst:140 +#: ../../docs/tutorials/export/exporting_projects.rst:151 msgid "" "The export configuration is stored in two files that can both be found in " "the project directory:" msgstr "" -#: ../../docs/tutorials/export/exporting_projects.rst:143 +#: ../../docs/tutorials/export/exporting_projects.rst:154 msgid "" "``export_presets.cfg``: This file contains the vast majority of the export " "configuration and can be safely committed to version control. There is " "nothing in here that you would normally have to keep secret." msgstr "" -#: ../../docs/tutorials/export/exporting_projects.rst:146 +#: ../../docs/tutorials/export/exporting_projects.rst:157 msgid "" "``.godot/export_credentials.cfg``: This file contains export options that " "are considered confidential, like passwords and encryption keys. It should " @@ -50737,7 +54307,7 @@ msgid "" "unless you know exactly what you are doing." msgstr "" -#: ../../docs/tutorials/export/exporting_projects.rst:151 +#: ../../docs/tutorials/export/exporting_projects.rst:162 msgid "" "Since the credentials file is usually kept out of version control systems, " "some export options will be missing if you clone the project to a new " @@ -50745,11 +54315,11 @@ msgid "" "the old location to the new one." msgstr "" -#: ../../docs/tutorials/export/exporting_projects.rst:156 +#: ../../docs/tutorials/export/exporting_projects.rst:167 msgid "Exporting from the command line" msgstr "" -#: ../../docs/tutorials/export/exporting_projects.rst:158 +#: ../../docs/tutorials/export/exporting_projects.rst:169 msgid "" "In production, it is useful to automate builds, and Godot supports this with " "the ``--export`` and ``--export-debug`` command line parameters. Exporting " @@ -50757,7 +54327,7 @@ msgid "" "parameters. A basic invocation of the command would be:" msgstr "" -#: ../../docs/tutorials/export/exporting_projects.rst:167 +#: ../../docs/tutorials/export/exporting_projects.rst:178 msgid "" "This will export to ``some_name.exe``, assuming there is a preset called " "\"Windows Desktop\" and the template can be found. (The export preset name " @@ -50766,42 +54336,42 @@ msgid "" "not respect the directory the command was invoked from**." msgstr "" -#: ../../docs/tutorials/export/exporting_projects.rst:173 +#: ../../docs/tutorials/export/exporting_projects.rst:184 msgid "" "The output file extension should match the one used by the Godot export " "process:" msgstr "" -#: ../../docs/tutorials/export/exporting_projects.rst:175 +#: ../../docs/tutorials/export/exporting_projects.rst:186 msgid "Windows: ``.exe``" msgstr "" -#: ../../docs/tutorials/export/exporting_projects.rst:176 +#: ../../docs/tutorials/export/exporting_projects.rst:187 msgid "" "macOS: ``.zip`` (from all platforms) or ``.dmg`` (only when exporting *from* " "macOS). ``.app`` is not supported directly, although the generated ZIP " "archive contains an ``.app`` bundle." msgstr "" -#: ../../docs/tutorials/export/exporting_projects.rst:178 +#: ../../docs/tutorials/export/exporting_projects.rst:189 msgid "" "Linux: Any extension (including none). ``.x86_64`` is typically used for 64-" "bit x86 binaries." msgstr "" -#: ../../docs/tutorials/export/exporting_projects.rst:179 +#: ../../docs/tutorials/export/exporting_projects.rst:190 msgid "HTML5: ``.zip``" msgstr "" -#: ../../docs/tutorials/export/exporting_projects.rst:180 +#: ../../docs/tutorials/export/exporting_projects.rst:191 msgid "Android: ``.apk``" msgstr "" -#: ../../docs/tutorials/export/exporting_projects.rst:181 +#: ../../docs/tutorials/export/exporting_projects.rst:192 msgid "iOS: ``.zip``" msgstr "" -#: ../../docs/tutorials/export/exporting_projects.rst:183 +#: ../../docs/tutorials/export/exporting_projects.rst:194 msgid "" "You can also configure it to export *only* the PCK or ZIP file, allowing a " "single exported main pack file to be used with multiple Godot executables. " @@ -50809,61 +54379,61 @@ msgid "" "line:" msgstr "" -#: ../../docs/tutorials/export/exporting_projects.rst:191 +#: ../../docs/tutorials/export/exporting_projects.rst:202 msgid "" "It is often useful to combine the ``--export`` flag with the ``--path`` " "flag, so that you do not need to ``cd`` to the project folder before running " "the command:" msgstr "" -#: ../../docs/tutorials/export/exporting_projects.rst:201 +#: ../../docs/tutorials/export/exporting_projects.rst:212 msgid "" "See :ref:`doc_command_line_tutorial` for more information about using Godot " "from the command line." msgstr "" -#: ../../docs/tutorials/export/exporting_projects.rst:205 +#: ../../docs/tutorials/export/exporting_projects.rst:216 msgid "PCK versus ZIP pack file formats" msgstr "" -#: ../../docs/tutorials/export/exporting_projects.rst:207 +#: ../../docs/tutorials/export/exporting_projects.rst:218 msgid "" "Each format has its upsides and downsides. PCK is the default and " "recommended format for most use cases, but you may want to use a ZIP archive " "instead depending on your needs." msgstr "" -#: ../../docs/tutorials/export/exporting_projects.rst:211 +#: ../../docs/tutorials/export/exporting_projects.rst:222 msgid "**PCK format:**" msgstr "" -#: ../../docs/tutorials/export/exporting_projects.rst:213 +#: ../../docs/tutorials/export/exporting_projects.rst:224 msgid "Uncompressed format. Larger file size, but faster to read/write." msgstr "" -#: ../../docs/tutorials/export/exporting_projects.rst:214 +#: ../../docs/tutorials/export/exporting_projects.rst:225 msgid "" "Not readable and writable using tools normally present on the user's " "operating system, even though there are `third-party tools `__ to extract and create PCK files." msgstr "" -#: ../../docs/tutorials/export/exporting_projects.rst:219 +#: ../../docs/tutorials/export/exporting_projects.rst:230 msgid "**ZIP format:**" msgstr "" -#: ../../docs/tutorials/export/exporting_projects.rst:221 +#: ../../docs/tutorials/export/exporting_projects.rst:232 msgid "Compressed format. Smaller file size, but slower to read/write." msgstr "" -#: ../../docs/tutorials/export/exporting_projects.rst:222 +#: ../../docs/tutorials/export/exporting_projects.rst:233 msgid "" "Readable and writable using tools normally present on the user's operating " "system. This can be useful to make modding easier (see also :ref:" "`doc_exporting_pcks`)." msgstr "" -#: ../../docs/tutorials/export/exporting_projects.rst:227 +#: ../../docs/tutorials/export/exporting_projects.rst:238 msgid "" "Due to a `known bug `__, " "when using a ZIP file as a pack file, the exported binary will not try to " @@ -50871,7 +54441,7 @@ msgid "" "the player can double-click or run from a terminal to launch the project::" msgstr "" -#: ../../docs/tutorials/export/exporting_projects.rst:239 +#: ../../docs/tutorials/export/exporting_projects.rst:250 msgid "" "Save the launcher script and place it in the same folder as the exported " "binary. On Linux, make sure to give executable permissions to the launcher " @@ -51597,7 +55167,7 @@ msgid "" msgstr "" #: ../../docs/tutorials/export/exporting_for_linux.rst:22 -#: ../../docs/tutorials/export/exporting_for_macos.rst:218 +#: ../../docs/tutorials/export/exporting_for_macos.rst:219 #: ../../docs/tutorials/export/exporting_for_windows.rst:60 #: ../../docs/tutorials/export/exporting_for_ios.rst:114 #: ../../docs/tutorials/export/exporting_for_android.rst:182 @@ -51606,7 +55176,7 @@ msgid "Environment variables" msgstr "" #: ../../docs/tutorials/export/exporting_for_linux.rst:24 -#: ../../docs/tutorials/export/exporting_for_macos.rst:220 +#: ../../docs/tutorials/export/exporting_for_macos.rst:221 #: ../../docs/tutorials/export/exporting_for_windows.rst:62 #: ../../docs/tutorials/export/exporting_for_ios.rst:116 #: ../../docs/tutorials/export/exporting_for_android.rst:184 @@ -51622,7 +55192,7 @@ msgid "Linux export environment variables" msgstr "" #: ../../docs/tutorials/export/exporting_for_linux.rst:31 -#: ../../docs/tutorials/export/exporting_for_macos.rst:227 +#: ../../docs/tutorials/export/exporting_for_macos.rst:228 #: ../../docs/tutorials/export/exporting_for_windows.rst:69 #: ../../docs/tutorials/export/exporting_for_ios.rst:123 #: ../../docs/tutorials/export/exporting_for_android.rst:191 @@ -51631,7 +55201,7 @@ msgid "Export option" msgstr "" #: ../../docs/tutorials/export/exporting_for_linux.rst:32 -#: ../../docs/tutorials/export/exporting_for_macos.rst:228 +#: ../../docs/tutorials/export/exporting_for_macos.rst:229 #: ../../docs/tutorials/export/exporting_for_windows.rst:70 #: ../../docs/tutorials/export/exporting_for_ios.rst:124 #: ../../docs/tutorials/export/exporting_for_android.rst:192 @@ -51640,7 +55210,7 @@ msgid "Environment variable" msgstr "" #: ../../docs/tutorials/export/exporting_for_linux.rst:33 -#: ../../docs/tutorials/export/exporting_for_macos.rst:229 +#: ../../docs/tutorials/export/exporting_for_macos.rst:230 #: ../../docs/tutorials/export/exporting_for_windows.rst:71 #: ../../docs/tutorials/export/exporting_for_ios.rst:125 #: ../../docs/tutorials/export/exporting_for_android.rst:193 @@ -51649,7 +55219,7 @@ msgid "Encryption / Encryption Key" msgstr "" #: ../../docs/tutorials/export/exporting_for_linux.rst:34 -#: ../../docs/tutorials/export/exporting_for_macos.rst:230 +#: ../../docs/tutorials/export/exporting_for_macos.rst:231 #: ../../docs/tutorials/export/exporting_for_windows.rst:72 #: ../../docs/tutorials/export/exporting_for_ios.rst:126 #: ../../docs/tutorials/export/exporting_for_android.rst:194 @@ -51670,25 +55240,29 @@ msgstr "" #: ../../docs/tutorials/export/exporting_for_macos.rst:12 msgid "" -"macOS apps are exported as an ``.app`` bundle, a folder with a specific " +"macOS apps exported with the official export templates are exported as a " +"single \"Universal 2\" binary ``.app`` bundle, a folder with a specific " "structure which stores the executable, libraries and all the project files. " "This bundle can be exported as is, packed in a ZIP archive or DMG disk image " -"(only supported when exporting from a computer running macOS)." +"(only supported when exporting from a computer running macOS). `Universal " +"binaries for macOS support both Intel x86_64 and ARM64 (Apple silicon, i.e. " +"M1) architectures `__." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:18 +#: ../../docs/tutorials/export/exporting_for_macos.rst:19 msgid "" "Download the Godot export templates. Use the Godot menu: ``Editor > Manage " "Export Templates``." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:19 +#: ../../docs/tutorials/export/exporting_for_macos.rst:20 msgid "" "A valid and unique ``Bundle identifier`` should be set in the " "``Application`` section of the export options." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:23 +#: ../../docs/tutorials/export/exporting_for_macos.rst:24 msgid "" "Projects exported without code signing and notarization will be blocked by " "Gatekeeper if they are downloaded from unknown sources, see the :ref:" @@ -51696,78 +55270,78 @@ msgid "" "information." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:26 +#: ../../docs/tutorials/export/exporting_for_macos.rst:27 msgid "Code signing and notarization" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:28 +#: ../../docs/tutorials/export/exporting_for_macos.rst:29 msgid "" "By default, macOS will run only applications that are signed and notarized. " "If you use any other signing configuration, see :ref:`Running Godot apps on " "macOS ` for workarounds." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:30 +#: ../../docs/tutorials/export/exporting_for_macos.rst:31 msgid "" "To notarize an app, you **must** have a valid `Apple Developer ID " "Certificate `__." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:33 +#: ../../docs/tutorials/export/exporting_for_macos.rst:34 msgid "If you have an Apple Developer ID Certificate and exporting from macOS" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:35 +#: ../../docs/tutorials/export/exporting_for_macos.rst:36 msgid "" "Install `Xcode `__ command line tools " "and open Xcode at least once or run the ``sudo xcodebuild -license accept`` " "command to accept license agreement." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:38 -#: ../../docs/tutorials/export/exporting_for_macos.rst:62 +#: ../../docs/tutorials/export/exporting_for_macos.rst:39 +#: ../../docs/tutorials/export/exporting_for_macos.rst:63 msgid "To sign exported app" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:40 +#: ../../docs/tutorials/export/exporting_for_macos.rst:41 msgid "Select ``Xcode codesign`` in the ``Code Signing > Codesign`` option." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:41 +#: ../../docs/tutorials/export/exporting_for_macos.rst:42 msgid "" "Set valid Apple ID certificate identity (certificate \"Common Name\") in the " "``Code Signing > Identity`` section." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:44 -#: ../../docs/tutorials/export/exporting_for_macos.rst:68 +#: ../../docs/tutorials/export/exporting_for_macos.rst:45 +#: ../../docs/tutorials/export/exporting_for_macos.rst:69 msgid "To notarize exported app" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:46 +#: ../../docs/tutorials/export/exporting_for_macos.rst:47 msgid "Select ``Xcode altool`` in the ``Notarization > Notarization`` option." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:47 -#: ../../docs/tutorials/export/exporting_for_macos.rst:71 +#: ../../docs/tutorials/export/exporting_for_macos.rst:48 +#: ../../docs/tutorials/export/exporting_for_macos.rst:72 msgid "Disable the ``Debugging`` entitlement." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:48 +#: ../../docs/tutorials/export/exporting_for_macos.rst:49 msgid "" "Set valid Apple ID login / app. specific password or `App Store Connect " "`__ API UUID / " "Key in the ``Notarization`` section." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:50 +#: ../../docs/tutorials/export/exporting_for_macos.rst:51 msgid "" "You can use the ``xcrun notarytool history`` command to check notarization " "status and use the ``xcrun notarytool log {ID}`` command to download the " "notarization log." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:52 +#: ../../docs/tutorials/export/exporting_for_macos.rst:53 msgid "" "If you encounter notarization issues, see `Resolving common notarization " "issues `__ for more info." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:54 +#: ../../docs/tutorials/export/exporting_for_macos.rst:55 msgid "" "After notarization is completed, `staple the ticket `__ to the exported project." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:57 +#: ../../docs/tutorials/export/exporting_for_macos.rst:58 msgid "" "If you have an Apple Developer ID Certificate and exporting from Linux or " "Windows" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:59 +#: ../../docs/tutorials/export/exporting_for_macos.rst:60 msgid "" "Install `PyOxidizer rcodesign `__, and configure the path to ``rcodesign`` in the " "``Editor Settings > Export > macOS > rcodesign``." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:64 +#: ../../docs/tutorials/export/exporting_for_macos.rst:65 msgid "" "Select ``PyOxidizer rcodesign`` in the ``Code Signing > Codesign`` option." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:65 +#: ../../docs/tutorials/export/exporting_for_macos.rst:66 msgid "" "Set valid Apple ID PKCS #12 certificate file and password in the ``Code " "Signing`` section." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:70 +#: ../../docs/tutorials/export/exporting_for_macos.rst:71 msgid "" "Select ``PyOxidizer rcodesign`` in the ``Notarization > Notarization`` " "option." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:72 +#: ../../docs/tutorials/export/exporting_for_macos.rst:73 msgid "" "Set valid `App Store Connect `__ API UUID / Key in the ``Notarization`` section." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:74 +#: ../../docs/tutorials/export/exporting_for_macos.rst:75 msgid "" "You can use the ``rcodesign notary-log`` command to check notarization " "status." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:76 +#: ../../docs/tutorials/export/exporting_for_macos.rst:77 msgid "" "After notarization is completed, use the ``rcodesign staple`` command to " "staple the ticket to the exported project." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:79 +#: ../../docs/tutorials/export/exporting_for_macos.rst:80 msgid "If you do not have an Apple Developer ID Certificate" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:81 +#: ../../docs/tutorials/export/exporting_for_macos.rst:82 msgid "" "Select ``Built-in (ad-hoc only)`` in the ``Code Signing > Codesign`` option." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:82 +#: ../../docs/tutorials/export/exporting_for_macos.rst:83 msgid "Select ``Disabled`` in the ``Notarization > Notarization`` option." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:84 +#: ../../docs/tutorials/export/exporting_for_macos.rst:85 msgid "" "In this case Godot will use a ad-hoc signature, which will make running an " "exported app easier for the end users, see the :ref:`Running Godot apps on " "macOS ` page for more information." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:87 +#: ../../docs/tutorials/export/exporting_for_macos.rst:88 msgid "Signing Options" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:90 -#: ../../docs/tutorials/export/exporting_for_macos.rst:110 +#: ../../docs/tutorials/export/exporting_for_macos.rst:91 +#: ../../docs/tutorials/export/exporting_for_macos.rst:111 msgid "Option" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:92 +#: ../../docs/tutorials/export/exporting_for_macos.rst:93 msgid "Codesign" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:92 +#: ../../docs/tutorials/export/exporting_for_macos.rst:93 msgid "Tool to use for code signing." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:94 +#: ../../docs/tutorials/export/exporting_for_macos.rst:95 msgid "Identity" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:94 +#: ../../docs/tutorials/export/exporting_for_macos.rst:95 msgid "" "The \"Full Name\" or \"Common Name\" of the signing identity, store in the " "macOS keychain. [1]_" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:96 +#: ../../docs/tutorials/export/exporting_for_macos.rst:97 msgid "Certificate File" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:96 +#: ../../docs/tutorials/export/exporting_for_macos.rst:97 msgid "The PKCS #12 certificate file. [2]_" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:98 +#: ../../docs/tutorials/export/exporting_for_macos.rst:99 msgid "Certificate Password" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:98 +#: ../../docs/tutorials/export/exporting_for_macos.rst:99 msgid "Password for the certificate file. [2]_" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:100 +#: ../../docs/tutorials/export/exporting_for_macos.rst:101 msgid "Custom Options" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:100 +#: ../../docs/tutorials/export/exporting_for_macos.rst:101 msgid "Array of command line arguments passed to the code signing tool." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:103 +#: ../../docs/tutorials/export/exporting_for_macos.rst:104 msgid "This option is visible only when signing with Xcode codesign." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:104 +#: ../../docs/tutorials/export/exporting_for_macos.rst:105 msgid "These options are visible only when signing with PyOxidizer rcodesign." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:107 +#: ../../docs/tutorials/export/exporting_for_macos.rst:108 msgid "Notarization Options" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:112 +#: ../../docs/tutorials/export/exporting_for_macos.rst:113 msgid "Notarization" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:112 +#: ../../docs/tutorials/export/exporting_for_macos.rst:113 msgid "Tool to use for notarization." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:114 +#: ../../docs/tutorials/export/exporting_for_macos.rst:115 msgid "Apple ID Name" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:114 +#: ../../docs/tutorials/export/exporting_for_macos.rst:115 msgid "Apple ID account name (email address). [3]_" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:116 +#: ../../docs/tutorials/export/exporting_for_macos.rst:117 msgid "Apple ID Password" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:116 +#: ../../docs/tutorials/export/exporting_for_macos.rst:117 msgid "" "Apple ID app-specific password. See `Using app-specific passwords `__ to enable two-factor authentication and " "create app password. [3]_" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:118 +#: ../../docs/tutorials/export/exporting_for_macos.rst:119 msgid "Apple Team ID" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:118 +#: ../../docs/tutorials/export/exporting_for_macos.rst:119 msgid "" "Team ID (\"Organization Unit\"), if your Apple ID belongs to multiple teams " "(optional). [3]_" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:120 +#: ../../docs/tutorials/export/exporting_for_macos.rst:121 msgid "API UUID" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:120 +#: ../../docs/tutorials/export/exporting_for_macos.rst:121 msgid "" "Apple `App Store Connect `__ API issuer UUID." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:122 +#: ../../docs/tutorials/export/exporting_for_macos.rst:123 msgid "API Key" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:122 +#: ../../docs/tutorials/export/exporting_for_macos.rst:123 msgid "" "Apple `App Store Connect `__ API key." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:127 +#: ../../docs/tutorials/export/exporting_for_macos.rst:128 msgid "" "You should set either Apple ID Name/Password or App Store Connect API UUID/" "Key." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:129 +#: ../../docs/tutorials/export/exporting_for_macos.rst:130 msgid "These options are visible only when notarizing with Xcode altool." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:131 +#: ../../docs/tutorials/export/exporting_for_macos.rst:132 msgid "" "See `Notarizing macOS Software Before Distribution `__ for more info." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:134 +#: ../../docs/tutorials/export/exporting_for_macos.rst:135 msgid "Entitlements" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:137 +#: ../../docs/tutorials/export/exporting_for_macos.rst:138 msgid "Hardened Runtime Entitlements" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:139 +#: ../../docs/tutorials/export/exporting_for_macos.rst:140 msgid "" "Hardened Runtime entitlements manage security options and resource access " "policy. See `Hardened Runtime `__ for more info." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:143 -#: ../../docs/tutorials/export/exporting_for_macos.rst:186 +#: ../../docs/tutorials/export/exporting_for_macos.rst:144 +#: ../../docs/tutorials/export/exporting_for_macos.rst:187 msgid "Entitlement" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:145 +#: ../../docs/tutorials/export/exporting_for_macos.rst:146 msgid "Allow JIT Code Execution [4]_" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:145 +#: ../../docs/tutorials/export/exporting_for_macos.rst:146 msgid "" "Allows creating writable and executable memory for JIT code. If you are " "using add-ons with dynamic or self-modifying native code, enable them " "according to the add-on documentation." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:147 +#: ../../docs/tutorials/export/exporting_for_macos.rst:148 msgid "Allow Unsigned Executable Memory [4]_" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:147 +#: ../../docs/tutorials/export/exporting_for_macos.rst:148 msgid "" "Allows creating writable and executable memory without JIT restrictions. If " "you are using add-ons with dynamic or self-modifying native code, enable " "them according to the add-on documentation." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:149 +#: ../../docs/tutorials/export/exporting_for_macos.rst:150 msgid "Allow DYLD Environment Variables [4]_" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:149 +#: ../../docs/tutorials/export/exporting_for_macos.rst:150 msgid "" "Allows app to uss dynamic linker environment variables to inject code. If " "you are using add-ons with dynamic or self-modifying native code, enable " "them according to the add-on documentation." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:151 +#: ../../docs/tutorials/export/exporting_for_macos.rst:152 msgid "Disable Library Validation" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:151 +#: ../../docs/tutorials/export/exporting_for_macos.rst:152 msgid "" "Allows app to load arbitrary libraries and frameworks. Enable it if you are " "using GDExtension add-ons or ad-hoc signing, or want to support user-" "provided external add-ons." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:153 +#: ../../docs/tutorials/export/exporting_for_macos.rst:154 msgid "Audio Input" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:153 +#: ../../docs/tutorials/export/exporting_for_macos.rst:154 msgid "" "Enable if you need to use the microphone or other audio input sources, if " "it's enabled you should also provide usage message in the `privacy/" "microphone_usage_description` option." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:155 +#: ../../docs/tutorials/export/exporting_for_macos.rst:156 msgid "Camera" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:155 +#: ../../docs/tutorials/export/exporting_for_macos.rst:156 msgid "" "Enable if you need to use the camera, if it's enabled you should also " "provide usage message in the `privacy/camera_usage_description` option." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:157 +#: ../../docs/tutorials/export/exporting_for_macos.rst:158 #: ../../docs/tutorials/io/data_paths.rst:72 #: ../../docs/tutorials/io/data_paths.rst:121 msgid "Location" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:157 +#: ../../docs/tutorials/export/exporting_for_macos.rst:158 msgid "" "Enable if you need to use location information from Location Services, if " "it's enabled you should also provide usage message in the `privacy/" "location_usage_description` option." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:159 +#: ../../docs/tutorials/export/exporting_for_macos.rst:160 msgid "Address Book" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:159 +#: ../../docs/tutorials/export/exporting_for_macos.rst:160 msgid "" "[5]_ Enable to allow access contacts in the user's address book, if it's " "enabled you should also provide usage message in the `privacy/" "address_book_usage_description` option." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:161 +#: ../../docs/tutorials/export/exporting_for_macos.rst:162 msgid "Calendars" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:161 +#: ../../docs/tutorials/export/exporting_for_macos.rst:162 msgid "" "[5]_ Enable to allow access to the user's calendar, if it's enabled you " "should also provide usage message in the `privacy/" "calendar_usage_description` option." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:163 +#: ../../docs/tutorials/export/exporting_for_macos.rst:164 msgid "Photo Library" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:163 +#: ../../docs/tutorials/export/exporting_for_macos.rst:164 msgid "" "[5]_ Enable to allow access to the user's Photos library, if it's enabled " "you should also provide usage message in the `privacy/" "photos_library_usage_description` option." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:165 +#: ../../docs/tutorials/export/exporting_for_macos.rst:166 msgid "Apple Events" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:165 +#: ../../docs/tutorials/export/exporting_for_macos.rst:166 msgid "[5]_ Enable to allow app to send Apple events to other apps." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:167 +#: ../../docs/tutorials/export/exporting_for_macos.rst:168 msgid "" "[6]_ You can temporarily enable this entitlement to use native debugger " "(GDB, LLDB) with the exported app. This entitlement should be disabled for " "production export." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:170 +#: ../../docs/tutorials/export/exporting_for_macos.rst:171 msgid "" "The ``Allow JIT Code Execution``, ``Allow Unsigned Executable Memory`` and " "``Allow DYLD Environment Variables`` entitlements are always enabled for the " "Godot Mono exports, and are not visible in the export options." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:171 +#: ../../docs/tutorials/export/exporting_for_macos.rst:172 msgid "" "These features aren't supported by Godot out of the box, enable them only if " "you are using add-ons which require them." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:172 +#: ../../docs/tutorials/export/exporting_for_macos.rst:173 msgid "To notarize an app, you must disable the ``Debugging`` entitlement." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:175 +#: ../../docs/tutorials/export/exporting_for_macos.rst:176 msgid "App Sandbox Entitlement" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:177 +#: ../../docs/tutorials/export/exporting_for_macos.rst:178 msgid "" "The App Sandbox restricts access to user data, networking and devices. " "Sandboxed apps can't access most of the file system, can't use custom file " @@ -52164,184 +55738,184 @@ msgid "" "more info." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:183 +#: ../../docs/tutorials/export/exporting_for_macos.rst:184 msgid "" "To distribute an app through the App Store, you must enable the App Sandbox." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:188 +#: ../../docs/tutorials/export/exporting_for_macos.rst:189 msgid "Enabled" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:188 +#: ../../docs/tutorials/export/exporting_for_macos.rst:189 msgid "Enables App Sandbox." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:190 +#: ../../docs/tutorials/export/exporting_for_macos.rst:191 msgid "Network Server" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:190 +#: ../../docs/tutorials/export/exporting_for_macos.rst:191 msgid "Enable to allow app to listen for incoming network connections." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:192 +#: ../../docs/tutorials/export/exporting_for_macos.rst:193 msgid "Network Client" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:192 +#: ../../docs/tutorials/export/exporting_for_macos.rst:193 msgid "Enable to allow app to establish outgoing network connections." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:194 +#: ../../docs/tutorials/export/exporting_for_macos.rst:195 msgid "Device USB" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:194 +#: ../../docs/tutorials/export/exporting_for_macos.rst:195 msgid "" "Enable to allow app to interact with USB devices. This entitlement is " "required to use wired controllers." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:196 +#: ../../docs/tutorials/export/exporting_for_macos.rst:197 msgid "Device Bluetooth" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:196 +#: ../../docs/tutorials/export/exporting_for_macos.rst:197 msgid "" "Enable to allow app to interact with Bluetooth devices. This entitlement is " "required to use wireless controllers." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:198 +#: ../../docs/tutorials/export/exporting_for_macos.rst:199 msgid "Files Downloads [7]_" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:198 +#: ../../docs/tutorials/export/exporting_for_macos.rst:199 msgid "Allows read or write access to the user's \"Downloads\" folder." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:200 +#: ../../docs/tutorials/export/exporting_for_macos.rst:201 msgid "Files Pictures [7]_" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:200 +#: ../../docs/tutorials/export/exporting_for_macos.rst:201 msgid "Allows read or write access to the user's \"Pictures\" folder." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:202 +#: ../../docs/tutorials/export/exporting_for_macos.rst:203 msgid "Files Music [7]_" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:202 +#: ../../docs/tutorials/export/exporting_for_macos.rst:203 msgid "Allows read or write access to the user's \"Music\" folder." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:204 +#: ../../docs/tutorials/export/exporting_for_macos.rst:205 msgid "Files Movies [7]_" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:204 +#: ../../docs/tutorials/export/exporting_for_macos.rst:205 msgid "Allows read or write access to the user's \"Movies\" folder." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:206 +#: ../../docs/tutorials/export/exporting_for_macos.rst:207 msgid "Files User Selected [7]_" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:206 +#: ../../docs/tutorials/export/exporting_for_macos.rst:207 msgid "" "Allows read or write access to arbitrary folder. To gain access, a folder " "must be selected from the native file dialog by the user." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:208 +#: ../../docs/tutorials/export/exporting_for_macos.rst:209 msgid "Helper Executable" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:208 +#: ../../docs/tutorials/export/exporting_for_macos.rst:209 msgid "" "List of helper executables to embedded to the app bundle. Sandboxed app are " "limited to execute only these executable." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:211 +#: ../../docs/tutorials/export/exporting_for_macos.rst:212 msgid "" "You can optionally provide usage messages for various folders in the " "`privacy/*_folder_usage_description` options." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:215 +#: ../../docs/tutorials/export/exporting_for_macos.rst:216 msgid "" "You can override default entitlements by selecting custom entitlements file, " "in this case all other entitlement are ignored." msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:224 +#: ../../docs/tutorials/export/exporting_for_macos.rst:225 msgid "macOS export environment variables" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:231 +#: ../../docs/tutorials/export/exporting_for_macos.rst:232 msgid "Options / Codesign / Certificate File" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:232 +#: ../../docs/tutorials/export/exporting_for_macos.rst:233 msgid "``GODOT_MACOS_CODESIGN_CERTIFICATE_FILE``" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:233 +#: ../../docs/tutorials/export/exporting_for_macos.rst:234 msgid "Options / Codesign / Certificate Password" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:234 +#: ../../docs/tutorials/export/exporting_for_macos.rst:235 msgid "``GODOT_MACOS_CODESIGN_CERTIFICATE_PASSWORD``" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:235 +#: ../../docs/tutorials/export/exporting_for_macos.rst:236 msgid "Options / Codesign / Provisioning Profile" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:236 +#: ../../docs/tutorials/export/exporting_for_macos.rst:237 msgid "``GODOT_MACOS_CODESIGN_PROVISIONING_PROFILE``" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:237 +#: ../../docs/tutorials/export/exporting_for_macos.rst:238 msgid "Options / Notarization / API UUID" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:238 +#: ../../docs/tutorials/export/exporting_for_macos.rst:239 msgid "``GODOT_MACOS_NOTARIZATION_API_UUID``" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:239 +#: ../../docs/tutorials/export/exporting_for_macos.rst:240 msgid "Options / Notarization / API Key" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:240 +#: ../../docs/tutorials/export/exporting_for_macos.rst:241 msgid "``GODOT_MACOS_NOTARIZATION_API_KEY``" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:241 +#: ../../docs/tutorials/export/exporting_for_macos.rst:242 msgid "Options / Notarization / API Key ID" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:242 +#: ../../docs/tutorials/export/exporting_for_macos.rst:243 msgid "``GODOT_MACOS_NOTARIZATION_API_KEY_ID``" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:243 +#: ../../docs/tutorials/export/exporting_for_macos.rst:244 msgid "Options / Notarization / Apple ID Name" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:244 +#: ../../docs/tutorials/export/exporting_for_macos.rst:245 msgid "``GODOT_MACOS_NOTARIZATION_APPLE_ID_NAME``" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:245 +#: ../../docs/tutorials/export/exporting_for_macos.rst:246 msgid "Options / Notarization / Apple ID Password" msgstr "" -#: ../../docs/tutorials/export/exporting_for_macos.rst:246 +#: ../../docs/tutorials/export/exporting_for_macos.rst:247 msgid "``GODOT_MACOS_NOTARIZATION_APPLE_ID_PASSWORD``" msgstr "" @@ -53070,6 +56644,41 @@ msgstr "" msgid "``GODOT_IOS_PROVISIONING_PROFILE_UUID_RELEASE``" msgstr "" +#: ../../docs/tutorials/export/exporting_for_ios.rst:136 +msgid "xcode-select points at wrong SDK location" +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_ios.rst:138 +msgid "" +"xcode-select is a tool that comes with Xcode and among other things points " +"at iOS SDKs on your Mac. If you have Xcode installed, opened it, agreed to " +"the license agreement, and installed the command line tools, xcode-select " +"should point at the right location for the iPhone SDK. If it somehow " +"doesn't, Godot will fail exporting to iOS with an error that may look like " +"this:" +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_ios.rst:148 +msgid "" +"In this case, Godot is trying to find the ``Platforms`` folder containing " +"the iPhone SDK inside the ``/Library/Developer/CommandLineTools/`` folder, " +"but the ``Platforms`` folder with the iPhone SDK is actually located under " +"``/Applications/Xcode.app/Contents/Developer``. To verify this, you can open " +"up Terminal and run the following command to see what xcode-select points at:" +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_ios.rst:157 +msgid "" +"To fix xcode-select pointing at a wrong location, enter this command in " +"Terminal:" +msgstr "" + +#: ../../docs/tutorials/export/exporting_for_ios.rst:163 +msgid "" +"After running this command, Godot should be able to successfully export to " +"iOS." +msgstr "" + #: ../../docs/tutorials/export/exporting_for_android.rst:4 msgid "Exporting for Android" msgstr "" @@ -53158,7 +56767,7 @@ msgstr "" #: ../../docs/tutorials/export/exporting_for_android.rst:43 msgid "" "Alternatively, you can install the Android SDK using the `command line tools " -"`__." +"`__." msgstr "" #: ../../docs/tutorials/export/exporting_for_android.rst:45 @@ -54047,7 +57656,7 @@ msgid "HTML5 export environment variables" msgstr "" #: ../../docs/tutorials/export/exporting_for_dedicated_servers.rst:4 -#: ../../docs/tutorials/networking/high_level_multiplayer.rst:403 +#: ../../docs/tutorials/networking/high_level_multiplayer.rst:413 msgid "Exporting for dedicated servers" msgstr "" @@ -54530,8 +58139,8 @@ msgid "" msgstr "" #: ../../docs/tutorials/io/background_loading.rst:42 -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:238 -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:178 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:235 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:172 #: ../../docs/tutorials/shaders/visual_shaders.rst:118 #: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:232 #: ../../docs/contributing/documentation/class_reference_primer.rst:138 @@ -54720,9 +58329,9 @@ msgstr "" #: ../../docs/tutorials/shaders/shader_reference/shading_language.rst:23 #: ../../docs/tutorials/shaders/shader_reference/shading_language.rst:779 #: ../../docs/tutorials/shaders/visual_shaders.rst:115 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:90 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:163 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:228 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:91 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:164 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:229 msgid "Type" msgstr "" @@ -55549,7 +59158,7 @@ msgid "null" msgstr "" #: ../../docs/tutorials/io/binary_serialization_api.rst:47 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:102 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:103 msgid "bool" msgstr "" @@ -55558,12 +59167,12 @@ msgid "integer" msgstr "" #: ../../docs/tutorials/io/binary_serialization_api.rst:51 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:98 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:171 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:173 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:175 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:177 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:236 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:99 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:172 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:174 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:176 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:178 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:237 msgid "float" msgstr "" @@ -57199,7 +60808,7 @@ msgstr "" #: ../../docs/tutorials/i18n/localization_using_gettext.rst:61 msgid "" "Since Godot 4.0, the editor can generate a PO template automatically from " -"specified scene and script files. This POT generation also supports " +"specified scene and GDScript files. This POT generation also supports " "translation contexts and pluralization if used in a script, with the " "optional second argument of ``tr()`` and the ``tr_n()`` method." msgstr "" @@ -66099,14 +69708,12 @@ msgid "" "(in the ray direction from the click) will be cast. If this ray hits an " "object, it will call the :ref:`CollisionObject3D._input_event() " "` function in the " -"relevant physics object (bodies receive this callback by default, but areas " -"do not. This can be configured through :ref:`Area3D ` " -"properties). In the case of a 2D scene, conceptually the same happens with :" -"ref:`CollisionObject2D._input_event() " +"relevant physics object. In the case of a 2D scene, conceptually the same " +"happens with :ref:`CollisionObject2D._input_event() " "`." msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:120 +#: ../../docs/tutorials/inputs/inputevent.rst:119 msgid "" "When sending events to its child and descendant nodes, the viewport will do " "so, as depicted in the following graphic, in a reverse depth-first order, " @@ -66114,20 +69721,20 @@ msgid "" "root node. Excluded from this process are Windows and SubViewports." msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:127 +#: ../../docs/tutorials/inputs/inputevent.rst:126 msgid "" "This order doesn't apply to :ref:`Control._gui_input() " "`, which uses a different method " "based on event location or focused Control." msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:130 +#: ../../docs/tutorials/inputs/inputevent.rst:129 msgid "" "Since Viewports don't send events to other :ref:`SubViewports " "`, one of the following methods has to be used:" msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:133 +#: ../../docs/tutorials/inputs/inputevent.rst:132 msgid "" "Use a :ref:`SubViewportContainer `, which " "automatically sends events to its child :ref:`SubViewports " @@ -66136,162 +69743,162 @@ msgid "" "`." msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:136 +#: ../../docs/tutorials/inputs/inputevent.rst:135 msgid "Implement event propagation based on the individual requirements." msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:138 +#: ../../docs/tutorials/inputs/inputevent.rst:137 msgid "" "GUI events also travel up the scene tree but, since these events target " "specific Controls, only direct ancestors of the targeted Control node " "receive the event." msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:141 +#: ../../docs/tutorials/inputs/inputevent.rst:140 msgid "" "In accordance with Godot's node-based design, this enables specialized child " "nodes to handle and consume particular events, while their ancestors, and " "ultimately the scene root, can provide more generalized behavior if needed." msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:147 +#: ../../docs/tutorials/inputs/inputevent.rst:146 msgid "Anatomy of an InputEvent" msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:149 +#: ../../docs/tutorials/inputs/inputevent.rst:148 msgid "" ":ref:`InputEvent ` is just a base built-in type, it does " "not represent anything and only contains some basic information, such as " "event ID (which is increased for each event), device index, etc." msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:153 +#: ../../docs/tutorials/inputs/inputevent.rst:152 msgid "" "There are several specialized types of InputEvent, described in the table " "below:" msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:156 +#: ../../docs/tutorials/inputs/inputevent.rst:155 msgid "Event" msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:158 +#: ../../docs/tutorials/inputs/inputevent.rst:157 msgid ":ref:`InputEvent `" msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:158 +#: ../../docs/tutorials/inputs/inputevent.rst:157 msgid "Empty Input Event." msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:160 +#: ../../docs/tutorials/inputs/inputevent.rst:159 msgid ":ref:`InputEventKey `" msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:160 +#: ../../docs/tutorials/inputs/inputevent.rst:159 msgid "Contains a keycode and Unicode value, as well as modifiers." msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:163 +#: ../../docs/tutorials/inputs/inputevent.rst:162 msgid ":ref:`InputEventMouseButton `" msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:163 +#: ../../docs/tutorials/inputs/inputevent.rst:162 msgid "Contains click information, such as button, modifiers, etc." msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:166 +#: ../../docs/tutorials/inputs/inputevent.rst:165 msgid ":ref:`InputEventMouseMotion `" msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:166 +#: ../../docs/tutorials/inputs/inputevent.rst:165 msgid "" "Contains motion information, such as relative and absolute positions and " "speed." msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:170 +#: ../../docs/tutorials/inputs/inputevent.rst:169 msgid ":ref:`InputEventJoypadMotion `" msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:170 +#: ../../docs/tutorials/inputs/inputevent.rst:169 msgid "Contains Joystick/Joypad analog axis information." msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:173 +#: ../../docs/tutorials/inputs/inputevent.rst:172 msgid ":ref:`InputEventJoypadButton `" msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:173 +#: ../../docs/tutorials/inputs/inputevent.rst:172 msgid "Contains Joystick/Joypad button information." msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:176 +#: ../../docs/tutorials/inputs/inputevent.rst:175 msgid ":ref:`InputEventScreenTouch `" msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:176 +#: ../../docs/tutorials/inputs/inputevent.rst:175 msgid "" "Contains multi-touch press/release information. (only available on mobile " "devices)" msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:180 +#: ../../docs/tutorials/inputs/inputevent.rst:179 msgid ":ref:`InputEventScreenDrag `" msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:180 +#: ../../docs/tutorials/inputs/inputevent.rst:179 msgid "" "Contains multi-touch drag information. (only available on mobile devices)" msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:183 +#: ../../docs/tutorials/inputs/inputevent.rst:182 msgid ":ref:`InputEventMagnifyGesture `" msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:183 +#: ../../docs/tutorials/inputs/inputevent.rst:182 msgid "Contains a position, a factor as well as modifiers." msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:186 +#: ../../docs/tutorials/inputs/inputevent.rst:185 msgid ":ref:`InputEventPanGesture `" msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:186 +#: ../../docs/tutorials/inputs/inputevent.rst:185 msgid "Contains a position, a delta as well as modifiers." msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:189 +#: ../../docs/tutorials/inputs/inputevent.rst:188 msgid ":ref:`InputEventMIDI `" msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:189 +#: ../../docs/tutorials/inputs/inputevent.rst:188 msgid "Contains MIDI-related information." msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:191 +#: ../../docs/tutorials/inputs/inputevent.rst:190 msgid ":ref:`InputEventShortcut `" msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:191 +#: ../../docs/tutorials/inputs/inputevent.rst:190 msgid "Contains a shortcut." msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:193 +#: ../../docs/tutorials/inputs/inputevent.rst:192 msgid ":ref:`InputEventAction `" msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:193 +#: ../../docs/tutorials/inputs/inputevent.rst:192 msgid "" "Contains a generic action. These events are often generated by the " "programmer as feedback. (more on this below)" msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:199 +#: ../../docs/tutorials/inputs/inputevent.rst:198 #: ../../docs/tutorials/xr/xr_action_map.rst:130 msgid "Actions" msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:201 +#: ../../docs/tutorials/inputs/inputevent.rst:200 msgid "" "Actions are a grouping of zero or more InputEvents into a commonly " "understood title (for example, the default \"ui_left\" action grouping both " @@ -66300,31 +69907,31 @@ msgid "" "when programming the game logic." msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:206 +#: ../../docs/tutorials/inputs/inputevent.rst:205 msgid "This allows for:" msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:208 +#: ../../docs/tutorials/inputs/inputevent.rst:207 msgid "" "The same code to work on different devices with different inputs (e.g., " "keyboard on PC, Joypad on console)." msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:210 +#: ../../docs/tutorials/inputs/inputevent.rst:209 msgid "Input to be reconfigured at run-time." msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:211 +#: ../../docs/tutorials/inputs/inputevent.rst:210 msgid "Actions to be triggered programmatically at run-time." msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:213 +#: ../../docs/tutorials/inputs/inputevent.rst:212 msgid "" "Actions can be created from the Project Settings menu in the **Input Map** " "tab and assigned input events." msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:216 +#: ../../docs/tutorials/inputs/inputevent.rst:215 msgid "" "Any event has the methods :ref:`InputEvent.is_action() " "`, :ref:`InputEvent.is_pressed() " @@ -66332,7 +69939,7 @@ msgid "" "`." msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:219 +#: ../../docs/tutorials/inputs/inputevent.rst:218 msgid "" "Alternatively, it may be desired to supply the game back with an action from " "the game code (a good example of this is detecting gestures). The Input " @@ -66340,12 +69947,12 @@ msgid "" "`. You would normally use it like this:" msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:244 +#: ../../docs/tutorials/inputs/inputevent.rst:243 #: ../../docs/tutorials/inputs/input_examples.rst:153 msgid "InputMap" msgstr "" -#: ../../docs/tutorials/inputs/inputevent.rst:246 +#: ../../docs/tutorials/inputs/inputevent.rst:245 msgid "" "Customizing and re-mapping input from code is often desired. If your whole " "workflow depends on actions, the :ref:`InputMap ` singleton " @@ -67050,11 +70657,19 @@ msgid "" "confirm that your controller is recognized." msgstr "" -#: ../../docs/tutorials/inputs/controllers_gamepads_joysticks.rst:297 +#: ../../docs/tutorials/inputs/controllers_gamepads_joysticks.rst:296 +msgid "" +"On Windows Godot only supports up to 4 controllers at a time. This is " +"because Godot uses the XInput API, which is limited to supporting 4 " +"controllers at once. Additional controllers above this limit are ignored by " +"Godot." +msgstr "" + +#: ../../docs/tutorials/inputs/controllers_gamepads_joysticks.rst:301 msgid "My controller has incorrectly mapped buttons or axes." msgstr "" -#: ../../docs/tutorials/inputs/controllers_gamepads_joysticks.rst:299 +#: ../../docs/tutorials/inputs/controllers_gamepads_joysticks.rst:303 msgid "" "First, if your controller provides some kind of firmware update utility, " "make sure to run it to get the latest fixes from the manufacturer. For " @@ -67067,7 +70682,7 @@ msgid "" "if you are using the controller in wireless mode." msgstr "" -#: ../../docs/tutorials/inputs/controllers_gamepads_joysticks.rst:308 +#: ../../docs/tutorials/inputs/controllers_gamepads_joysticks.rst:312 msgid "" "If buttons are incorrectly mapped, this may be due to an erroneous mapping " "from the `SDL game controller database ` and :ref:" "`NavigationMesh` respectively." msgstr "" -#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:12 +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:14 msgid "" "A navigation mesh only describes a traversable area for an agent's center " "position. Any radius values an agent may have are ignored. If you want " @@ -70312,7 +73927,7 @@ msgid "" "the navigation mesh accordingly." msgstr "" -#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:15 +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:17 msgid "" "Navigation works independently from other engine parts like rendering or " "physics. Navigation meshes are the only things considered when doing " @@ -70324,7 +73939,17 @@ msgid "" "baking." msgstr "" -#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:20 +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:26 +msgid "Navigation mesh polygon convex vs concave comparison" +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:26 +msgid "" +"A navigation mesh describes a surface that an agent can stand on safely with " +"its center compared to physics shapes that describe outer collision bounds." +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:28 msgid "" "If you experience clipping or collision problems while following navigation " "paths, always remember that you need to tell the navigation system what your " @@ -70334,200 +73959,446 @@ msgid "" "path safely because it is on a navigation mesh\"." msgstr "" -#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:26 -msgid "Creating 2D navigation meshes" -msgstr "" - -#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:28 -msgid "" -"Navigation meshes in the 2D editor are created with the help of the " -"NavigationPolygon draw tools that appear in the top bar of the editor when a " -"NavigationRegion2D is selected." -msgstr "" - #: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:33 msgid "" -"The NavigationPolygon draw tools can be used to create and edit navigation " -"meshes by defining **outline** polygons. The outline polygons are later " -"converted to real navigation mesh resources for the NavigationServer regions." +"Navigation mesh baking can be done either by using a :ref:" +"`NavigationRegion2D` or :ref:" +"`NavigationRegion3D`, or by using the :ref:" +"`NavigationServer2D` and :ref:" +"`NavigationServer3D` API directly." msgstr "" -#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:38 -msgid "" -"Multiple outlines can be added to the same NavigationPolygon resource as " -"long as they **do not intersect or overlap**. Each additional outline will " -"cut a hole in the polygon created by the larger outline. If the larger " -"polygon is already a hole, it will create a new navigation mesh polygon " -"inside." +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:39 +msgid "Baking a navigation mesh with a NavigationRegion" msgstr "" -#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:42 -msgid "" -"Outlines are not a replacement if the intention is to merge aligned polygons " -"e.g. from grid cells. Outlines, as the name would suggest, cannot intersect " -"each other or have any overlapping vertex positions." +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:45 +msgid "Navigation mesh baking steps" +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:45 +msgid "Baking a navigation mesh with agent radius offset from geometry." msgstr "" #: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:47 msgid "" -"Outline layouts like seen in this picture will fail the convex partitioning " -"required by the navigation mesh generation. In these layout cases, the " -"outline tool cannot be used. Use the :ref:`Geometry2D` " -"class to merge or intersect polygons to create a merged mesh that is valid " -"for navigation." +"The navigation mesh baking is made more accessible with the NavigationRegion " +"node. When baking with a NavigationRegion node, the individual parsing, " +"baking, and region update steps are all combined into one function." msgstr "" -#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:52 +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:50 msgid "" -"The NavigationServer does not connect navigation mesh islands from the same " -"navigation mesh resource. Do not create multiple disconnected islands in the " -"same NavigationRegion2D or NavigationPolygon resource if they should be " -"later connected." +"The nodes are available in 2D and 3D as :ref:" +"`NavigationRegion2D` and :ref:" +"`NavigationRegion3D` respectively." msgstr "" -#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:55 +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:54 +msgid "Baking with a NavigationRegion2D" +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:56 msgid "" -"For 2D, no similar navigation mesh baking with geometry parsing exists like " -"in 3D. The Geometry2D class functions for offset, merge, intersect, and clip " -"can be used to shrink or enlarge existing NavigationPolygons for different " -"actor sizes." +"When a NavigationRegion2D node is selected in the Editor, bake options as " +"well as polygon draw tools appear in the top bar of the Editor." msgstr "" -#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:59 -msgid "Creating 3D navigation meshes" -msgstr "" - -#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:63 +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:60 msgid "" -"Navigation meshes in the 3D editor are created with the help of the :ref:" -"`NavigationMeshGenerator` singleton and the " -"NavigationMesh bake settings that appear in the editor inspector." +"In order for the region to work a :ref:" +"`NavigationPolygon` resource needs to be added." msgstr "" -#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:67 +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:62 +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:108 msgid "" -"Navigation mesh baking is the process of creating a simplified mesh used for " -"pathfinding out of (complex) 3D level geometry. For this process Godot " -"parses scene geometry and hands the raw mesh or collision data to the third-" -"party ReCast library for processing and creation of the final navigation " -"mesh." +"The properties to parse and bake a navigation mesh are then part of the used " +"resource and can be found in the resource Inspector." +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:66 +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:112 +msgid "" +"The result of the source geometry parsing can be influenced with the " +"following properties." +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:68 +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:114 +msgid "" +"The ``parsed_geometry_type`` that filters if visual objects or physics " +"objects or both should be parsed from the :ref:`SceneTree`. " +"For more details on what objects are parsed and how, see the section about " +"parsing source geometry below." +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:70 +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:116 +msgid "" +"The ``collision_mask`` filters which physics collision objects are included " +"when the ``parsed_geometry_type`` includes static colliders." msgstr "" #: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:71 +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:117 msgid "" -"The resulting navigation mesh is an approximation of the source geometry " -"surfaces for both performance and technical reasons. Do not expect the " -"navigation mesh to perfectly follow the original surfaces. Especially " -"navigation polygons placed over ramps will not keep an equal distance to the " -"ground surface. To align an actor perfectly with the ground use other means " -"like physics." +"The ``source_geometry_mode`` that defines on which node(s) to start the " +"parsing, and how to traverse the :ref:`SceneTree`." +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:72 +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:118 +msgid "" +"The ``source_geometry_group_name`` is used when only a certain node group " +"should be parsed. Depends on the selected ``source_geometry_mode``." +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:74 +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:120 +msgid "" +"With the source geometry added, the result of the baking can be controlled " +"with the following properties." +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:76 +msgid "" +"The ``cell_size`` sets the rasterization grid size and should match the " +"navigation map size." +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:77 +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:123 +msgid "" +"The ``agent_radius`` shrinks the baked navigation mesh to have enough margin " +"for the agent (collision) size." msgstr "" #: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:79 -msgid "" -"Meshes need to be triangulated to work as navigation meshes. Other mesh face " -"formats like quad or ngon are not supported." +msgid "The NavigationRegion2D baking can also be used at runtime with scripts." msgstr "" -#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:82 -msgid "NavigationMesh rebaking at runtime" +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:87 +msgid "To quickly test the 2D baking with default settings:" msgstr "" -#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:84 -msgid "" -"To rebake a ``NavigationMesh`` at runtime, use the ``NavigationRegion3D." -"bake_navigation_mesh()`` function. Another option is to use the " -"``NavigationMeshGenerator.bake()`` singleton function with the " -"NavigationMesh resource directly. If the NavigationMesh resource is already " -"prepared, the region can be updated with the NavigationServer3D API directly " -"as well." +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:89 +msgid "Add a :ref:`NavigationRegion2D`." msgstr "" -#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:112 +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:90 msgid "" -"Baking a NavigationMesh at runtime is a costly operation. A complex " -"navigation mesh takes some time to bake and if done on the main thread can " -"freeze a game. (Re)baking a large navigation mesh is preferably done in a " -"separate thread." +"Add a :ref:`NavigationPolygon` resource to the " +"NavigationRegion2D." msgstr "" -#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:118 +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:91 +msgid "Add a :ref:`Polygon2D` below the NavigationRegion2D." +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:92 msgid "" -"Property values on a NavigationMesh resource like ``cell_size`` need to " -"match the actual mesh data stored inside in order to merge different " -"navigation meshes without issues." +"Draw 1 NavigationPolygon outline with the selected NavigationRegion2D draw " +"tool." +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:93 +msgid "" +"Draw 1 Polygon2D outline inside the NavigationPolygon outline with the " +"selected Polygon2D draw tool." +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:94 +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:146 +msgid "Hit the Editor bake button and a navigation mesh should appear." +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:100 +msgid "Baking with a NavigationRegion3D" +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:102 +msgid "" +"When a NavigationRegion3D node is selected in the Editor, bake options " +"appear in the top bar of the Editor." +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:106 +msgid "" +"In order for the region to work a :ref:" +"`NavigationMesh` resource needs to be added." msgstr "" #: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:122 msgid "" -"NavigationRegion2D and NavigationRegion3D both use meshes to mark " -"traversable areas, only the tools to create them are different." +"The ``cell_size`` and ``cell_height`` sets the rasterization voxel grid size " +"and should match the navigation map size." msgstr "" #: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:124 msgid "" -"For 2D, NavigationPolygon resources are used to draw outline points in the " -"editor. From these outline points the NavigationServer2D creates a mesh to " -"upload navigation data to the NavigationServer." +"The ``agent_height`` excludes areas from the navigation mesh where the agent " +"is too tall to fit in." msgstr "" -#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:126 +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:125 msgid "" -"For 3D, NavigationMesh resources are used. Instead of providing draw tools " -"the 3D variant provides an extensive amount of parameters to bake a " -"navigation mesh directly from 3D source geometry." +"The ``agent_max_climb`` and ``agent_max_slope`` removes areas where the " +"height difference between neighboring voxels is too large, or where their " +"surface is too steep." msgstr "" -#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:131 +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:129 msgid "" -"Technically there is no hard distinction between 2D and 3D on how to use the " -"given toolsets to create flat navigation meshes. The 2D drawing tool can be " -"used to create a flat 3D navigation mesh and the 3D baking tool can be used " -"to parse flat 3D geometry into appropriate 2D navigation meshes." +"A too small ``cell_size`` or ``cell_height`` can create so many voxels that " +"it has the potential to freeze the game or even crash." msgstr "" -#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:134 -msgid "2D navigation mesh from CollisionPolygons" +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:132 +msgid "The NavigationRegion3D baking can also be used at runtime with scripts." msgstr "" -#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:136 +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:140 +msgid "To quickly test the 3D baking with default settings:" +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:142 +msgid "Add a :ref:`NavigationRegion3D`." +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:143 msgid "" -"The following script parses all child nodes of a NavigationRegion2D for " -"CollisionPolygons and bakes their shape into the NavigationPolygon. As the " -"NavigationPolygon creates the navigation mesh from outline data the shapes " -"cannot overlap." +"Add a :ref:`NavigationMesh` resource to the " +"NavigationRegion3D." +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:144 +msgid "" +"Add a :ref:`MeshInstance3D` below the " +"NavigationRegion3D." +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:145 +msgid "Add a :ref:`PlaneMesh` to the MeshInstance3D." +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:155 +msgid "Baking a navigation mesh with the NavigationServer" +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:157 +msgid "" +"The :ref:`NavigationServer2D` and :ref:" +"`NavigationServer3D` have API functions to call " +"each step of the navigation mesh baking process individually." +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:159 +msgid "" +"``parse_source_geometry_data()`` can be used to parse source geometry to a " +"reusable and serializable resource." +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:160 +msgid "" +"``bake_from_source_geometry_data()`` can be used to bake a navigation mesh " +"from already parsed data e.g. to avoid runtime performance issues with " +"(redundant) parsing." +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:161 +msgid "" +"``bake_from_source_geometry_data_async()`` is the same but bakes the " +"navigation mesh deferred with threads, not blocking the main thread." +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:163 +msgid "" +"Compared to a NavigationRegion, the NavigationServer offers finer control " +"over the navigation mesh baking process. In turn it is more complex to use " +"but also provides more advanced options." +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:166 +msgid "" +"Some other advantages of the NavigationServer over a NavigationRegion are:" +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:168 +msgid "" +"The server can parse source geometry without baking, e.g. to cache it for " +"later use." +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:169 +msgid "" +"The server allows selecting the root node at which to start the source " +"geometry parsing manually." +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:170 +msgid "" +"The server can accept and bake from procedurally generated source geometry " +"data." msgstr "" #: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:171 -msgid "Procedural 2D navigation mesh" +msgid "" +"The server can bake multiple navigation meshes in sequence while (re)using " +"the same source geometry data." msgstr "" #: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:173 msgid "" -"The following script creates a new 2D navigation region and fills it with " -"procedurally generated navigation mesh data from a NavigationPolygon " -"resource." +"To bake navigation meshes with the NavigationServer, source geometry is " +"required. Source geometry is geometry data that should be considered in a " +"navigation mesh baking process. Both navigation meshes for 2D and 3D are " +"created by baking them from source geometry." msgstr "" -#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:198 -msgid "Procedural 3D navigation mesh" -msgstr "" - -#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:200 +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:177 msgid "" -"The following script creates a new 3D navigation region and fills it with " -"procedurally generated navigation mesh data from a NavigationMesh resource." +"2D and 3D versions of the source geometry resources are available as :ref:" +"`NavigationMeshSourceGeometryData2D` " +"and :ref:" +"`NavigationMeshSourceGeometryData3D` " +"respectively." msgstr "" -#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:226 -msgid "Navigation mesh for 3D GridMaps" +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:181 +msgid "" +"Source geometry can be geometry parsed from visual meshes, from physics " +"collision, or procedural created arrays of data, like outlines (2D) and " +"triangle faces (3D). For convenience, source geometry is commonly parsed " +"directly from node setups in the SceneTree. For runtime navigation mesh " +"(re)bakes, be aware that the geometry parsing always happens on the main " +"thread." +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:188 +msgid "" +"The SceneTree is not thread-safe. Parsing source geometry from the SceneTree " +"can only be done on the main thread." +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:192 +msgid "" +"The data from visual meshes and polygons needs to be received from the GPU, " +"stalling the RenderingServer in the process. For runtime (re)baking prefer " +"using physics shapes as parsed source geometry." +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:195 +msgid "" +"Source geometry is stored inside resources so the created geometry can be " +"reused for multiple bakes. E.g. baking multiple navigation meshes for " +"different agent sizes from the same source geometry. This also allows to " +"save source geometry to disk so it can be loaded later, e.g. to avoid the " +"overhead of parsing it again at runtime." +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:199 +msgid "" +"The geometry data should be in general kept very simple. As many edges as " +"are required but as few as possible. Especially in 2D duplicated and nested " +"geometry should be avoided as it forces polygon hole calculation that can " +"result in flipped polygons. An example for nested geometry would be a " +"smaller StaticBody2D shape placed completely inside the bounds of another " +"StaticBody2D shape." +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:204 +msgid "Navigation mesh baking common problems" +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:206 +msgid "" +"There are some common user problems and important caveats to consider when " +"creating or baking navigation meshes." +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:218 +msgid "Navigation mesh baking creates frame rate problems at runtime" +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:209 +msgid "" +"The navigation mesh baking is by default done on a background thread, so as " +"long as the platform supports threads, the actual baking is rarely the " +"source of any performance issues (assuming a reasonably sized and complex " +"geometry for runtime rebakes)." +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:212 +msgid "" +"The common source for performance issues at runtime is the parsing step for " +"source geometry that involves nodes and the SceneTree. The SceneTree is not " +"thread-safe so all the nodes need to be parsed on the main thread. Some " +"nodes with a lot of data can be very heavy and slow to parse at runtime, e." +"g. a TileMap has one or more polygons for every single used cell and " +"TileMapLayer to parse. Nodes that hold meshes need to request the data from " +"the RenderingServer stalling the rendering in the process." +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:217 +msgid "" +"To improve performance, use more optimized shapes, e.g. collision shapes " +"over detailed visual meshes, and merge and simplify as much geometry as " +"possible upfront. If nothing helps, don't parse the SceneTree and add the " +"source geometry procedural with scripts. If only pure data arrays are used " +"as source geometry, the entire baking process can be done on a background " +"thread." +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:225 +msgid "Navigation mesh creates unintended holes in 2D." +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:221 +msgid "" +"The navigation mesh baking in 2D is done by doing polygon clipping " +"operations based on outline paths. Polygons with \"holes\" are a necessary " +"evil to create more complex 2D polygons but can become unpredictable for " +"users with many complex shapes involved." +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:224 +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:230 +msgid "Navigation mesh appears inside geometry in 3D." msgstr "" #: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:228 msgid "" -"The following script creates a new 3D navigation mesh for each GridMap " -"items, clears the current grid cells, and adds new procedural grid cells " -"with the new navigation mesh." +"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:233 +msgid "Navigation mesh script templates" +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationmeshes.rst:235 +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:350 +msgid "" +"The following script uses the NavigationServer to update a navigation region " +"with procedurally generated navigation mesh data." msgstr "" #: ../../docs/tutorials/navigation/navigation_using_navigationpaths.rst:4 @@ -71368,6 +75239,16 @@ msgid "" "teleport or animation) to continue along the path." msgstr "" +#: ../../docs/tutorials/navigation/navigation_using_navigationlinks.rst:56 +msgid "Navigation link script templates" +msgstr "" + +#: ../../docs/tutorials/navigation/navigation_using_navigationlinks.rst:58 +msgid "" +"The following script uses the NavigationServer to create a new navigation " +"link." +msgstr "" + #: ../../docs/tutorials/navigation/navigation_using_navigationlayers.rst:4 msgid "Using NavigationLayers" msgstr "" @@ -72364,69 +76245,87 @@ msgstr "" msgid "" "If a function is annotated with ``@rpc`` on the client script (resp. server " "script), then this function must also be declared on the server script " -"(resp. client script), and both must have the same signature, **even if this " -"function is not currently used**." +"(resp. client script). Both RPCs must have the same signature which is " +"evaluated with a checksum of **all RPCs**. All RPCs in a script are checked " +"at once, and all RPCs must be declared on both the client scripts and the " +"server scripts, **even functions that are currently not in use**." msgstr "" -#: ../../docs/tutorials/networking/high_level_multiplayer.rst:205 +#: ../../docs/tutorials/networking/high_level_multiplayer.rst:207 msgid "" -"If these conditions are not fulfilled, the script may print an error or " -"cause unwanted behavior. See further explanation and troubleshooting on " -"`this post `__." +"The signature of the RPC includes the ``@rpc()`` declaration, the function, " +"return type, AND the nodepath. If an RPC resides in a script attached to ``/" +"root/Main/Node1``, then it must reside in precisely the same path and node " +"on both the client script and the server script. Function arguments " +"(example: ``func sendstuff():`` and ``func sendstuff(arg1, arg2):`` **will " +"pass** signature matching)." msgstr "" -#: ../../docs/tutorials/networking/high_level_multiplayer.rst:209 +#: ../../docs/tutorials/networking/high_level_multiplayer.rst:213 +msgid "" +"If these conditions are not met (if all RPCs do not pass signature " +"matching), the script may print an error or cause unwanted behavior. The " +"error message may be unrelated to the RPC function you are currently " +"building and testing." +msgstr "" + +#: ../../docs/tutorials/networking/high_level_multiplayer.rst:217 +msgid "" +"See further explanation and troubleshooting on `this post `__." +msgstr "" + +#: ../../docs/tutorials/networking/high_level_multiplayer.rst:219 msgid "" "The annotation can take a number of arguments, which have default values. " "``@rpc`` is equivalent to:" msgstr "" -#: ../../docs/tutorials/networking/high_level_multiplayer.rst:215 +#: ../../docs/tutorials/networking/high_level_multiplayer.rst:225 msgid "The parameters and their functions are as follows:" msgstr "" -#: ../../docs/tutorials/networking/high_level_multiplayer.rst:217 +#: ../../docs/tutorials/networking/high_level_multiplayer.rst:227 msgid "``mode``:" msgstr "" -#: ../../docs/tutorials/networking/high_level_multiplayer.rst:219 +#: ../../docs/tutorials/networking/high_level_multiplayer.rst:229 msgid "" "``\"authority\"``: Only the multiplayer authority (the server) can call " "remotely." msgstr "" -#: ../../docs/tutorials/networking/high_level_multiplayer.rst:220 +#: ../../docs/tutorials/networking/high_level_multiplayer.rst:230 msgid "" "``\"any_peer\"``: Clients are allowed to call remotely. Useful for " "transferring user input." msgstr "" -#: ../../docs/tutorials/networking/high_level_multiplayer.rst:222 +#: ../../docs/tutorials/networking/high_level_multiplayer.rst:232 msgid "``sync``:" msgstr "" -#: ../../docs/tutorials/networking/high_level_multiplayer.rst:224 +#: ../../docs/tutorials/networking/high_level_multiplayer.rst:234 msgid "``\"call_remote\"``: The function will not be called on the local peer." msgstr "" -#: ../../docs/tutorials/networking/high_level_multiplayer.rst:225 +#: ../../docs/tutorials/networking/high_level_multiplayer.rst:235 msgid "" "``\"call_local\"``: The function can be called on the local peer. Useful " "when the server is also a player." msgstr "" -#: ../../docs/tutorials/networking/high_level_multiplayer.rst:227 +#: ../../docs/tutorials/networking/high_level_multiplayer.rst:237 msgid "``transfer_mode``:" msgstr "" -#: ../../docs/tutorials/networking/high_level_multiplayer.rst:229 +#: ../../docs/tutorials/networking/high_level_multiplayer.rst:239 msgid "" "``\"unreliable\"`` Packets are not acknowledged, can be lost, and can arrive " "at any order." msgstr "" -#: ../../docs/tutorials/networking/high_level_multiplayer.rst:230 +#: ../../docs/tutorials/networking/high_level_multiplayer.rst:240 msgid "" "``\"unreliable_ordered\"`` Packets are received in the order they were sent " "in. This is achieved by ignoring packets that arrive later if another that " @@ -72434,40 +76333,40 @@ msgid "" "incorrectly." msgstr "" -#: ../../docs/tutorials/networking/high_level_multiplayer.rst:231 +#: ../../docs/tutorials/networking/high_level_multiplayer.rst:241 msgid "" "``\"reliable\"`` Resend attempts are sent until packets are acknowledged, " "and their order is preserved. Has a significant performance penalty." msgstr "" -#: ../../docs/tutorials/networking/high_level_multiplayer.rst:233 +#: ../../docs/tutorials/networking/high_level_multiplayer.rst:243 msgid "``transfer_channel`` is the channel index." msgstr "" -#: ../../docs/tutorials/networking/high_level_multiplayer.rst:235 +#: ../../docs/tutorials/networking/high_level_multiplayer.rst:245 msgid "" "The first 3 can be passed in any order, but ``transfer_channel`` must always " "be last." msgstr "" -#: ../../docs/tutorials/networking/high_level_multiplayer.rst:237 +#: ../../docs/tutorials/networking/high_level_multiplayer.rst:247 msgid "" "The function ``multiplayer.get_remote_sender_id()`` can be used to get the " "unique id of an rpc sender, when used within the function called by rpc." msgstr "" -#: ../../docs/tutorials/networking/high_level_multiplayer.rst:253 +#: ../../docs/tutorials/networking/high_level_multiplayer.rst:263 msgid "Channels" msgstr "" -#: ../../docs/tutorials/networking/high_level_multiplayer.rst:254 +#: ../../docs/tutorials/networking/high_level_multiplayer.rst:264 msgid "" "Modern networking protocols support channels, which are separate connections " "within the connection. This allows for multiple streams of packets that do " "not interfere with each other." msgstr "" -#: ../../docs/tutorials/networking/high_level_multiplayer.rst:257 +#: ../../docs/tutorials/networking/high_level_multiplayer.rst:267 msgid "" "For example, game chat related messages and some of the core gameplay " "messages should all be sent reliably, but a gameplay message should not wait " @@ -72475,7 +76374,7 @@ msgid "" "different channels." msgstr "" -#: ../../docs/tutorials/networking/high_level_multiplayer.rst:260 +#: ../../docs/tutorials/networking/high_level_multiplayer.rst:270 msgid "" "Channels are also useful when used with the unreliable ordered transfer " "mode. Sending packets of variable size with this transfer mode can cause " @@ -72485,37 +76384,37 @@ msgid "" "latency penalty caused by reliable mode." msgstr "" -#: ../../docs/tutorials/networking/high_level_multiplayer.rst:264 +#: ../../docs/tutorials/networking/high_level_multiplayer.rst:274 msgid "" "The default channel with index 0 is actually three different channels - one " "for each transfer mode." msgstr "" -#: ../../docs/tutorials/networking/high_level_multiplayer.rst:267 +#: ../../docs/tutorials/networking/high_level_multiplayer.rst:277 msgid "Example lobby implementation" msgstr "" -#: ../../docs/tutorials/networking/high_level_multiplayer.rst:269 +#: ../../docs/tutorials/networking/high_level_multiplayer.rst:279 msgid "" "This is an example lobby that can handle peers joining and leaving, notify " "UI scenes through signals, and start the game after all clients have loaded " "the game scene." msgstr "" -#: ../../docs/tutorials/networking/high_level_multiplayer.rst:384 +#: ../../docs/tutorials/networking/high_level_multiplayer.rst:394 msgid "" "The game scene's root node should be named Game. In the script attached to " "it:" msgstr "" -#: ../../docs/tutorials/networking/high_level_multiplayer.rst:405 +#: ../../docs/tutorials/networking/high_level_multiplayer.rst:415 msgid "" "Once you've made a multiplayer game, you may want to export it to run it on " "a dedicated server with no GPU available. See :ref:" "`doc_exporting_for_dedicated_servers` for more information." msgstr "" -#: ../../docs/tutorials/networking/high_level_multiplayer.rst:411 +#: ../../docs/tutorials/networking/high_level_multiplayer.rst:421 msgid "" "The code samples on this page aren't designed to run on a dedicated server. " "You'll have to modify them so the server isn't considered to be a player. " @@ -75732,28 +79631,38 @@ msgid "" "not be usable in all scenarios." msgstr "" -#: ../../docs/tutorials/performance/thread_safe_apis.rst:64 +#: ../../docs/tutorials/performance/thread_safe_apis.rst:63 +msgid "" +"You should avoid calling functions involving direct interaction with the GPU " +"on other threads, such as creating new textures or modifying and retrieving " +"image data, these operations can lead to performance stalls because they " +"require synchronization with the :ref:" +"`RenderingServer`, as data needs to be transmitted to " +"or updated on the GPU." +msgstr "" + +#: ../../docs/tutorials/performance/thread_safe_apis.rst:68 msgid "GDScript arrays, dictionaries" msgstr "" -#: ../../docs/tutorials/performance/thread_safe_apis.rst:66 +#: ../../docs/tutorials/performance/thread_safe_apis.rst:70 msgid "" "In GDScript, reading and writing elements from multiple threads is OK, but " "anything that changes the container size (resizing, adding or removing " "elements) requires locking a mutex." msgstr "" -#: ../../docs/tutorials/performance/thread_safe_apis.rst:69 +#: ../../docs/tutorials/performance/thread_safe_apis.rst:73 #: ../../docs/tutorials/scripting/gdscript/gdscript_exports.rst:227 #: ../../docs/tutorials/scripting/c_sharp/c_sharp_exports.rst:269 #: ../../docs/tutorials/scripting/resources.rst:4 -#: ../../docs/contributing/development/core_and_modules/object_class.rst:271 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:275 #: ../../docs/contributing/development/file_formats/tscn.rst:259 -#: ../../docs/community/tutorials.rst:71 +#: ../../docs/community/tutorials.rst:57 msgid "Resources" msgstr "" -#: ../../docs/tutorials/performance/thread_safe_apis.rst:71 +#: ../../docs/tutorials/performance/thread_safe_apis.rst:75 msgid "" "Modifying a unique resource from multiple threads is not supported. However " "handling references on multiple threads is supported, hence loading " @@ -76586,7 +80495,7 @@ msgstr "" #: ../../docs/tutorials/physics/using_area_2d.rst:133 #: ../../docs/tutorials/physics/using_character_body_2d.rst:215 #: ../../docs/tutorials/scripting/c_sharp/c_sharp_features.rst:110 -#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:138 +#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:144 msgid "Examples" msgstr "" @@ -79873,13 +83782,13 @@ msgid "For example::" msgstr "" #: ../../docs/tutorials/platform/android/android_plugin.rst:358 -msgid "Support using the gdextension functionality in the Godot Editor" +msgid "Support using the GDExtension functionality in the Godot Editor" msgstr "" #: ../../docs/tutorials/platform/android/android_plugin.rst:360 msgid "" -"If planning to use the gdextension functionality in the Godot Editor, it is " -"recommended that the gdextension's native binaries are compiled not just for " +"If planning to use the GDExtension functionality in the Godot Editor, it is " +"recommended that the GDExtension's native binaries are compiled not just for " "Android, but also for the OS onto which developers / users intend to run the " "Godot Editor. Not doing so may prevent developers / users from writing code " "that accesses the plugin from within the Godot Editor." @@ -79925,7 +83834,23 @@ msgid "" msgstr "" #: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:10 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0001.rst:8 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0002.rst:8 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0101.rst:8 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0102.rst:8 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0103.rst:8 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0104.rst:8 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0105.rst:8 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0106.rst:8 #: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0107.rst:8 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0201.rst:8 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0202.rst:8 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0203.rst:8 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0301.rst:8 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0302.rst:8 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0303.rst:8 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0401.rst:8 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0402.rst:8 msgid "Usage" msgstr "" @@ -81958,11 +85883,17 @@ msgid "" "publishing of Godot games." msgstr "" -#: ../../docs/tutorials/platform/consoles.rst:84 +#: ../../docs/tutorials/platform/consoles.rst:82 +msgid "" +"`Seaven Studio `_ offers Switch, Xbox One, " +"Xbox Series, PlayStation 4 & PlayStation 5 porting of 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 `open an issue or pull request `_ to add your company to the list above." +"Godot games, feel free to `contact the Godot Foundation `_ to add your company to the list above." msgstr "" #: ../../docs/tutorials/plugins/editor/installing_plugins.rst:4 @@ -82233,35 +86164,45 @@ msgid "" msgstr "" #: ../../docs/tutorials/plugins/editor/making_plugins.rst:216 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1804 +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/plugins/editor/making_plugins.rst:224 msgid "" "Now, we need to add it as a custom type so it shows on the **Create New " "Node** dialog. For that, change the ``custom_node.gd`` script to the " "following:" msgstr "" -#: ../../docs/tutorials/plugins/editor/making_plugins.rst:263 +#: ../../docs/tutorials/plugins/editor/making_plugins.rst:271 msgid "" "With that done, the plugin should already be available in the plugin list in " "the **Project Settings**, so activate it as explained in `Checking the " "results`_." msgstr "" -#: ../../docs/tutorials/plugins/editor/making_plugins.rst:266 +#: ../../docs/tutorials/plugins/editor/making_plugins.rst:274 msgid "Then try it out by adding your new node:" msgstr "" -#: ../../docs/tutorials/plugins/editor/making_plugins.rst:270 +#: ../../docs/tutorials/plugins/editor/making_plugins.rst:278 msgid "" "When you add the node, you can see that it already has the script you " "created attached to it. Set a text to the button, save and run the scene. " "When you click the button, you can see some text in the console:" msgstr "" -#: ../../docs/tutorials/plugins/editor/making_plugins.rst:277 +#: ../../docs/tutorials/plugins/editor/making_plugins.rst:285 msgid "A custom dock" msgstr "" -#: ../../docs/tutorials/plugins/editor/making_plugins.rst:279 +#: ../../docs/tutorials/plugins/editor/making_plugins.rst:287 msgid "" "Sometimes, you need to extend the editor and add tools that are always " "available. An easy way to do it is to add a new dock with a plugin. Docks " @@ -82269,28 +86210,28 @@ msgid "" "usual GUI scenes." msgstr "" -#: ../../docs/tutorials/plugins/editor/making_plugins.rst:283 +#: ../../docs/tutorials/plugins/editor/making_plugins.rst:291 msgid "" "Creating a custom dock is done just like a custom node. Create a new " "``plugin.cfg`` file in the ``addons/my_custom_dock`` folder, then add the " "following content to it:" msgstr "" -#: ../../docs/tutorials/plugins/editor/making_plugins.rst:308 +#: ../../docs/tutorials/plugins/editor/making_plugins.rst:316 msgid "" "Then create the script ``custom_dock.gd`` in the same folder. Fill it with " "the :ref:`template we've seen before ` to " "get a good start." msgstr "" -#: ../../docs/tutorials/plugins/editor/making_plugins.rst:312 +#: ../../docs/tutorials/plugins/editor/making_plugins.rst:320 msgid "" "Since we're trying to add a new custom dock, we need to create the contents " "of the dock. This is nothing more than a standard Godot scene: just create a " "new scene in the editor then edit it." msgstr "" -#: ../../docs/tutorials/plugins/editor/making_plugins.rst:316 +#: ../../docs/tutorials/plugins/editor/making_plugins.rst:324 msgid "" "For an editor dock, the root node **must** be a :ref:`Control " "` or one of its child classes. For this tutorial, you can " @@ -82299,7 +86240,7 @@ msgid "" "Also, don't forget to add some text to your button." msgstr "" -#: ../../docs/tutorials/plugins/editor/making_plugins.rst:324 +#: ../../docs/tutorials/plugins/editor/making_plugins.rst:332 msgid "" "Save this scene as ``my_dock.tscn``. Now, we need to grab the scene we " "created then add it as a dock in the editor. For this, you can rely on the " @@ -82308,42 +86249,42 @@ msgid "" "` class." msgstr "" -#: ../../docs/tutorials/plugins/editor/making_plugins.rst:329 +#: ../../docs/tutorials/plugins/editor/making_plugins.rst:337 msgid "" "You need to select a dock position and define the control to add (which is " "the scene you just created). Don't forget to **remove the dock** when the " "plugin is deactivated. The script could look like this:" msgstr "" -#: ../../docs/tutorials/plugins/editor/making_plugins.rst:389 +#: ../../docs/tutorials/plugins/editor/making_plugins.rst:397 msgid "" "Note that, while the dock will initially appear at its specified position, " "the user can freely change its position and save the resulting layout." msgstr "" -#: ../../docs/tutorials/plugins/editor/making_plugins.rst:393 +#: ../../docs/tutorials/plugins/editor/making_plugins.rst:401 msgid "Checking the results" msgstr "" -#: ../../docs/tutorials/plugins/editor/making_plugins.rst:395 +#: ../../docs/tutorials/plugins/editor/making_plugins.rst:403 msgid "" "It's now time to check the results of your work. Open the **Project " "Settings** and click on the **Plugins** tab. Your plugin should be the only " "one on the list." msgstr "" -#: ../../docs/tutorials/plugins/editor/making_plugins.rst:401 +#: ../../docs/tutorials/plugins/editor/making_plugins.rst:409 msgid "" "You can see the plugin is not enabled. Click the **Enable** checkbox to " "activate the plugin. The dock should become visible before you even close " "the settings window. You should now have a custom dock:" msgstr "" -#: ../../docs/tutorials/plugins/editor/making_plugins.rst:409 +#: ../../docs/tutorials/plugins/editor/making_plugins.rst:417 msgid "Going beyond" msgstr "" -#: ../../docs/tutorials/plugins/editor/making_plugins.rst:411 +#: ../../docs/tutorials/plugins/editor/making_plugins.rst:419 msgid "" "Now that you've learned how to make basic plugins, you can extend the editor " "in several ways. Lots of functionality can be added to the editor with " @@ -82351,32 +86292,32 @@ msgid "" "to delve into C++ modules." msgstr "" -#: ../../docs/tutorials/plugins/editor/making_plugins.rst:416 +#: ../../docs/tutorials/plugins/editor/making_plugins.rst:424 msgid "" "You can make your own plugins to help yourself and share them in the `Asset " "Library `_ so that people can " "benefit from your work." msgstr "" -#: ../../docs/tutorials/plugins/editor/making_plugins.rst:423 +#: ../../docs/tutorials/plugins/editor/making_plugins.rst:431 msgid "Registering autoloads/singletons in plugins" msgstr "" -#: ../../docs/tutorials/plugins/editor/making_plugins.rst:425 +#: ../../docs/tutorials/plugins/editor/making_plugins.rst:433 msgid "" "It is possible for editor plugins to automatically register :ref:`autoloads " "` when the plugin is enabled. This also includes " "unregistering the autoload when the plugin is disabled." msgstr "" -#: ../../docs/tutorials/plugins/editor/making_plugins.rst:429 +#: ../../docs/tutorials/plugins/editor/making_plugins.rst:437 msgid "" "This makes setting up plugins faster for users, as they no longer have to " "manually add autoloads to their project settings if your editor plugin " "requires the use of an autoload." msgstr "" -#: ../../docs/tutorials/plugins/editor/making_plugins.rst:433 +#: ../../docs/tutorials/plugins/editor/making_plugins.rst:441 msgid "Use the following code to register a singleton from an editor plugin:" msgstr "" @@ -84493,25 +88434,50 @@ msgid "" "``viewport`` stretch mode with the ``integer`` scale mode)." msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:332 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:333 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:103 +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/multiple_resolutions.rst:337 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:107 +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/multiple_resolutions.rst:343 +msgid "" +"When using integer scaling, this is particularly important as the 1-pixel " +"height reduction from the **Fullscreen** mode can cause integer scaling to " +"use a smaller scale factor than expected." +msgstr "" + +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:348 msgid "Common use case scenarios" msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:334 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:350 msgid "" "The following settings are recommended to support multiple resolutions and " "aspect ratios well." msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:338 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:354 msgid "Desktop game" msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:340 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:356 msgid "**Non-pixel art:**" msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:342 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:358 msgid "" "Set the base window width to ``1920`` and window height to ``1080``. If you " "have a display smaller than 1920×1080, set **Window Width Override** and " @@ -84519,7 +88485,7 @@ msgid "" "the project starts." msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:345 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:361 msgid "" "Alternatively, if you're targeting high-end devices primarily, set the base " "window width to ``3840`` and window height to ``2160``. This allows you to " @@ -84530,34 +88496,34 @@ msgid "" "`doc_multiple_resolutions_reducing_aliasing_on_downsampling`." msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:352 -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:398 -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:425 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:368 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:414 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:441 msgid "Set the stretch mode to ``canvas_items``." msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:353 -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:399 -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:426 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:369 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:415 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:442 msgid "" "Set the stretch aspect to ``expand``. This allows for supporting multiple " "aspect ratios and makes better use of tall smartphone displays (such as 18:9 " "or 19:9 aspect ratios)." msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:355 -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:401 -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:428 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:371 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:417 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:444 msgid "" "Configure Control nodes' anchors to snap to the correct corners using the " "**Layout** menu." msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:357 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:373 msgid "**Pixel art:**" msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:359 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:375 msgid "" "Set the base window size to the viewport size you intend to use. Most pixel " "art games use viewport sizes between 256×224 and 640×480. 640×360 is a good " @@ -84567,30 +88533,30 @@ msgid "" "of the game world at a given time." msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:365 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:381 msgid "Set the stretch mode to ``viewport``." msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:366 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:382 msgid "" "Set the stretch aspect to ``keep`` to enforce a single aspect ratio (with " "black bars). As an alternative, you can set the stretch aspect to ``expand`` " "to support multiple aspect ratios." msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:369 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:385 msgid "" "If using the ``expand`` stretch aspect, Configure Control nodes' anchors to " "snap to the correct corners using the **Layout** menu." msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:371 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:387 msgid "" "Set the stretch scale mode to ``integer``. This prevents uneven pixel " "scaling from occurring, which makes pixel art not display as intended." msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:376 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:392 msgid "" "The ``viewport`` stretch mode provides low-resolution rendering that is then " "stretched to the final window size. If you are OK with sprites being able to " @@ -84599,21 +88565,21 @@ msgid "" "``viewport`` stretch mode." msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:383 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:399 msgid "Mobile game in landscape mode" msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:385 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:401 msgid "" "Godot is configured to use landscape mode by default. This means you don't " "need to change the display orientation project setting." msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:388 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:404 msgid "Set the base window width to ``1280`` and window height to ``720``." msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:389 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:405 msgid "" "Alternatively, if you're targeting high-end devices primarily, set the base " "window width to ``1920`` and window height to ``1080``. This allows you to " @@ -84626,7 +88592,7 @@ msgid "" "`doc_multiple_resolutions_reducing_aliasing_on_downsampling`." msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:405 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:421 msgid "" "To better support tablets and foldable phones (which frequently feature " "displays with aspect ratios close to 4:3), consider using a base resolution " @@ -84635,15 +88601,15 @@ msgid "" "base window height to ``960``." msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:412 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:428 msgid "Mobile game in portrait mode" msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:414 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:430 msgid "Set the base window width to ``720`` and window height to ``1280``." msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:415 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:431 msgid "" "Alternatively, if you're targeting high-end devices primarily, set the base " "window width to ``1080`` and window height to ``1920``. This allows you to " @@ -84656,11 +88622,11 @@ msgid "" "`doc_multiple_resolutions_reducing_aliasing_on_downsampling`." msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:424 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:440 msgid "Set **Display > Window > Handheld > Orientation** to ``portrait``." msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:432 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:448 msgid "" "To better support tablets and foldable phones (which frequently feature " "displays with aspect ratios close to 4:3), consider using a base resolution " @@ -84669,35 +88635,35 @@ msgid "" "base window height to ``1280``." msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:439 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:455 msgid "Non-game application" msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:441 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:457 msgid "" "Set the base window width and height to the smallest window size that you " "intend to target. This is not required, but this ensures that you design " "your UI with small window sizes in mind." msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:443 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:459 msgid "Keep the stretch mode to its default value, ``disabled``." msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:444 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:460 msgid "" "Keep the stretch aspect to its default value, ``ignore`` (its value won't be " "used since the stretch mode is ``disabled``)." msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:446 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:462 msgid "" "You can define a minimum window size by setting ``OS.min_window_size`` in a " "script's ``_ready()`` function. This prevents the user from resizing the " "application below a certain size, which could break the UI layout." msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:452 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:468 msgid "" "Godot doesn't support manually overriding the 2D scale factor yet, so it is " "not possible to have hiDPI support in non-game applications. Due to this, it " @@ -84705,11 +88671,11 @@ msgid "" "allow for the OS to use its low-DPI fallback." msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:458 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:474 msgid "hiDPI support" msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:460 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:476 msgid "" "By default, Godot projects aren't considered DPI-aware by the operating " "system. This is done to improve performance on low-end systems, since the " @@ -84717,7 +88683,7 @@ msgid "" "application scale itself (even when using the ``viewport`` stretch mode)." msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:465 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:481 msgid "" "However, the OS-provided DPI fallback scaling doesn't play well with " "fullscreen mode. If you want crisp visuals on hiDPI displays or if project " @@ -84725,30 +88691,30 @@ msgid "" "Hidpi** in the Project Settings." msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:470 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:486 msgid "" "**Allow Hidpi** is only effective on Windows and macOS. It's ignored on all " "other platforms." msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:475 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:491 msgid "" "The Godot editor itself is always marked as DPI-aware. Running the project " "from the editor will only be DPI-aware if **Allow Hidpi** is enabled in the " "Project Settings." msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:482 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:498 msgid "Reducing aliasing on downsampling" msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:484 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:500 msgid "" "If the game has a very high base resolution (e.g. 3840×2160), aliasing might " "appear when downsampling to something considerably lower like 1280×720." msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:487 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:503 msgid "" "To resolve this, you can :ref:`enable mipmaps " "` on all your 2D textures. However, enabling " @@ -84756,11 +88722,11 @@ msgid "" "devices." msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:492 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:508 msgid "Handling aspect ratios" msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:494 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:510 msgid "" "Once scaling for different resolutions is accounted for, make sure that your " "*user interface* also scales for different aspect ratios. This can be done " @@ -84768,11 +88734,11 @@ msgid "" "`." msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:500 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:516 msgid "Field of view scaling" msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:502 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:518 msgid "" "The 3D Camera node's **Keep Aspect** property defaults to the **Keep " "Height** scaling mode (also called *Hor+*). This is usually the best value " @@ -84780,7 +88746,7 @@ msgid "" "will automatically use a wider field of view." msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:507 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:523 msgid "" "However, if your 3D game is intended to be played in portrait mode, it may " "make more sense to use **Keep Width** instead (also called *Vert-*). This " @@ -84788,11 +88754,11 @@ msgid "" "a *taller* field of view, which is more logical here." msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:513 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:529 msgid "Scaling 2D and 3D elements differently using Viewports" msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:515 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:531 msgid "" "Using multiple Viewport nodes, you can have different scales for various " "elements. For instance, you can use this to render the 3D world at a low " @@ -84801,7 +88767,7 @@ msgid "" "elements crisp." msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:520 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:536 msgid "" "This is done by using the root Viewport node only for 2D elements, then " "creating a Viewport node to display the 3D world and displaying it using a " @@ -84811,7 +88777,7 @@ msgid "" "scaled 3D viewports look better in many cases." msgstr "" -#: ../../docs/tutorials/rendering/multiple_resolutions.rst:527 +#: ../../docs/tutorials/rendering/multiple_resolutions.rst:543 msgid "" "See the `3D viewport scaling demo `__ for examples." @@ -84959,7 +88925,7 @@ msgid "" "longer visible and very rare. This is how most games are played." msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:104 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:116 msgid "" "Stutter may be visible on desktop Linux, but this is usually associated with " "different video drivers and compositors. Some compositors may also trigger " @@ -84969,7 +88935,7 @@ msgid "" "cost of tearing)." msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:111 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:123 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 " @@ -84977,21 +88943,21 @@ msgid "" "with compositing disabled." msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:116 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:128 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:123 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:135 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:130 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:142 msgid "" "Generally, Android is stutter and jitter-free because the running activity " "gets all the priority. That said, there may be problematic devices (older " @@ -84999,29 +88965,29 @@ msgid "" "let us know." msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:137 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:149 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:141 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:153 msgid "Input lag" msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:144 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:156 msgid "Project configuration" msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:146 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:158 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:150 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:162 msgid "" "Increasing the number of physics iterations per second can also reduce " "physics-induced input latency. This is especially noticeable when using " @@ -85035,7 +89001,7 @@ msgid "" "and physics unstability issues less likely to occur." msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:161 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:173 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 " @@ -85048,7 +89014,7 @@ msgid "" "FPS themselves should be avoided for competitive multiplayer games." msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:171 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:183 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 " @@ -85058,11 +89024,11 @@ msgid "" "increase CPU usage, so it should be done with caution." msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:179 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:191 msgid "Hardware/OS-specific" msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:181 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:193 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 " @@ -85076,13 +89042,13 @@ msgid "" "greater), but without any tearing." msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:192 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:204 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:195 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:207 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** " @@ -85092,13 +89058,13 @@ msgid "" "consumption (and resulting heat/fan noise)." msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:202 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:214 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:205 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:217 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 " @@ -85109,17 +89075,17 @@ msgid "" "v=6AoRfv9W110>`__." msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:211 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:223 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:215 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:227 msgid "Reporting jitter, stutter or input lag problems" msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:217 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:229 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 " @@ -85127,7 +89093,7 @@ msgid "" "This may help to better troubleshoot it." msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:222 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:234 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 " @@ -85137,7 +89103,7 @@ msgid "" "input device's polling rate (especially for mice)." msgstr "" -#: ../../docs/tutorials/rendering/jitter_stutter.rst:229 +#: ../../docs/tutorials/rendering/jitter_stutter.rst:241 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. " @@ -85301,7 +89267,7 @@ msgid "else" msgstr "" #: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:162 -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1479 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1533 msgid "for" msgstr "" @@ -85310,7 +89276,7 @@ msgid "See for_." msgstr "" #: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:164 -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1467 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1521 msgid "while" msgstr "" @@ -85319,7 +89285,7 @@ msgid "See while_." msgstr "" #: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:166 -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1538 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1592 #: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:424 msgid "match" msgstr "" @@ -86851,9 +90817,9 @@ msgid "Data" msgstr "" #: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:968 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:84 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:151 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:222 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:85 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:152 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:223 msgid "Variables" msgstr "" @@ -86937,21 +90903,81 @@ msgid "" msgstr "" #: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1022 -msgid "Static variables" +msgid "Initialization order" msgstr "" #: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1024 +msgid "Member variables are initialized in the following order:" +msgstr "" + +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1026 +msgid "" +"Depending on the variable's static type, the variable is either ``null`` " +"(untyped variables and objects) or has a default value of the type (``0`` " +"for ``int``, ``false`` for ``bool``, etc.)." +msgstr "" + +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1029 +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." +msgstr "" + +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1032 +msgid "If defined, the ``_init()`` method is called." +msgstr "" + +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1033 +msgid "" +"When instantiating scenes and resources, the exported values are assigned." +msgstr "" + +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1034 +msgid "" +"*(Only for ``Node``-derived classes)* ``@onready`` variables are initialized." +msgstr "" + +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1035 +msgid "" +"*(Only for ``Node``-derived classes)* If defined, the ``_ready()`` method is " +"called." +msgstr "" + +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1039 +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:1055 +msgid "Will print::" +msgstr "" + +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1061 +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:1065 +msgid "Static variables" +msgstr "" + +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1067 msgid "A class member variable can be declared static::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1028 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1071 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:1031 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1074 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 " @@ -86959,13 +90985,13 @@ msgid "" "it is less readable)." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1037 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1080 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:1040 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1083 msgid "" "The following example defines a ``Person`` class with a static variable " "named ``max_id``. We increment the ``max_id`` in the ``_init()`` function. " @@ -86973,26 +90999,26 @@ msgid "" "our game." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1059 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1102 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:1078 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1121 msgid "Static variables can have type hints, setters and getters::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1088 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1131 msgid "A base class static variable can also be accessed via a child class::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1104 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1147 msgid "``@static_unload`` annotation" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1106 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1149 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 " @@ -87003,69 +91029,69 @@ msgid "" "annotation if static variables don't store important data and can be reset." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1114 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1157 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:1116 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1159 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:1123 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1166 msgid "See also `Static functions`_ and `Static constructor`_." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1126 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1169 #: ../../docs/tutorials/shaders/shader_reference/shading_language.rst:89 msgid "Casting" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1128 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1171 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:1132 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1175 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:1140 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1183 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:1147 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1190 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:1156 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1199 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:1166 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1209 #: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:22 #: ../../docs/tutorials/scripting/how_to_read_the_godot_api.rst:129 #: ../../docs/tutorials/shaders/shader_reference/shading_language.rst:297 #: ../../docs/tutorials/shaders/shaders_style_guide.rst:312 -#: ../../docs/contributing/development/core_and_modules/object_class.rst:99 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:103 msgid "Constants" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1168 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1211 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 " @@ -87073,27 +91099,27 @@ msgid "" "it's declared will give you an error." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1173 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1216 msgid "We recommend using constants whenever a value is not meant to change." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1186 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1229 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:1192 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1235 msgid "Assigning a value of an incompatible type will raise an error." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1194 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1237 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:1199 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1242 msgid "" "Since objects, arrays and dictionaries are passed by reference, constants " "are \"flat\". This means that if you declare a constant array or dictionary, " @@ -87101,35 +91127,35 @@ msgid "" "value though." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1204 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1247 msgid "Enums" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1206 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1249 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:1220 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1263 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:1224 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1267 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:1244 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1292 #: ../../docs/tutorials/shaders/shader_reference/shading_language.rst:564 msgid "Functions" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1246 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1294 msgid "" "Functions always belong to a `class `_. The scope priority for " "variable look-up is: local → class member → global. The ``self`` variable is " @@ -87138,35 +91164,35 @@ msgid "" "argument, unlike Python)." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1259 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1307 msgid "" "A function can ``return`` at any point. The default return value is ``null``." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1261 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1309 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:1269 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1317 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:1275 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1323 msgid "" "If a function argument has a default value, it's possible to infer the type::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1280 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1328 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:1286 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1334 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 " @@ -87174,7 +91200,7 @@ msgid "" "return any value." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1295 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1343 msgid "" "Non-void functions must **always** return a value, so if your code has " "branching statements (such as an ``if``/``else`` construct), all the " @@ -87183,11 +91209,11 @@ msgid "" "block is not executed, the function won't have a valid value to return." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1303 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1351 msgid "Referencing functions" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1305 +#: ../../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 " @@ -87195,18 +91221,18 @@ msgid "" "functions as arguments." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1325 +#: ../../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." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1330 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1378 msgid "Lambda functions" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1332 +#: ../../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 " @@ -87214,28 +91240,34 @@ msgid "" "pass around without polluting the class scope." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1340 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1388 msgid "Lambda functions can be named for debugging purposes::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1345 +#: ../../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``)::" +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::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1353 +#: ../../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." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1356 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1410 msgid "Static functions" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1358 +#: ../../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 " @@ -87243,30 +91275,30 @@ msgid "" "libraries of helper functions::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1364 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1418 msgid "Lambdas cannot be declared static." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1366 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1420 msgid "See also `Static variables`_ and `Static constructor`_." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1369 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1423 msgid "Statements and control flow" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1371 +#: ../../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:1376 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1430 msgid "Expressions" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1378 +#: ../../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 " @@ -87274,28 +91306,28 @@ msgid "" "effects." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1381 +#: ../../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." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1384 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1438 msgid "Here are some examples of expressions::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1400 +#: ../../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." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1404 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1458 msgid "if/else/elif" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1406 +#: ../../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 " @@ -87303,31 +91335,31 @@ msgid "" "``else``/``if`` to maintain a level of indentation." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1420 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1474 msgid "Short statements can be written on the same line as the condition::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1427 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1481 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:1433 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1487 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:1456 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1510 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:1469 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1523 msgid "" "Simple loops are created by using ``while`` syntax. Loops can be broken " "using ``break`` or continued using ``continue`` (which skips to the next " @@ -87335,7 +91367,7 @@ msgid "" "iteration):" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1481 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1535 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 " @@ -87343,27 +91375,27 @@ msgid "" "loop variable." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1516 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1570 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:1525 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1579 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:1540 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1594 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:1545 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1599 msgid "" "``match`` is more type strict than the ``==`` operator. For example ``1`` " "will **not** match ``1.0``. The only exception is ``String`` vs " @@ -87371,170 +91403,170 @@ msgid "" "equal to the StringName ``&\"hello\"``." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1549 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1603 msgid "Basic syntax" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1561 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1615 msgid "Crash-course for people who are familiar with switch statements" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1563 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1617 msgid "Replace ``switch`` with ``match``." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1564 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1618 msgid "Remove ``case``." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1565 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1619 msgid "Remove any ``break``\\ s." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1566 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1620 msgid "Change ``default`` to a single underscore." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1569 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1623 msgid "Control flow" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1571 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1625 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:1576 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1630 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:1578 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1632 msgid "The following pattern types are available:" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1589 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1643 msgid "Literal pattern" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1581 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1635 msgid "Matches a `literal `_::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1600 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1654 msgid "Expression pattern" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1592 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1646 msgid "" "Matches a constant expression, an identifier, or an attribute access (``A." "B``)::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1613 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1667 msgid "Wildcard pattern" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1603 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1657 msgid "This pattern matches everything. It's written as a single underscore." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1605 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1659 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:1625 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1679 msgid "Binding pattern" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1616 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1670 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:1646 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1700 msgid "Array pattern" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1628 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1682 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:1630 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1684 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:1632 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1686 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:1634 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1688 msgid "Every subpattern has to be comma-separated." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1673 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1727 msgid "Dictionary pattern" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1649 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1703 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:1651 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1705 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:1653 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1707 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:1655 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1709 msgid "Every subpattern has to be comma separated." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1657 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1711 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:1659 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1713 msgid "A value pattern is separated from the key pattern with a ``:``." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1684 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1738 msgid "Multiple patterns" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1676 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1730 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:1687 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1741 msgid "Pattern guards" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1689 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1743 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 " @@ -87543,41 +91575,41 @@ msgid "" "keyword::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1707 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1761 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:1709 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1763 msgid "If a matching pattern is found, the guard expression is evaluated." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1711 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1765 msgid "" "If it's true, then the body of the branch is executed and ``match`` ends." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1712 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1766 msgid "If it's false, then the patterns of the next branch are checked." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1715 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1769 msgid "Classes" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1717 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1771 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:1733 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1787 msgid "Registering named classes" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1735 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1789 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 " @@ -87585,16 +91617,16 @@ msgid "" "class will then appear with its new icon in the editor::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1748 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1810 msgid "Here's a class file example:" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1769 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1831 msgid "" "If you want to use ``extends`` too, you can keep both on the same line::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1775 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1837 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 " @@ -87602,82 +91634,82 @@ msgid "" "user knowing." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1780 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1842 #: ../../docs/tutorials/scripting/how_to_read_the_godot_api.rst:13 #: ../../docs/tutorials/scripting/cross_language_scripting.rst:190 msgid "Inheritance" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1782 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1844 msgid "A class (stored as a file) can inherit from:" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1784 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1846 msgid "A global class." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1785 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1847 msgid "Another class file." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1786 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1848 msgid "An inner class inside another class file." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1788 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1850 msgid "Multiple inheritance is not allowed." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1790 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1852 msgid "Inheritance uses the ``extends`` keyword::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1803 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1865 msgid "" "If inheritance is not explicitly defined, the class will default to " "inheriting :ref:`class_RefCounted`." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1806 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1868 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:1818 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1880 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:1823 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1885 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:1830 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1892 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:1841 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1903 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:1844 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1906 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:1847 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1909 msgid "" "In Godot 4, even shadowing may not always work, as GDScript optimizes native " "method calls. Therefore, we added the ``NATIVE_METHOD_OVERRIDE`` warning, " @@ -87685,7 +91717,7 @@ msgid "" "disabling or ignoring the warning." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1851 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1913 msgid "" "Note that this does not apply to virtual methods such as ``_ready()``, " "``_process()`` and others (marked with the ``virtual`` qualifier in the " @@ -87694,11 +91726,11 @@ msgid "" "GDScript. Signals and notifications can also be useful for these purposes." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1857 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1919 msgid "Class constructor" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1859 +#: ../../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`` " @@ -87707,15 +91739,15 @@ msgid "" "to call the explicit constructor::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1868 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1930 msgid "This is better explained through examples. Consider this scenario::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1892 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1954 msgid "There are a few things to keep in mind here:" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1894 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1956 msgid "" "If the inherited class (``state.gd``) defines a ``_init`` constructor that " "takes arguments (``e`` in this case), then the inheriting class (``idle." @@ -87723,19 +91755,19 @@ msgid "" "``_init`` from ``state.gd``." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1897 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1959 msgid "" "``idle.gd`` can have a different number of arguments than the base class " "``state.gd``." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1898 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1960 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:1900 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1962 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. " @@ -87743,37 +91775,37 @@ msgid "" "constructor as well, not just variables, e.g.::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1910 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1972 msgid "Static constructor" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1912 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1974 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:1920 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1982 msgid "" "A static constructor cannot take arguments and must not return any value." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1925 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1987 msgid "Inner classes" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1927 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1989 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:1952 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2014 msgid "Classes as resources" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1954 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2016 msgid "" "Classes stored as files are treated as :ref:`resources `. " "They must be loaded from disk to access them in other classes. This is done " @@ -87782,27 +91814,27 @@ msgid "" "class object::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1971 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2033 msgid "Exports" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1975 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2037 msgid "" "Documentation about exports has been moved to :ref:`doc_gdscript_exports`." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1981 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2043 msgid "Properties (setters and getters)" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1983 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2045 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:1987 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2049 msgid "" "For this, GDScript provides a special syntax to define properties using the " "``set`` and ``get`` keywords after a variable declaration. Then you can " @@ -87810,12 +91842,12 @@ msgid "" "assigned." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:1991 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2053 #: ../../docs/tutorials/scripting/gdscript/static_typing.rst:175 msgid "Example::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2002 +#: ../../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 " @@ -87824,11 +91856,11 @@ msgid "" "variable for direct access and make the property code use that name." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2008 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2070 msgid "Alternative syntax" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2010 +#: ../../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 " @@ -87836,17 +91868,17 @@ msgid "" "the setter/getter is being called for)::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2016 +#: ../../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:2020 +#: ../../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:2024 +#: ../../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 " @@ -87855,18 +91887,18 @@ msgid "" "and the type must match the variable's type or be a wider type." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2029 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2091 msgid "When setter/getter is not called" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2031 +#: ../../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:2034 +#: ../../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 " @@ -87874,22 +91906,22 @@ msgid "" "another variable::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2045 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2107 msgid "This also applies to the alternative syntax::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2054 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2116 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:2067 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2129 msgid "Tool mode" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2069 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2131 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 " @@ -87898,22 +91930,22 @@ msgid "" "the top of the file::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2082 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2144 msgid "See :ref:`doc_running_code_in_the_editor` for more information." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2084 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2146 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:2092 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2154 msgid "Memory management" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2094 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2156 msgid "" "Godot implements reference counting to free certain instances that are no " "longer used, instead of a garbage collector, or requiring purely manual " @@ -87925,13 +91957,13 @@ msgid "" "``free()`` (or ``queue_free()`` for Nodes)." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2105 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2167 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:2108 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2170 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 " @@ -87939,20 +91971,20 @@ msgid "" "example:" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2133 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2195 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:2142 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2204 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:2155 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2217 msgid "" "Signals are a `Callback `_ mechanism. They also fill the role of " @@ -87961,31 +91993,31 @@ msgid "" "the Game Programming Patterns ebook." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2162 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2224 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:2165 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2227 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:2179 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2241 msgid "You can emit as many arguments as you want along with a signal." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2181 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2243 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:2185 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2247 msgid "" "In our ``character.gd`` script, we define a ``health_changed`` signal and " "emit it with :ref:`Signal.emit() `, and from a " @@ -87993,26 +92025,26 @@ msgid "" "using the :ref:`Signal.connect() ` method::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2224 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2286 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:2238 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2300 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:2241 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2303 msgid "" "You can write optional argument names in parentheses after the signal's " "definition::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2247 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2309 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 " @@ -88020,7 +92052,7 @@ msgid "" "values." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2253 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2315 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 " @@ -88028,14 +92060,14 @@ msgid "" "will stay the same." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2258 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2320 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:2262 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2324 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." @@ -88044,17 +92076,17 @@ msgid "" "can add the character's name in the binds array argument::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2276 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2338 msgid "" "Our ``BattleLog`` node receives each element in the binds array as an extra " "argument::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2289 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2351 msgid "Awaiting for signals or coroutines" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2291 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2353 msgid "" "The ``await`` keyword can be used to create `coroutines `_ which wait until a signal is emitted before " @@ -88064,45 +92096,45 @@ msgid "" "it will resume execution from the point on where it stopped." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2296 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2358 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:2304 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2366 msgid "" "In this case, the ``wait_confirmation`` becomes a coroutine, which means " "that the caller also needs to await for it::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2314 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2376 msgid "" "Note that requesting a coroutine's return value without ``await`` will " "trigger an error::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2319 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2381 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:2326 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2388 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:2336 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2398 msgid "" "This also means that returning a signal from a function that isn't a " "coroutine will make the caller await on that signal::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2345 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2407 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 " @@ -88110,11 +92142,11 @@ msgid "" "returns a function state object during runtime." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2351 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2413 msgid "Assert keyword" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2353 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2415 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 " @@ -88124,13 +92156,13 @@ msgid "" "depending on whether the project is run in a debug build." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2365 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2427 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:2368 +#: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2430 msgid "" "You can optionally pass a custom error message to be shown if the assertion " "fails::" @@ -89065,16 +93097,16 @@ msgstr "" #: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:76 #: ../../docs/tutorials/shaders/shader_reference/shading_language.rst:1101 -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:288 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:286 #: ../../docs/tutorials/shaders/shader_reference/particle_shader.rst:78 #: ../../docs/tutorials/shaders/shader_reference/particle_shader.rst:178 msgid "Function" msgstr "" #: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:78 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:90 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:163 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:228 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:91 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:164 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:229 msgid "Variable" msgstr "" @@ -89110,43 +93142,43 @@ msgstr "" msgid "Complete script example" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:204 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:201 msgid "``@deprecated`` and ``@experimental`` tags" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:206 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:203 msgid "" "You can mark a class or any of its members as deprecated or experimental. " "This will add the corresponding indicator in the built-in documentation " "viewer. This can be especially useful for plugin and library creators." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:212 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:209 msgid "" "**Deprecated** marks a non-recommended API that is subject to removal or " "incompatible change in a future major release. Usually the API is kept for " "backwards compatibility." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:214 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:211 msgid "" "**Experimental** marks a new unstable API that may be changed or removed in " "the current major branch. Using this API is not recommended in production " "code." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:219 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:216 msgid "" "While technically you can use both ``@deprecated`` and ``@experimental`` " "tags on the same class/member, this is not recommended as it is against " "common conventions." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:223 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:220 msgid "BBCode and class reference" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:225 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:222 msgid "" "The editor help window which renders the documentation supports :ref:`bbcode " "`. As a result it's possible to align and " @@ -89155,14 +93187,14 @@ msgid "" "`." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:229 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:226 msgid "" "Godot's class reference supports BBCode-like tags. They add nice formatting " "to the text which could also be used in the documentation. See also :ref:" "`class reference bbcode `." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:232 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:229 #: ../../docs/contributing/documentation/class_reference_primer.rst:134 msgid "" "Whenever you link to a member of another class, you need to specify the " @@ -89170,18 +93202,18 @@ msgid "" "be omitted." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:235 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:232 msgid "Here's the list of available tags:" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:238 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:235 #: ../../docs/contributing/documentation/class_reference_primer.rst:138 #: ../../docs/contributing/documentation/class_reference_primer.rst:173 #: ../../docs/contributing/documentation/class_reference_primer.rst:195 msgid "Tag and Description" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:238 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:235 #: ../../docs/contributing/documentation/class_reference_primer.rst:138 #: ../../docs/contributing/documentation/class_reference_primer.rst:173 #: ../../docs/contributing/documentation/class_reference_primer.rst:195 @@ -89198,12 +93230,12 @@ msgstr "" msgid "Link to class" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:240 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:237 #: ../../docs/contributing/documentation/class_reference_primer.rst:140 msgid "``Move the [Sprite2D].``" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:240 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:237 #: ../../docs/contributing/documentation/class_reference_primer.rst:140 msgid "Move the :ref:`class_Sprite2D`." msgstr "" @@ -89218,12 +93250,12 @@ msgstr "" msgid "Link to annotation" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:243 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:240 #: ../../docs/contributing/documentation/class_reference_primer.rst:143 msgid "``See [annotation @GDScript.@export].``" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:243 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:240 #: ../../docs/contributing/documentation/class_reference_primer.rst:143 msgid "See :ref:`@GDScript.@export `." msgstr "" @@ -89238,12 +93270,12 @@ msgstr "" msgid "Link to constant" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:246 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:243 #: ../../docs/contributing/documentation/class_reference_primer.rst:146 msgid "``See [constant @GlobalScope.KEY_F1].``" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:246 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:243 #: ../../docs/contributing/documentation/class_reference_primer.rst:146 msgid "See :ref:`@GlobalScope.KEY_F1 `." msgstr "" @@ -89258,12 +93290,12 @@ msgstr "" msgid "Link to enum" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:249 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:246 #: ../../docs/contributing/documentation/class_reference_primer.rst:149 msgid "``See [enum Mesh.ArrayType].``" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:249 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:246 #: ../../docs/contributing/documentation/class_reference_primer.rst:149 msgid "See :ref:`Mesh.ArrayType `." msgstr "" @@ -89278,12 +93310,12 @@ msgstr "" msgid "Link to method" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:252 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:249 #: ../../docs/contributing/documentation/class_reference_primer.rst:152 msgid "``Call [method Node3D.hide].``" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:252 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:249 #: ../../docs/contributing/documentation/class_reference_primer.rst:152 msgid "Call :ref:`Node3D.hide() `." msgstr "" @@ -89298,12 +93330,12 @@ msgstr "" msgid "Link to member" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:255 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:252 #: ../../docs/contributing/documentation/class_reference_primer.rst:155 msgid "``Get [member Node2D.scale].``" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:255 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:252 #: ../../docs/contributing/documentation/class_reference_primer.rst:155 msgid "Get :ref:`Node2D.scale `." msgstr "" @@ -89318,12 +93350,12 @@ msgstr "" msgid "Link to signal" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:258 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:255 #: ../../docs/contributing/documentation/class_reference_primer.rst:158 msgid "``Emit [signal Node.renamed].``" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:258 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:255 #: ../../docs/contributing/documentation/class_reference_primer.rst:158 msgid "Emit :ref:`Node.renamed `." msgstr "" @@ -89338,12 +93370,12 @@ msgstr "" msgid "Link to theme item" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:261 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:258 #: ../../docs/contributing/documentation/class_reference_primer.rst:161 msgid "``See [theme_item Label.font].``" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:261 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:258 #: ../../docs/contributing/documentation/class_reference_primer.rst:161 msgid "See :ref:`Label.font `." msgstr "" @@ -89358,12 +93390,12 @@ msgstr "" msgid "Formats a parameter name (as code)" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:264 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:261 #: ../../docs/contributing/documentation/class_reference_primer.rst:175 msgid "``Takes [param size] for the size.``" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:264 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:261 #: ../../docs/contributing/documentation/class_reference_primer.rst:175 msgid "Takes ``size`` for the size." msgstr "" @@ -89408,12 +93440,12 @@ msgstr "" msgid "Bold" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:270 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:267 #: ../../docs/contributing/documentation/class_reference_primer.rst:181 msgid "``Some [b]bold[/b] text.``" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:270 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:267 #: ../../docs/contributing/documentation/class_reference_primer.rst:181 msgid "Some **bold** text." msgstr "" @@ -89428,12 +93460,12 @@ msgstr "" msgid "Italic" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:273 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:270 #: ../../docs/contributing/documentation/class_reference_primer.rst:184 msgid "``Some [i]italic[/i] text.``" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:273 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:270 #: ../../docs/contributing/documentation/class_reference_primer.rst:184 msgid "Some *italic* text." msgstr "" @@ -89448,12 +93480,12 @@ msgstr "" msgid "Keyboard/mouse shortcut" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:276 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:273 #: ../../docs/contributing/documentation/class_reference_primer.rst:187 msgid "``Some [kbd]Ctrl + C[/kbd] key.``" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:276 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:273 #: ../../docs/contributing/documentation/class_reference_primer.rst:187 msgid "Some :kbd:`Ctrl + C` key." msgstr "" @@ -89468,12 +93500,12 @@ msgstr "" msgid "Monospace" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:279 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:276 #: ../../docs/contributing/documentation/class_reference_primer.rst:197 msgid "``Some [code]monospace[/code] text.``" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:279 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:276 #: ../../docs/contributing/documentation/class_reference_primer.rst:197 msgid "Some ``monospace`` text." msgstr "" @@ -89488,7 +93520,7 @@ msgstr "" msgid "Multiline preformatted block" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:282 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:279 #: ../../docs/contributing/documentation/class_reference_primer.rst:200 #: ../../docs/contributing/documentation/class_reference_primer.rst:203 #: ../../docs/contributing/documentation/class_reference_primer.rst:206 @@ -89496,23 +93528,23 @@ msgstr "" msgid "*See below.*" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:288 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:285 #: ../../docs/contributing/documentation/class_reference_primer.rst:167 msgid "Currently only :ref:`class_@GDScript` has annotations." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:289 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:286 #: ../../docs/contributing/documentation/class_reference_primer.rst:215 msgid "``[code]`` disables BBCode until the parser encounters ``[/code]``." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:290 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:287 #: ../../docs/contributing/documentation/class_reference_primer.rst:216 msgid "" "``[codeblock]`` disables BBCode until the parser encounters ``[/codeblock]``." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:294 +#: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:291 msgid "" "Use ``[codeblock]`` for pre-formatted code blocks. Inside ``[codeblock]``, " "always use **four spaces** for indentation (the parser will delete tabs)." @@ -89831,9 +93863,9 @@ msgstr "" #: ../../docs/tutorials/scripting/gdscript/gdscript_styleguide.rst:480 msgid "" -"In the script editor, to toggle the selected code commented, press :kbd:" -"`Ctrl + K`. This feature adds a single ``#`` sign at the start of the " -"selected lines." +"In the script editor, to toggle commenting of the selected code, press :kbd:" +"`Ctrl + K`. This feature adds/removes a single ``#`` sign before any code on " +"the selected lines." msgstr "" #: ../../docs/tutorials/scripting/gdscript/gdscript_styleguide.rst:485 @@ -90647,30 +94679,96 @@ msgid "" msgstr "" #: ../../docs/tutorials/scripting/gdscript/static_typing.rst:400 +msgid "Common unsafe operations and their safe counterparts" +msgstr "" + +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:403 +msgid "``UNSAFE_PROPERTY_ACCESS`` and ``UNSAFE_METHOD_ACCESS`` warnings" +msgstr "" + +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:405 +msgid "" +"In this example, we aim to set a property and call a method on an object " +"that has a script attached with ``class_name MyScript`` and that ``extends " +"Node2D``. If we have a reference to the object as a ``Node2D`` (for " +"instance, as it was passed to us by the physics system), we can first check " +"if the property and method exist and then set and call them if they do::" +msgstr "" + +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:417 +msgid "" +"However, this code will produce ``UNSAFE_PROPERTY_ACCESS`` and " +"``UNSAFE_METHOD_ACCESS`` warnings as the property and method are not present " +"in the referenced type - in this case a ``Node2D``. To make these operations " +"safe, you can first check if the object is of type ``MyScript`` using the " +"``is`` keyword and then declare a variable with the type ``MyScript`` on " +"which you can set its properties and call its methods::" +msgstr "" + +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:429 +msgid "" +"Alternatively, you can declare a variable and use the ``as`` operator to try " +"to cast the object. You'll then want to check whether the cast was " +"successful by confirming that the variable was assigned::" +msgstr "" + +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:439 +msgid "``UNSAFE_CAST`` warning" +msgstr "" + +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:441 +msgid "" +"In this example, we would like the label connected to an object entering our " +"collision area to show the area's name. Once the object enters the collision " +"area, the physics system sends a signal with a ``Node2D`` object, and the " +"most straightforward (but not statically typed) solution to do what we want " +"could be achieved like this::" +msgstr "" + +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:450 +msgid "" +"This piece of code produces an ``UNSAFE_PROPERTY_ACCESS`` warning because " +"``label`` is not defined in ``Node2D``. To solve this, we could first check " +"if the ``label`` property exist and cast it to type ``Label`` before " +"settings its text property like so::" +msgstr "" + +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:459 +msgid "" +"However, this produces an ``UNSAFE_CAST`` warning because ``body.label`` is " +"of a ``Variant`` type. To safely get the property in the type you want, you " +"can use the ``Object.get()`` method which returns the object as a " +"``Variant`` value or returns ``null`` if the property doesn't exist. You can " +"then determine whether the property contains an object of the right type " +"using the ``is`` keyword, and finally declare a statically typed variable " +"with the object::" +msgstr "" + +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:473 msgid "Cases where you can't specify types" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:402 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:475 msgid "" "To wrap up this introduction, let's mention cases where you can't use type " "hints. This will trigger a **syntax error**." msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:405 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:478 msgid "" "You can't specify the type of individual elements in an array or a " "dictionary::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:414 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:487 msgid "Nested types are not currently supported::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:418 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:491 msgid "Typed dictionaries are not currently supported::" msgstr "" -#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:425 +#: ../../docs/tutorials/scripting/gdscript/static_typing.rst:498 msgid "" "Typed GDScript is a powerful tool. It helps you write more structured code, " "avoid common errors, and create scalable and reliable systems. Static types " @@ -91386,7 +95484,7 @@ msgstr "" #: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:84 #: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:99 -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:138 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:132 msgid "In Godot's **Editor → Editor Settings** menu:" msgstr "" @@ -91450,19 +95548,11 @@ msgid "" "Code, your Godot project will run." msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:121 -msgid "" -"There is also a `C# Tools for Godot `__ Visual Studio Code extension, " -"that is meant to make this setup easier and to provide further useful tools. " -"But it is not yet updated to work with Godot 4." -msgstr "" - -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:126 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:120 msgid "Visual Studio (Windows only)" msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:128 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:122 msgid "" "Download and install the latest version of `Visual Studio `__. Visual Studio will include the " @@ -91470,26 +95560,26 @@ msgid "" "to manually install the things listed in the \"Prerequisites\" section." msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:134 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:128 msgid "While installing Visual Studio, select this workload:" msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:136 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:130 msgid ".NET desktop development" msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:140 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:134 msgid "" "Set **Dotnet** -> **Editor** -> **External Editor** to **Visual Studio**." msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:142 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:136 msgid "" "If you see an error like \"Unable to find package Godot.NET.Sdk\", your " "NuGet configuration may be incorrect and need to be fixed." msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:145 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:139 msgid "" "A simple way to fix the NuGet configuration file is to regenerate it. In a " "file explorer window, go to ``%AppData%\\NuGet``. Rename or delete the " @@ -91497,18 +95587,18 @@ msgid "" "will be automatically created with default values." msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:151 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:145 msgid "Creating a C# script" msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:153 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:147 msgid "" "After you successfully set up C# for Godot, you should see the following " "option when selecting **Attach Script** in the context menu of a node in " "your scene:" msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:158 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:152 msgid "" "Note that while some specifics change, most concepts work the same when " "using C# for scripting. If you're new to Godot, you may want to follow the " @@ -91516,11 +95606,11 @@ msgid "" "pages still lack C# examples, most notions can be transferred from GDScript." msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:165 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:159 msgid "Project setup and workflow" msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:167 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:161 msgid "" "When you create the first C# script, Godot initializes the C# project files " "for your Godot project. This includes generating a C# solution (``.sln``) " @@ -91531,12 +95621,12 @@ msgid "" "sometimes help to delete the ``.godot/mono`` folder and let it regenerate." msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:180 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:174 msgid "" "Here's a blank C# script with some comments to demonstrate how it works." msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:206 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:200 msgid "" "As you can see, functions normally in global scope in GDScript like Godot's " "``print`` function are available in the ``GD`` static class which is part of " @@ -91545,21 +95635,21 @@ msgid "" "`@GlobalScope `." msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:214 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:208 msgid "" "Keep in mind that the class you wish to attach to your node should have the " "same name as the ``.cs`` file. Otherwise, you will get the following error:" msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:217 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:211 msgid "*\"Cannot find class XXX for script res://XXX.cs\"*" msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:220 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:214 msgid "General differences between C# and GDScript" msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:222 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:216 msgid "" "The C# API uses ``PascalCase`` instead of ``snake_case`` in GDScript/C++. " "Where possible, fields and getters/setters have been converted to " @@ -91567,11 +95657,11 @@ msgid "" "reasonably possible." msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:226 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:220 msgid "For more information, see the :ref:`doc_c_sharp_differences` page." msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:230 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:224 msgid "" "You need to (re)build the project assemblies whenever you want to see new " "exported variables or signals in the editor. This build can be manually " @@ -91579,17 +95669,17 @@ msgid "" "editor." msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:237 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:231 msgid "" "You will also need to rebuild the project assemblies to apply changes in " "\"tool\" scripts." msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:241 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:235 msgid "Current gotchas and known issues" msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:243 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:237 msgid "" "As C# support is quite new in Godot, there are some growing pains and things " "that need to be ironed out. Below is a list of the most important issues you " @@ -91598,24 +95688,24 @@ msgid "" "godotengine/godot/labels/topic%3Adotnet>`_." msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:249 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:243 msgid "" "Writing editor plugins is possible, but it is currently quite convoluted." msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:250 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:244 msgid "" "State is currently not saved and restored when hot-reloading, with the " "exception of exported variables." msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:252 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:246 msgid "" "Attached C# scripts should refer to a class that has a class name that " "matches the file name." msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:254 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:248 msgid "" "There are some methods such as ``Get()``/``Set()``, ``Call()``/" "``CallDeferred()`` and signal connection method ``Connect()`` that rely on " @@ -91628,24 +95718,24 @@ msgid "" "snake_case naming." msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:264 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:258 msgid "" "As of Godot 4.0, exporting .NET projects is supported for desktop platforms " "(Linux, Windows and macOS). Other platforms will gain support in future 4.x " "releases." msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:269 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:263 msgid "Common pitfalls" msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:271 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:265 msgid "" "You might encounter the following error when trying to modify some values in " "Godot objects, e.g. when trying to change the X coordinate of a ``Node2D``:" msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:287 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:281 msgid "" "This is perfectly normal. Structs (in this example, a ``Vector2``) in C# are " "copied on assignment, meaning that when you retrieve such an object from a " @@ -91653,31 +95743,31 @@ msgid "" "Modifying said copy without reassigning it afterwards won't achieve anything." msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:292 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:286 msgid "" "The workaround is simple: retrieve the entire struct, modify the value you " "want to modify, and reassign the property." msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:301 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:295 msgid "" "Since C# 10, it is also possible to use `with expressions `_ on structs, allowing you to do the same thing in a single line." msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:308 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:302 msgid "" "You can read more about this error on the `C# language reference `_." msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:311 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:305 msgid "Performance of C# in Godot" msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:313 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:307 msgid "" "According to some preliminary `benchmarks `_, the performance of C# in Godot — while generally in the same " @@ -91687,7 +95777,7 @@ msgid "" "scripting workloads." msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:319 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:313 msgid "" "Most properties of Godot C# objects that are based on ``GodotObject`` (e.g. " "any ``Node`` like ``Control`` or ``Node3D`` like ``Camera3D``) require " @@ -91696,24 +95786,24 @@ msgid "" "read them multiple times at a single code location:" msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:355 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:349 msgid "" "Passing raw arrays (such as ``byte[]``) or ``string`` to Godot's C# API " "requires marshalling which is comparatively pricey." msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:358 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:352 msgid "" "The implicit conversion from ``string`` to ``NodePath`` or ``StringName`` " "incur both the native interop and marshalling costs as the ``string`` has to " "be marshalled and passed to the respective native constructor." msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:362 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:356 msgid "Using NuGet packages in Godot" msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:364 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:358 msgid "" "`NuGet `_ packages can be installed and used with " "Godot, as with any C# project. Many IDEs are able to add packages directly. " @@ -91721,35 +95811,35 @@ msgid "" "csproj`` file located in the project root:" msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:378 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:372 msgid "" "As of Godot 3.2.3, Godot automatically downloads and sets up newly added " "NuGet packages the next time it builds the project." msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:382 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:376 msgid "Profiling your C# code" msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:384 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:378 msgid "" "The following tools may be used for performance and memory profiling of your " "managed code:" msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:386 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:380 msgid "JetBrains Rider with dotTrace/dotMemory plugin." msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:387 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:381 msgid "Standalone JetBrains dotTrace/dotMemory." msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:388 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:382 msgid "Visual Studio." msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:390 +#: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:384 msgid "" "Profiling managed and unmanaged code at once is possible with both JetBrains " "tools and Visual Studio, but limited to Windows." @@ -95630,10 +99720,10 @@ msgstr "" #: ../../docs/tutorials/scripting/c_sharp/c_sharp_signals.rst:32 msgid "" -"Godot will take care of disconnecting all the signals you connected through " -"events when your nodes are freed. Meaning that: as you don't need to call " -"``Disconnect`` on all signals you used ``Connect`` on, you don't need to ``-" -"=`` all the signals you used ``+=`` on." +"While all engine signals connected as events are automatically disconnected " +"when nodes are freed, custom signals aren't. Meaning that: you will need to " +"manually disconnect (using ``-=``) all the custom signals you connected as " +"C# events (using ``+=``)." msgstr "" #: ../../docs/tutorials/scripting/c_sharp/c_sharp_signals.rst:37 @@ -95692,7 +99782,7 @@ msgstr "" #: ../../docs/tutorials/scripting/c_sharp/c_sharp_signals.rst:92 msgid "" -"Consequently, any ``Node`` or ``Reference`` will be compatible " +"Consequently, any ``Node`` or ``RefCounted`` will be compatible " "automatically, but custom data objects will need to inherit from " "``GodotObject`` or one of its subclasses." msgstr "" @@ -96366,87 +100456,505 @@ msgid "" "type, and use direct cast otherwise." msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/diagnostics/index.rst:2 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/index.rst:4 msgid "C# diagnostics" msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/diagnostics/index.rst:4 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/index.rst:6 msgid "" "Godot includes analyzers that inspect your C# source code to check for " "invalid or unsupported code and let you know that something is wrong during " "build time." msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/diagnostics/index.rst:8 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/index.rst:10 msgid "Rules" msgstr "" +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0001.rst:2 +msgid "" +"GD0001: Missing partial modifier on declaration of type that derives from " +"GodotObject" +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0001.rst:7 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0002.rst:7 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0101.rst:7 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0102.rst:7 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0103.rst:7 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0104.rst:7 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0105.rst:7 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0106.rst:7 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0107.rst:7 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0201.rst:7 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0202.rst:7 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0203.rst:7 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0301.rst:7 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0302.rst:7 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0303.rst:7 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0401.rst:7 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0402.rst:7 +msgid "**Rule ID**" +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0001.rst:7 +msgid "GD0001" +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0001.rst:8 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0002.rst:8 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0101.rst:8 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0102.rst:8 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0103.rst:8 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0104.rst:8 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0105.rst:8 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0106.rst:8 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0107.rst:8 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0201.rst:8 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0202.rst:8 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0203.rst:8 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0301.rst:8 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0302.rst:8 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0303.rst:8 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0401.rst:8 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0402.rst:8 +msgid "**Category**" +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0001.rst:9 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0002.rst:9 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0101.rst:9 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0102.rst:9 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0103.rst:9 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0104.rst:9 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0105.rst:9 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0106.rst:9 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0107.rst:9 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0201.rst:9 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0202.rst:9 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0203.rst:9 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0301.rst:9 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0302.rst:9 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0303.rst:9 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0401.rst:9 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0402.rst:9 +msgid "**Fix is breaking or non-breaking**" +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0001.rst:9 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0002.rst:9 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0103.rst:9 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0104.rst:9 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0105.rst:9 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0106.rst:9 +msgid "Non-breaking" +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0001.rst:10 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0002.rst:10 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0101.rst:12 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0102.rst:12 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0103.rst:10 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0104.rst:10 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0105.rst:10 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0106.rst:10 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0107.rst:10 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0201.rst:10 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0202.rst:12 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0203.rst:12 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0301.rst:10 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0302.rst:10 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0303.rst:10 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0401.rst:12 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0402.rst:10 +msgid "**Enabled by default**" +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0001.rst:10 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0002.rst:10 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0101.rst:12 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0102.rst:12 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0103.rst:10 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0104.rst:10 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0105.rst:10 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0106.rst:10 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0107.rst:10 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0201.rst:10 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0202.rst:12 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0203.rst:12 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0301.rst:10 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0302.rst:10 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0303.rst:10 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0401.rst:12 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0402.rst:10 +msgid "Yes" +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0001.rst:14 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0002.rst:14 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0101.rst:16 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0102.rst:16 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0103.rst:14 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0104.rst:14 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0105.rst:14 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0106.rst:14 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0107.rst:14 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0201.rst:14 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0202.rst:16 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0203.rst:16 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0301.rst:14 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0302.rst:14 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0303.rst:14 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0401.rst:16 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0402.rst:14 +msgid "Cause" +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0001.rst:16 +msgid "A type that derives from ``GodotObject`` is not declared partial." +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0001.rst:19 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0002.rst:19 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0101.rst:22 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0102.rst:22 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0103.rst:20 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0104.rst:20 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0105.rst:19 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0106.rst:20 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0107.rst:20 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0201.rst:20 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0202.rst:23 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0203.rst:22 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0301.rst:20 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0302.rst:21 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0303.rst:19 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0401.rst:22 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0402.rst:19 +msgid "Rule description" +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0001.rst:21 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0002.rst:21 +msgid "" +"Godot source generators add generated code to user-defined types to " +"implement the integration with the engine. Source generators can't add " +"generated code to types that aren't declared partial." +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0001.rst:34 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0002.rst:42 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0101.rst:37 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0102.rst:41 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0103.rst:43 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0104.rst:37 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0105.rst:36 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0106.rst:50 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0107.rst:26 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0201.rst:43 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0202.rst:43 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0203.rst:40 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0301.rst:39 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0302.rst:46 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0303.rst:27 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0401.rst:45 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0402.rst:36 +msgid "How to fix violations" +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0001.rst:36 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0002.rst:44 +msgid "" +"To fix a violation of this rule, add the ``partial`` keyword to the type " +"declaration." +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0001.rst:40 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0002.rst:48 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0101.rst:43 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0102.rst:47 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0103.rst:52 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0104.rst:43 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0105.rst:41 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0106.rst:56 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0107.rst:32 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0201.rst:48 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0202.rst:56 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0203.rst:53 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0301.rst:46 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0302.rst:52 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0303.rst:32 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0401.rst:51 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0402.rst:42 +msgid "When to suppress warnings" +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0001.rst:42 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0002.rst:50 +msgid "" +"Do not suppress a warning from this rule. Types that derive from " +"``GodotObject`` but aren't partial can't be enhanced by the source " +"generators, resulting in unexpected runtime errors." +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0002.rst:2 +msgid "" +"GD0002: Missing partial modifier on declaration of type which contains " +"nested classes that derive from GodotObject" +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0002.rst:7 +msgid "GD0002" +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0002.rst:16 +msgid "" +"A type that derives from ``GodotObject`` is contained in a non-partial type " +"declaration." +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0101.rst:2 +msgid "GD0101: Attempted to export static member" +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0101.rst:7 +msgid "GD0101" +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0101.rst:9 +msgid "Breaking - If the ``static`` keyword is removed" +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0101.rst:11 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0102.rst:11 +msgid "Non-breaking - If the ``[Export]`` attribute is removed" +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0101.rst:18 +msgid "" +"A static member is annotated with the ``[Export]`` attribute. Static members " +"can't be exported." +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0101.rst:24 +msgid "Godot doesn't allow exporting static members." +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0101.rst:39 +msgid "" +"To fix a violation of this rule, remove the ``[Export]`` attribute or remove " +"the ``static`` keyword." +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0101.rst:45 +msgid "" +"Do not suppress a warning from this rule. Static members can't be exported " +"so they will be ignored by Godot, resulting in runtime errors." +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0102.rst:2 +msgid "GD0102: The type of the exported member is not supported" +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0102.rst:7 +msgid "GD0102" +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0102.rst:9 +msgid "Breaking - If the member type is changed" +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0102.rst:18 +msgid "" +"An unsupported type is specified for a member annotated with the " +"``[Export]`` attribute when a :ref:`Variant-compatible " +"` type is expected." +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0102.rst:24 +msgid "" +"Every exported member must be Variant-compatible so it can be marshalled by " +"the engine." +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0102.rst:43 +msgid "" +"To fix a violation of this rule, change the member's type to be Variant-" +"compatible or remove the ``[Export]`` attribute." +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0102.rst:49 +msgid "" +"Do not suppress a warning from this rule. Members with types that can't be " +"marshalled will result in runtime errors." +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0103.rst:2 +msgid "GD0103: The exported member is read-only" +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0103.rst:7 +msgid "GD0103" +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0103.rst:16 +msgid "" +"A read-only member is annotated with the ``[Export]`` attribute. Read-only " +"members can't be exported." +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0103.rst:22 +msgid "Godot doesn't allow exporting read-only members." +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0103.rst:45 +msgid "" +"To fix a violation of this rule for fields, remove the ``readonly`` keyword " +"or remove the ``[Export]`` attribute." +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0103.rst:48 +msgid "" +"To fix a violation of this rule for properties, make sure the property " +"declares both a getter and a setter, or remove the ``[Export]`` attribute." +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0103.rst:54 +msgid "" +"Do not suppress a warning from this rule. Read-only members can't be " +"exported so they will be ignored by Godot, resulting in runtime errors." +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0104.rst:2 +msgid "GD0104: The exported property is write-only" +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0104.rst:7 +msgid "GD0104" +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0104.rst:16 +msgid "" +"A write-only property is annotated with the ``[Export]`` attribute. Write-" +"only properties can't be exported." +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0104.rst:22 +msgid "Godot doesn't allow exporting write-only properties." +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0104.rst:39 +msgid "" +"To fix a violation of this rule, make sure the property declares both a " +"getter and a setter, or remove the ``[Export]`` attribute." +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0104.rst:45 +msgid "" +"Do not suppress a warning from this rule. Write-only members can't be " +"exported so they will be ignored by Godot, resulting in runtime errors." +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0105.rst:2 +msgid "GD0105: Attempted to export indexer property" +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0105.rst:7 +msgid "GD0105" +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0105.rst:16 +msgid "" +"An indexer is annotated with the ``[Export]`` attribute. Indexers can't be " +"exported." +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0105.rst:21 +msgid "Godot doesn't allow exporting indexer properties." +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0105.rst:38 +msgid "To fix a violation of this rule, remove the ``[Export]`` attribute." +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0105.rst:43 +msgid "" +"Do not suppress a warning from this rule. Indexers can't be exported so they " +"will be ignored by Godot, resulting in runtime errors." +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0106.rst:2 +msgid "GD0106: Attempted to export explicit interface property implementation" +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0106.rst:7 +msgid "GD0106" +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0106.rst:16 +msgid "" +"An explicit interface property implementation is annotated with the " +"``[Export]`` attribute. Properties that implement an interface explicitly " +"can't be exported." +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0106.rst:22 +msgid "" +"Godot doesn't allow exporting explicit interface property implementations. " +"When an interface member is implemented explicitly, the member is hidden and " +"consumers can't access them unless the type is converted to the interface " +"first. Explicitly implemented members can also share the same name of other " +"members in the type, so it could create naming conflicts with other exported " +"members." +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0106.rst:52 +msgid "" +"To fix a violation of this rule, implement the interface implicitly or " +"remove the ``[Export]`` attribute." +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0106.rst:58 +msgid "" +"Do not suppress a warning from this rule. Explicit interface property " +"implementations can't be exported so they will be ignored by Godot, " +"resulting in runtime errors." +msgstr "" + #: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0107.rst:2 msgid "GD0107: Types not derived from Node should not export Node members" msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0107.rst:7 -msgid "**Rule ID**" -msgstr "" - #: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0107.rst:7 msgid "GD0107" msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0107.rst:8 -msgid "**Category**" -msgstr "" - -#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0107.rst:9 -msgid "**Fix is breaking or non-breaking**" -msgstr "" - #: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0107.rst:9 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0201.rst:9 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0301.rst:9 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0302.rst:9 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0402.rst:9 msgid "Breaking" msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0107.rst:10 -msgid "**Enabled by default**" -msgstr "" - -#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0107.rst:10 -msgid "Yes" -msgstr "" - -#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0107.rst:14 -msgid "Cause" -msgstr "" - #: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0107.rst:16 msgid "" "A type that doesn't derive from ``Node`` contains an exported field or " "property of a type that derives from ``Node``." msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0107.rst:20 -msgid "Rule description" -msgstr "" - #: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0107.rst:22 msgid "" "Exported nodes are serialized as ``NodePath``. Only types derived from " "``Node`` are able to get the node instance from the ``NodePath``." msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0107.rst:26 -msgid "How to fix violations" -msgstr "" - #: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0107.rst:28 msgid "" "To fix a violation of this rule, avoid exporting ``Node`` members on a type " "that doesn't derive from ``Node``, or consider exporting a ``NodePath``." msgstr "" -#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0107.rst:32 -msgid "When to suppress warnings" -msgstr "" - #: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0107.rst:34 msgid "" "Do not suppress a warning from this rule. Types that don't derive from " @@ -96454,6 +100962,332 @@ msgid "" "``Node`` members, resulting in unexpected runtime errors." msgstr "" +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0201.rst:2 +msgid "GD0201: The name of the delegate must end with 'EventHandler'" +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0201.rst:7 +msgid "GD0201" +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0201.rst:16 +msgid "" +"A delegate annotated with the ``[Signal]`` attribute has a name that doesn't " +"end with 'EventHandler'." +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0201.rst:22 +msgid "" +"Godot source generators will generate C# events using the name of the " +"delegate with the 'EventHandler' suffix removed. Adding the 'EventHandler' " +"suffix to the name of delegates used in events is a `.NET naming convention " +"`_." +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0201.rst:26 +msgid "" +"Using a suffix for the delegate allows the generated event to use the name " +"without the suffix avoiding a naming conflict." +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0201.rst:39 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0202.rst:39 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0203.rst:36 +msgid "" +"Take a look at the :ref:`C# signals ` documentation for " +"more information about how to declare and use signals." +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0201.rst:45 +msgid "" +"To fix a violation of this rule, add 'EventHandler' to the end of the " +"delegate name." +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0201.rst:50 +msgid "" +"Do not suppress a warning from this rule. Signal delegates without the " +"suffix will be ignored by the source generator, so the signal won't be " +"registered." +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0202.rst:2 +msgid "" +"GD0202: The parameter of the delegate signature of the signal is not " +"supported" +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0202.rst:7 +msgid "GD0202" +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0202.rst:9 +msgid "Breaking - If the parameter type is changed" +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0202.rst:11 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0203.rst:11 +msgid "Non-breaking - If the ``[Signal]`` attribute is removed" +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0202.rst:18 +msgid "" +"An unsupported type is specified for a parameter of a delegate annotated " +"with the ``[Signal]`` attribute when a :ref:`Variant-compatible " +"` type is expected." +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0202.rst:25 +msgid "" +"Every signal parameter must be Variant-compatible so it can be marshalled " +"when emitting the signal and invoking the callbacks." +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0202.rst:45 +msgid "" +"To fix a violation of this rule, change the parameter type to be Variant-" +"compatible or remove the ``[Signal]`` attribute from the delegate. Note that " +"removing the attribute will mean the signal is not registered." +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0202.rst:51 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0203.rst:48 +msgid "" +"If the signal doesn't need to interact with Godot, consider using `C# events " +"`_ directly. Pure C# events allow you to use any C# type for its parameters." +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0202.rst:58 +msgid "" +"Do not suppress a warning from this rule. Signal delegates with parameters " +"that can't be marshalled will result in runtime errors when emitting the " +"signal or invoking the callbacks." +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0203.rst:2 +msgid "GD0203: The delegate signature of the signal must return void" +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0203.rst:7 +msgid "GD0203" +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0203.rst:9 +msgid "Breaking - If the return type is changed" +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0203.rst:18 +msgid "" +"A delegate annotated with the ``[Signal]`` attribute has a return type when " +"``void`` was expected." +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0203.rst:24 +msgid "" +"Every signal must return ``void``. There can be multiple callbacks " +"registered for each signal, if signal callbacks could return something it " +"wouldn't be possible to determine which of the returned values to use." +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0203.rst:42 +msgid "" +"To fix a violation of this rule, change the delegate to return ``void`` or " +"remove the ``[Signal]`` attribute from the delegate. Note that removing the " +"attribute will mean the signal is not registered." +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0203.rst:55 +msgid "" +"Do not suppress a warning from this rule. Signal delegates that return " +"something will result in unexpected runtime errors." +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0301.rst:2 +msgid "GD0301: The generic type argument must be a Variant compatible type" +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0301.rst:7 +msgid "GD0301" +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0301.rst:16 +msgid "" +"An unsupported type is specified for a generic type argument when a :ref:" +"`Variant-compatible ` type is expected." +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0301.rst:22 +msgid "" +"When a generic type parameter is annotated with the ``[MustBeVariant]`` " +"attribute, the generic type is required to be a Variant-compatible type. For " +"example, the generic ``Godot.Collections.Array`` type only supports items " +"of a type that can be converted to Variant." +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0301.rst:41 +msgid "" +"To fix a violation of this rule, change the generic type argument to be a " +"Variant-compatible type or use a different API that doesn't require the " +"generic type argument to be a Variant-compatible type." +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0301.rst:48 +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0302.rst:54 +msgid "" +"Do not suppress a warning from this rule. API that contains generic type " +"arguments annotated with the ``[MustBeVariant]`` attribute usually has this " +"requirement because the values will be passed to the engine, if the type " +"can't be marshalled it will result in runtime errors." +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0302.rst:2 +msgid "" +"GD0302: The generic type parameter must be annotated with the MustBeVariant " +"attribute" +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0302.rst:7 +msgid "GD0302" +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0302.rst:16 +msgid "" +"A generic type is specified for a generic type argument when a :ref:`Variant-" +"compatible ` type is expected, but the specified " +"generic type is not annotated with the ``[MustBeVariant]`` attribute." +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0302.rst:23 +msgid "" +"When a generic type parameter is annotated with the ``[MustBeVariant]`` " +"attribute, the generic type is required to be a Variant-compatible type. " +"When the type used is also a generic type, this generic type must be " +"annotated with the ``[MustBeVariant]`` attribute as well. For example, the " +"generic ``Godot.Collections.Array`` type only supports items of a type " +"that can be converted to Variant, a generic type can be specified if it's " +"properly annotated." +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0302.rst:48 +msgid "" +"To fix a violation of this rule, add the ``[MustBeVariant]`` attribute to " +"the generic type that is used as a generic type argument that must be " +"Variant-compatible." +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0303.rst:2 +msgid "" +"GD0303: Symbol parent of a type argument that must be Variant compatible was " +"not handled" +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0303.rst:7 +msgid "GD0303" +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0303.rst:9 +msgid "Not fixable" +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0303.rst:16 +msgid "This is a bug in the engine and must be reported." +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0303.rst:21 +msgid "" +"The ``MustBeVariantAnalyzer`` has found an unhandled case in the user source " +"code. Please, open an `issue `_ " +"and attach a minimal reproduction project so it can be fixed." +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0303.rst:29 +msgid "Violations of this rule can't be fixed." +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0303.rst:34 +msgid "" +"Suppressing a warning from this rule may result in unexpected errors, since " +"the case found by the analyzer may need to be handled by the user to prevent " +"types that are not Variant-compatible from reaching the engine. Attempting " +"to marshal incompatible types will result in runtime errors." +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0401.rst:2 +msgid "GD0401: The class must derive from GodotObject or a derived class" +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0401.rst:7 +msgid "GD0401" +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0401.rst:9 +msgid "Breaking - If changing the inheritance chain" +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0401.rst:11 +msgid "Non-breaking - If removing the ``[GlobalClass]`` attribute" +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0401.rst:18 +msgid "" +"A type annotated with the ``[GlobalClass]`` attribute does not derive from " +"``GodotObject``." +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0401.rst:24 +msgid "" +"The ``[GlobalClass]`` has no effect for types that don't derive from " +"``GodotObject``. Every :ref:`global class ` must " +"ultimately derive from ``GodotObject`` so it can be marshalled." +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0401.rst:47 +msgid "" +"To fix a violation of this rule, change the type to derive from " +"``GodotObject`` or remove the ``[GlobalClass]`` attribute." +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0401.rst:53 +msgid "" +"Do not suppress a warning from this rule. Adding the ``[GlobalClass]`` to a " +"type that doesn't derive from ``GodotObject`` is an easy mistake to make and " +"this warning helps users realize that it may result in unexpected errors." +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0402.rst:2 +msgid "GD0402: The class must not contain generic arguments" +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0402.rst:7 +msgid "GD0402" +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0402.rst:16 +msgid "A generic type is annotated with the ``[GlobalClass]`` attribute." +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0402.rst:21 +msgid "" +"The Godot editor assumes every :ref:`global class " +"` is instantiable, but generic types can't be " +"instantiated because the type arguments are unbound." +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0402.rst:38 +msgid "" +"To fix a violation of this rule, change the type to remove the generic type " +"parameters or remove the ``[GlobalClass]`` attribute." +msgstr "" + +#: ../../docs/tutorials/scripting/c_sharp/diagnostics/GD0402.rst:44 +msgid "" +"Do not suppress a warning from this rule. Adding the ``[GlobalClass]`` to a " +"generic type is an easy mistake to make and this warning helps users realize " +"that it may result in unexpected errors." +msgstr "" + #: ../../docs/tutorials/scripting/gdextension/index.rst:2 #: ../../docs/contributing/development/compiling/compiling_for_web.rst:65 msgid "GDExtension" @@ -96611,18 +101445,22 @@ msgid "`D `__" msgstr "" #: ../../docs/tutorials/scripting/gdextension/what_is_gdextension.rst:99 -msgid "`Haxe `__" +msgid "`Go `__" msgstr "" #: ../../docs/tutorials/scripting/gdextension/what_is_gdextension.rst:100 -msgid "`Rust `__" +msgid "`Haxe `__" msgstr "" #: ../../docs/tutorials/scripting/gdextension/what_is_gdextension.rst:101 +msgid "`Rust `__" +msgstr "" + +#: ../../docs/tutorials/scripting/gdextension/what_is_gdextension.rst:102 msgid "`Swift `__" msgstr "" -#: ../../docs/tutorials/scripting/gdextension/what_is_gdextension.rst:105 +#: ../../docs/tutorials/scripting/gdextension/what_is_gdextension.rst:106 msgid "" "Not all bindings mentioned here may be production-ready. Make sure to " "research options thoroughly before starting a project with one of those. " @@ -96630,11 +101468,11 @@ msgid "" "you're using." msgstr "" -#: ../../docs/tutorials/scripting/gdextension/what_is_gdextension.rst:111 +#: ../../docs/tutorials/scripting/gdextension/what_is_gdextension.rst:112 msgid "Version compatibility" msgstr "" -#: ../../docs/tutorials/scripting/gdextension/what_is_gdextension.rst:113 +#: ../../docs/tutorials/scripting/gdextension/what_is_gdextension.rst:114 msgid "" "GDExtension add-ons compiled for a given Godot version are only guaranteed " "to work with the same minor release series. For example, a GDExtension add-" @@ -96642,7 +101480,7 @@ msgid "" "addition, GDExtension is not compatible with Godot 3.x." msgstr "" -#: ../../docs/tutorials/scripting/gdextension/what_is_gdextension.rst:118 +#: ../../docs/tutorials/scripting/gdextension/what_is_gdextension.rst:119 msgid "" "GDExtension add-ons are also only compatible with engine builds that use the " "level of floating-point precision the extension was compiled for. This means " @@ -97044,7 +101882,7 @@ msgstr "" #: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:445 #: ../../docs/tutorials/scripting/creating_script_templates.rst:70 -#: ../../docs/contributing/development/core_and_modules/object_class.rst:139 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:143 #: ../../docs/contributing/documentation/class_reference_primer.rst:223 msgid "For example:" msgstr "" @@ -101822,7 +106660,7 @@ msgid "" msgstr "" #: ../../docs/tutorials/shaders/shader_reference/shading_language.rst:183 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:115 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:116 msgid "Precision" msgstr "" @@ -102743,9 +107581,10 @@ msgstr "" #: ../../docs/tutorials/shaders/shader_reference/shading_language.rst:1055 msgid "" -"Per-instance uniform values can also be set at run-time using " -"`set_instance_shader_parameter` " -"method on a node that inherits from :ref:`class_GeometryInstance3D`:" +"Per-instance uniform values can also be set at run-time using :ref:" +"`set_instance_shader_parameter " +"` method on a " +"node that inherits from :ref:`class_GeometryInstance3D`:" msgstr "" #: ../../docs/tutorials/shaders/shader_reference/shading_language.rst:1063 @@ -103469,7 +108308,9 @@ msgid "Get the number of accessible mipmap levels of a texture." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/shading_language.rst:1272 -msgid "If the texture is unassigned to a sampler, ``0`` is returned." +msgid "" +"If the texture is unassigned to a sampler, ``1`` is returned (Godot always " +"internally assigns a texture even to an empty sampler)." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/shading_language.rst:1278 @@ -104698,11 +109539,11 @@ msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:100 #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:153 #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:247 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:413 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:411 #: ../../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:159 -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:233 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:232 #: ../../docs/tutorials/shaders/shader_reference/particle_shader.rst:59 #: ../../docs/tutorials/shaders/shader_reference/particle_shader.rst:131 #: ../../docs/tutorials/shaders/shader_reference/particle_shader.rst:148 @@ -104849,54 +109690,54 @@ msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:155 #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:249 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:415 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:413 msgid "in vec2 **VIEWPORT_SIZE**" msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:155 #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:249 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:415 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:413 msgid "Size of viewport (in pixels)." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:157 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:273 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:426 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:274 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:424 msgid "in mat4 **VIEW_MATRIX**" msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:157 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:273 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:426 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:274 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:424 msgid "World space to view space transform." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:159 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:275 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:424 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:276 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:422 msgid "in mat4 **INV_VIEW_MATRIX**" msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:159 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:275 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:424 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:276 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:422 msgid "View space to world space transform." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:161 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:279 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:430 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:280 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:428 msgid "in mat4 **INV_PROJECTION_MATRIX**" msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:161 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:279 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:430 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:280 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:428 msgid "Clip space to view space transform." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:163 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:281 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:282 msgid "in vec3 **NODE_POSITION_WORLD**" msgstr "" @@ -104905,7 +109746,7 @@ msgid "Node world space position." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:165 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:283 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:284 msgid "in vec3 **NODE_POSITION_VIEW**" msgstr "" @@ -104914,7 +109755,7 @@ msgid "Node view space position." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:167 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:285 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:286 msgid "in vec3 **CAMERA_POSITION_WORLD**" msgstr "" @@ -104923,7 +109764,7 @@ msgid "Camera world space position." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:169 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:287 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:288 msgid "in vec3 **CAMERA_DIRECTION_WORLD**" msgstr "" @@ -104932,14 +109773,14 @@ msgid "Camera world space direction." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:171 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:266 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:463 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:267 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:461 msgid "in bool **OUTPUT_IS_SRGB**" msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:171 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:266 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:463 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:267 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:461 msgid "" "``true`` when output is in sRGB color space (this is ``true`` in the " "Compatibility renderer, ``false`` in Forward+ and Forward Mobile)." @@ -104964,44 +109805,44 @@ msgid "Instance custom data (for particles, mostly)." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:179 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:291 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:292 msgid "in int **VIEW_INDEX**" msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:179 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:291 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:292 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:183 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:295 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:296 msgid "in int **VIEW_MONO_LEFT**" msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:183 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:295 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:296 msgid "Constant for Mono or left eye, always ``0``." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:185 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:297 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:298 msgid "in int **VIEW_RIGHT**" msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:185 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:297 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:298 msgid "Constant for right eye, always ``1``." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:187 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:299 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:300 msgid "in vec3 **EYE_OFFSET**" msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:187 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:299 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:300 msgid "" "Position offset for the eye being rendered. Only applicable for multiview " "rendering." @@ -105026,8 +109867,8 @@ msgid "The index of the current vertex in the vertex buffer." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:194 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:311 -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:188 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:312 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:187 msgid "inout vec3 **NORMAL**" msgstr "" @@ -105036,7 +109877,7 @@ msgid "Normal in local coordinates." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:196 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:313 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:314 msgid "inout vec3 **TANGENT**" msgstr "" @@ -105045,7 +109886,7 @@ msgid "Tangent in local coordinates." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:198 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:315 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:316 msgid "inout vec3 **BINORMAL**" msgstr "" @@ -105080,7 +109921,7 @@ msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:206 #: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:131 -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:204 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:203 #: ../../docs/tutorials/shaders/shader_reference/particle_shader.rst:94 msgid "inout vec4 **COLOR**" msgstr "" @@ -105090,7 +109931,7 @@ msgid "Color from vertices." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:208 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:337 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:338 msgid "out float **ROUGHNESS**" msgstr "" @@ -105124,8 +109965,8 @@ msgid "inout mat4 **MODEL_MATRIX**" msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:216 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:269 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:422 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:270 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:420 msgid "Model space to world space transform." msgstr "" @@ -105138,8 +109979,8 @@ msgid "inout mat4 **PROJECTION_MATRIX**" msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:220 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:277 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:428 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:278 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:426 msgid "View space to clip space transform." msgstr "" @@ -105190,14 +110031,14 @@ msgid "" msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:251 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:417 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:415 #: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:161 -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:235 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:234 msgid "in vec4 **FRAGCOORD**" msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:251 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:417 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:415 msgid "" "Coordinate of pixel center in screen space. ``xy`` specifies position in " "window, ``z`` specifies fragment depth if ``DEPTH`` is not used. Origin is " @@ -105213,363 +110054,365 @@ msgid "``true`` if current face if front face." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:256 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:438 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:436 msgid "in vec3 **VIEW**" msgstr "" #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:256 -msgid "Normalized vector from fragment position to camera (in view space)." +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:258 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:434 -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:181 -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:243 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:259 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:432 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:180 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:241 msgid "in vec2 **UV**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:258 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:434 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:259 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:432 msgid "UV that comes from vertex function." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:260 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:436 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:261 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:434 msgid "in vec2 **UV2**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:260 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:436 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:261 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:434 msgid "UV2 that comes from vertex function." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:262 -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:241 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:263 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:239 msgid "in vec4 **COLOR**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:262 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:263 msgid "COLOR that comes from vertex function." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:264 -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:167 -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:253 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:265 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:166 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:251 msgid "in vec2 **POINT_COORD**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:264 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:265 msgid "Point Coordinate for drawing points with POINT_SIZE." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:269 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:422 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:270 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:420 #: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:103 msgid "in mat4 **MODEL_MATRIX**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:271 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:272 msgid "in mat3 **MODEL_NORMAL_MATRIX**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:277 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:428 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:278 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:426 msgid "in mat4 **PROJECTION_MATRIX**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:281 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:282 msgid "Node position, in world space." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:283 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:284 msgid "Node position, in view space." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:285 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:286 msgid "Camera position, in world space." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:287 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:288 msgid "Camera direction, in world space." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:289 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:290 msgid "in vec3 **VERTEX**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:289 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:290 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/canvas_item_shader.rst:185 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:302 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:184 msgid "sampler2D **SCREEN_TEXTURE**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:301 -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:185 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:302 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:184 msgid "" "Removed in Godot 4. Use a ``sampler2D`` with ``hint_screen_texture`` instead." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:303 -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:183 -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:251 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:304 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:182 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:249 #: ../../docs/tutorials/shaders/shader_reference/sky_shader.rst:197 msgid "in vec2 **SCREEN_UV**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:303 -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:183 -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:251 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:304 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:182 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:249 msgid "Screen UV coordinate for current pixel." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:305 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:306 msgid "sampler2D **DEPTH_TEXTURE**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:305 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:306 msgid "" "Removed in Godot 4. Use a ``sampler2D`` with ``hint_depth_texture`` instead." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:307 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:308 msgid "out float **DEPTH**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:307 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:308 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:311 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:312 msgid "Normal that comes from vertex function (default, in view space)." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:313 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:314 msgid "Tangent that comes from vertex function." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:315 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:316 msgid "Binormal that comes from vertex function." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:317 -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:192 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:318 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:191 msgid "out vec3 **NORMAL_MAP**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:317 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:318 msgid "Set normal here if reading normal from a texture instead of NORMAL." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:319 -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:195 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:320 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:194 msgid "out float **NORMAL_MAP_DEPTH**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:319 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:320 msgid "Depth from variable above. Defaults to 1.0." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:321 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:322 #: ../../docs/tutorials/shaders/shader_reference/fog_shader.rst:72 msgid "out vec3 **ALBEDO**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:321 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:322 msgid "Albedo (default white)." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:323 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:471 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:324 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:469 #: ../../docs/tutorials/shaders/shader_reference/sky_shader.rst:207 msgid "out float **ALPHA**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:323 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:471 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:324 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:469 msgid "" "Alpha (0..1); if written to, the material will go to the transparent " "pipeline." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:325 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:326 msgid "out float **ALPHA_SCISSOR_THRESHOLD**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:325 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:326 msgid "If written to, values below a certain amount of alpha are discarded." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:327 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:328 msgid "out float **ALPHA_HASH_SCALE**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:329 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:330 msgid "out float **ALPHA_ANTIALIASING_EDGE**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:331 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:332 msgid "out vec2 **ALPHA_TEXTURE_COORDINATE**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:333 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:334 msgid "out float **METALLIC**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:333 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:334 msgid "Metallic (0..1)." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:335 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:336 msgid "out float **SPECULAR**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:335 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:336 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:337 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:338 msgid "Roughness (0..1)." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:339 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:340 msgid "out float **RIM**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:339 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:340 msgid "Rim (0..1). If used, Godot calculates rim lighting." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:341 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:342 msgid "out float **RIM_TINT**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:341 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:342 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:343 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:344 msgid "out float **CLEARCOAT**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:343 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:344 msgid "Small added specular blob. If used, Godot calculates Clearcoat." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:345 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:346 msgid "out float **CLEARCOAT_GLOSS**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:345 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:346 msgid "Gloss of Clearcoat. If used, Godot calculates Clearcoat." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:347 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:348 msgid "out float **ANISOTROPY**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:347 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:348 msgid "For distorting the specular blob according to tangent space." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:349 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:350 msgid "out vec2 **ANISOTROPY_FLOW**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:349 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:350 msgid "Distortion direction, use with flowmaps." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:351 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:352 msgid "out float **SSS_STRENGTH**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:351 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:352 msgid "" "Strength of Subsurface Scattering. If used, Subsurface Scattering will be " "applied to object." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:353 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:354 msgid "out vec4 **SSS_TRANSMITTANCE_COLOR**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:355 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:356 msgid "out float **SSS_TRANSMITTANCE_DEPTH**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:357 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:358 msgid "out float **SSS_TRANSMITTANCE_BOOST**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:359 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:360 msgid "inout vec3 **BACKLIGHT**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:361 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:362 msgid "out float **AO**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:361 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:362 msgid "Strength of Ambient Occlusion. For use with pre-baked AO." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:363 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:364 msgid "out float **AO_LIGHT_AFFECT**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:363 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:364 msgid "How much AO affects lights (0..1; default 0)." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:365 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:366 #: ../../docs/tutorials/shaders/shader_reference/fog_shader.rst:78 msgid "out vec3 **EMISSION**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:365 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:366 msgid "Emission color (can go over 1,1,1 for HDR)." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:367 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:368 #: ../../docs/tutorials/shaders/shader_reference/sky_shader.rst:209 msgid "out vec4 **FOG**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:367 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:368 msgid "If written to, blends final pixel color with FOG.rgb based on FOG.a." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:369 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:370 msgid "out vec4 **RADIANCE**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:369 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:370 msgid "" "If written to, blends environment map radiance with RADIANCE.rgb based on " "RADIANCE.a." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:371 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:372 msgid "out vec4 **IRRADIANCE**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:371 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:372 msgid "" "If written to, blends environment map IRRADIANCE with IRRADIANCE.rgb based " "on IRRADIANCE.a." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:376 -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:477 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:377 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:475 msgid "" "Shaders going through the transparent pipeline when ``ALPHA`` is written to " "may exhibit transparency sorting issues. Read the :ref:`transparency sorting " @@ -105578,12 +110421,12 @@ msgid "" "and ways to avoid issues." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:382 -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:209 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:383 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:208 msgid "Light built-ins" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:384 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:385 msgid "" "Writing light processor functions is completely optional. You can skip the " "light function by setting render_mode to ``unshaded``. If no light function " @@ -105592,31 +110435,25 @@ msgid "" "render_mode)." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:389 -msgid "" -"To write a light function, assign something to ``DIFFUSE_LIGHT`` or " -"``SPECULAR_LIGHT``. Assigning nothing means no light is processed." -msgstr "" - -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:392 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:390 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:395 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:393 msgid "" "Below is an example of a custom light function using a Lambertian lighting " "model:" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:403 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:401 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:407 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:405 msgid "" "The ``light()`` function won't be run if the ``vertex_lighting`` render mode " "is enabled, or if **Rendering > Quality > Shading > Force Vertex Shading** " @@ -105624,110 +110461,110 @@ msgid "" "platforms.)" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:432 -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:239 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:430 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:237 msgid "in vec3 **NORMAL**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:432 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:430 msgid "Normal vector, in view space." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:438 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:436 msgid "View vector, in view space." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:440 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:438 msgid "in vec3 **LIGHT**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:440 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:438 msgid "Light Vector, in view space." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:442 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:440 msgid "in vec3 **LIGHT_COLOR**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:442 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:440 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:447 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:445 msgid "in float **SPECULAR_AMOUNT**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:447 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:445 msgid "" "2.0 * ``light_specular`` property for ``OmniLight3D`` and ``SpotLight3D``. " "1.0 for ``DirectionalLight3D``." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:451 -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:264 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:449 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:262 msgid "in bool **LIGHT_IS_DIRECTIONAL**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:451 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:449 msgid "``true`` if this pass is a ``DirectionalLight3D``." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:453 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:451 msgid "in float **ATTENUATION**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:453 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:451 msgid "Attenuation based on distance or shadow." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:455 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:453 msgid "in vec3 **ALBEDO**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:455 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:453 msgid "Base albedo." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:457 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:455 msgid "in vec3 **BACKLIGHT**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:459 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:457 msgid "in float **METALLIC**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:459 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:457 msgid "Metallic." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:461 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:459 msgid "in float **ROUGHNESS**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:461 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:459 msgid "Roughness." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:467 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:465 msgid "out vec3 **DIFFUSE_LIGHT**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:467 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:465 msgid "Diffuse light result." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:469 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:467 msgid "out vec3 **SPECULAR_LIGHT**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:469 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:467 msgid "Specular light result." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:482 +#: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:480 msgid "" "Transparent materials also cannot cast shadows or appear in " "``hint_screen_texture`` and ``hint_depth_texture`` uniforms. This in turn " @@ -105851,30 +110688,30 @@ msgid "Instance custom data." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:118 -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:175 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:174 msgid "in bool **AT_LIGHT_PASS**" msgstr "" #: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:118 -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:175 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:174 msgid "Always ``false``." msgstr "" #: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:120 -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:171 -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:247 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:170 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:245 msgid "in vec2 **TEXTURE_PIXEL_SIZE**" msgstr "" #: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:120 -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:171 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:170 msgid "" "Normalized pixel size of default 2D texture. For a Sprite2D with a texture " "of size 64x32px, **TEXTURE_PIXEL_SIZE** = ``vec2(1/64, 1/32)``" msgstr "" #: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:124 -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:197 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:196 msgid "inout vec2 **VERTEX**" msgstr "" @@ -105914,113 +110751,112 @@ msgid "" msgstr "" #: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:161 -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:235 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:234 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." +"window. Origin is lower-left." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:165 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:164 msgid "in vec2 **SCREEN_PIXEL_SIZE**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:165 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:164 msgid "Size of individual pixels. Equal to inverse of resolution." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:167 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:166 msgid "Coordinate for drawing points." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:169 -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:245 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:168 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:243 msgid "sampler2D **TEXTURE**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:169 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:168 msgid "Default 2D texture." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:177 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:176 msgid "sampler2D **SPECULAR_SHININESS_TEXTURE**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:177 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:176 msgid "Specular shininess texture of this object." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:179 -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:270 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:178 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:268 msgid "in vec4 **SPECULAR_SHININESS**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:179 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:178 msgid "Specular shininess color, as sampled from the texture." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:181 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:180 msgid "UV from vertex function." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:188 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:187 msgid "Normal read from **NORMAL_TEXTURE**. Writable." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:190 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:189 msgid "sampler2D **NORMAL_TEXTURE**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:190 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:189 msgid "Default 2D normal texture." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:192 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:191 msgid "" "Configures normal maps meant for 3D for use in 2D. If used, overrides " "**NORMAL**." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:195 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:194 msgid "Normalmap depth for scaling." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:197 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:196 msgid "Pixel position in screen space." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:199 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:198 msgid "inout vec2 **SHADOW_VERTEX**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:199 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:198 msgid "Same as ``VERTEX`` but can be written to alter shadows." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:201 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:200 msgid "inout vec3 **LIGHT_VERTEX**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:201 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:200 msgid "" "Same as ``VERTEX`` but can be written to alter lighting. Z component " "represents height." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:204 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:203 msgid "" "Color from vertex function multiplied by the **TEXTURE** color. Also output " "color value." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:211 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:210 msgid "" "Light processor functions work differently in Godot 4.x than they did in " "Godot 3.x. In Godot 4.x all lighting is done during the regular draw pass. " "In other words, Godot no longer draws the object again for each light." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:215 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:214 msgid "" "Use render_mode ``unshaded`` if you do not want the light processor function " "to run. Use render_mode ``light_only`` if you only want to see the impact of " @@ -106028,122 +110864,122 @@ msgid "" "visible where it is covered by light." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:220 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:219 msgid "" "If you define a light function it will replace the built in light function, " "even if your light function is empty." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:223 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:222 msgid "" "Below is an example of a light shader that takes a CanvasItem's normal map " "into account:" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:239 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:237 msgid "Input Normal." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:241 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:239 msgid "Input Color. This is the output of the fragment function." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:243 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:241 msgid "UV from vertex function, equivalent to the UV in the fragment function." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:245 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:243 msgid "Current texture in use for CanvasItem." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:247 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:245 msgid "" "Normalized pixel size of **TEXTURE**. For a Sprite2D with a **TEXTURE** of " "size 64x32px, **TEXTURE_PIXEL_SIZE** = ``vec2(1/64, 1/32)``" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:253 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:251 msgid "UV for Point Sprite." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:255 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:253 msgid "in vec4 **LIGHT_COLOR**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:255 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:253 msgid "Color of Light multiplied by Light's texture." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:257 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:255 msgid "in float **LIGHT_ENERGY**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:257 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:255 msgid "Energy multiplier of Light." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:259 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:257 msgid "in vec3 **LIGHT_POSITION**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:259 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:257 msgid "" "Position of Light in screen space. If using a ``DirectionalLight2D`` this is " "always ``vec3(0,0,0)``." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:262 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:260 msgid "in vec3 **LIGHT_DIRECTION**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:262 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:260 msgid "Direction of Light in screen space." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:264 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:262 msgid "``true`` if this pass is a ``DirectionalLight2D``." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:266 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:264 msgid "in vec3 **LIGHT_VERTEX**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:266 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:264 msgid "Pixel position, in screen space as modified in the fragment function." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:268 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:266 msgid "inout vec4 **LIGHT**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:268 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:266 msgid "Output color for this Light." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:270 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:268 msgid "Specular shininess, as set in the object's texture." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:272 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:270 msgid "out vec4 **SHADOW_MODULATE**" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:272 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:270 msgid "Multiply shadows cast at this point by this color." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:276 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:274 msgid "SDF functions" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:278 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:276 msgid "" "There are a few additional functions implemented to sample an automatically " "generated Signed Distance Field texture. These functions available for " "Fragment and Light functions of CanvasItem shaders." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:282 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:280 msgid "" "The signed distance field is generated from :ref:`class_LightOccluder2D` " "nodes present in the scene with the **SDF Collision** property enabled " @@ -106152,35 +110988,35 @@ msgid "" "information." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:290 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:288 msgid "float **texture_sdf** (vec2 sdf_pos)" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:290 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:288 msgid "Performs an SDF texture lookup." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:292 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:290 msgid "vec2 **texture_sdf_normal** (vec2 sdf_pos)" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:292 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:290 msgid "Calculates a normal from the SDF texture." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:294 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:292 msgid "vec2 **sdf_to_screen_uv** (vec2 sdf_pos)" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:294 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:292 msgid "Converts a SDF to screen UV." msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:296 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:294 msgid "vec2 **screen_uv_to_sdf** (vec2 uv)" msgstr "" -#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:296 +#: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:294 msgid "Converts screen UV to a SDF." msgstr "" @@ -107106,7 +111942,7 @@ msgstr "" #: ../../docs/tutorials/shaders/your_first_shader/your_first_2d_shader.rst:45 msgid "" "In the Inspector, click beside \"Texture\" where it says \"[empty]\" and " -"select \"Load\", then select \"Icon.png\". For new projects, this is the " +"select \"Load\", then select \"icon.svg\". For new projects, this is the " "Godot icon. You should now see the icon in the viewport." msgstr "" @@ -107223,18 +112059,23 @@ msgstr "" #: ../../docs/tutorials/shaders/your_first_shader/your_first_2d_shader.rst:135 msgid "" -"When you want to adjust a color in a Sprite2D you cannot just adjust the " -"color from the texture manually like in the code below." +"The default fragment function reads from the set Sprite2D texture and " +"displays it." msgstr "" -#: ../../docs/tutorials/shaders/your_first_shader/your_first_2d_shader.rst:145 +#: ../../docs/tutorials/shaders/your_first_shader/your_first_2d_shader.rst:137 msgid "" -"The default fragment function reads from a texture and displays it. When you " -"overwrite the default fragment function, you lose that functionality, so you " -"have to implement it yourself. You read from textures using the ``texture`` " -"function. Certain nodes, like Sprite2Ds, have a dedicated texture variable " -"that can be accessed in the shader using ``TEXTURE``. Use it together with " -"``UV`` and ``texture`` to draw the Sprite2D." +"When you want to adjust a color in a Sprite2D you can adjust the color from " +"the texture manually like in the code below." +msgstr "" + +#: ../../docs/tutorials/shaders/your_first_shader/your_first_2d_shader.rst:147 +msgid "" +"Certain nodes, like Sprite2Ds, have a dedicated texture variable that can be " +"accessed in the shader using ``TEXTURE``. If you want to use the Sprite2D " +"texture to combine with other colors, you can use the ``UV`` with the " +"``texture`` function to access this variable. Use them to redraw the " +"Sprite2D with the texture." msgstr "" #: ../../docs/tutorials/shaders/your_first_shader/your_first_2d_shader.rst:162 @@ -109234,7 +114075,7 @@ msgid "" msgstr "" #: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:42 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:96 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:97 msgid "gl_Position" msgstr "" @@ -109269,7 +114110,7 @@ msgid "" msgstr "" #: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:67 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:215 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:216 msgid "Main" msgstr "" @@ -109288,130 +114129,154 @@ msgstr "" #: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:77 msgid "" "The :ref:`Godot shader preprocessor` supports the " -"following macros: * ``#define`` / ``#undef`` * ``#if``, ``#elif``, " -"``#else``, ``#endif``, ``defined()``, ``#ifdef``, ``#ifndef`` * ``#include`` " -"(only ``.gdshaderinc`` files and with a maximum depth of 25) * ``#pragma " -"disable_preprocessor``, which disables preprocessing for the rest of the file" +"following macros:" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:86 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:79 +msgid "``#define`` / ``#undef``" +msgstr "" + +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:80 +msgid "" +"``#if``, ``#elif``, ``#else``, ``#endif``, ``defined()``, ``#ifdef``, " +"``#ifndef``" +msgstr "" + +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:81 +msgid "" +"``#include`` (only ``.gdshaderinc`` files and with a maximum depth of 25)" +msgstr "" + +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:82 +msgid "" +"``#pragma disable_preprocessor``, which disables preprocessing for the rest " +"of the file" +msgstr "" + +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:87 msgid "" "GLSL has many built-in variables that are hard-coded. These variables are " "not uniforms, so they are not editable from the main program." msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:90 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:163 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:228 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:91 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:164 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:229 msgid "Equivalent" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:92 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:230 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:93 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:231 msgid "gl_FragColor" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:92 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:165 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:230 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:93 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:166 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:231 msgid "out vec4" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:92 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:165 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:230 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:93 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:166 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:231 msgid "COLOR" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:92 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:165 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:230 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:93 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:166 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:231 msgid "Output color for each pixel." msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:94 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:232 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:95 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:233 msgid "gl_FragCoord" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:94 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:96 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:179 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:181 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:232 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:95 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:97 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:180 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:182 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:233 msgid "vec4" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:94 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:232 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:95 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:233 msgid "FRAGCOORD" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:94 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:167 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:232 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:95 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:168 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:233 msgid "For full screen quads. For smaller quads, use UV." msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:96 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:97 msgid "VERTEX" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:96 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:97 msgid "Position of Vertex, output from Vertex Shader." msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:98 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:99 msgid "gl_PointSize" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:98 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:99 msgid "POINT_SIZE" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:98 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:99 msgid "Size of Point primitive." msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:100 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:101 msgid "gl_PointCoord" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:100 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:167 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:234 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:238 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:101 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:168 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:235 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:239 msgid "vec2" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:100 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:101 msgid "POINT_COORD" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:100 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:101 msgid "Position on point when drawing Point primitives." msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:102 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:103 msgid "gl_FrontFacing" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:102 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:103 msgid "FRONT_FACING" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:102 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:103 msgid "True if front face of primitive." msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:110 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:109 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:190 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:243 +msgid "Coordinates" +msgstr "" + +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:111 msgid "" "``gl_FragCoord`` in GLSL and ``FRAGCOORD`` in the Godot shading language use " "the same coordinate system. If using UV in Godot, the y-coordinate will be " "flipped upside down." msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:117 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:118 msgid "" "In GLSL, you can define the precision of a given type (float or int) at the " "top of the shader with the ``precision`` keyword. In Godot, you can set the " @@ -109421,11 +114286,11 @@ msgid "" "` reference." msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:125 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:126 msgid "Shadertoy" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:127 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:128 msgid "" "`Shadertoy `_ is a website that makes it easy to " @@ -109433,29 +114298,29 @@ msgid "" "view/4tjGRh>`_." msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:131 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:132 msgid "" "Shadertoy does not give the user full control over the shader. It handles " "all the input and uniforms and only lets the user write the fragment shader." msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:135 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:208 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:136 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:209 msgid "Types" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:137 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:138 msgid "" "Shadertoy uses the webgl spec, so it runs a slightly different version of " "GLSL. However, it still has the regular types, including constants and " "macros." msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:141 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:142 msgid "mainImage" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:143 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:144 msgid "" "The main point of entry to a Shadertoy shader is the ``mainImage`` function. " "``mainImage`` has two parameters, ``fragColor`` and ``fragCoord``, which " @@ -109465,7 +114330,7 @@ msgid "" "be copied into the ``fragment`` function when porting to Godot." msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:153 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:154 msgid "" "In order to make writing fragment shaders straightforward and easy, " "Shadertoy handles passing a lot of helpful information from the main program " @@ -109477,140 +114342,140 @@ msgid "" "the reader a hint about what they can pass in as a substitute." msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:165 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:166 msgid "fragColor" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:167 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:168 msgid "fragCoord" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:167 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:168 msgid "FRAGCOORD.xy" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:169 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:170 msgid "iResolution" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:169 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:183 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:170 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:184 msgid "vec3" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:169 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:234 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:170 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:235 msgid "1.0 / SCREEN_PIXEL_SIZE" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:169 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:234 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:170 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:235 msgid "Can also pass in manually." msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:171 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:172 msgid "iTime" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:171 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:236 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:172 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:237 msgid "TIME" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:171 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:236 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:172 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:237 msgid "Time since shader started." msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:173 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:174 msgid "iTimeDelta" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:173 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:175 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:177 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:179 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:181 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:238 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:174 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:176 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:178 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:180 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:182 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:239 msgid "Provide with Uniform" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:173 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:174 msgid "Time to render previous frame." msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:175 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:176 msgid "iFrame" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:175 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:176 msgid "Frame number." msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:177 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:178 msgid "iChannelTime[4]" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:177 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:178 msgid "Time since that particular texture started." msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:179 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:180 msgid "iMouse" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:179 -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:238 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:180 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:239 msgid "Mouse position in pixel coordinates." msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:181 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:182 msgid "iDate" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:181 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:182 msgid "Current date, expressed in seconds." msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:183 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:184 msgid "iChannelResolution[4]" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:183 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:184 msgid "1.0 / TEXTURE_PIXEL_SIZE" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:183 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:184 msgid "Resolution of particular texture." msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:185 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:186 msgid "iChanneli" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:185 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:186 msgid "Sampler2D" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:185 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:186 msgid "TEXTURE" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:185 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:186 msgid "Godot provides only one built-in; user can make more." msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:191 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:192 msgid "" "``fragCoord`` behaves the same as ``gl_FragCoord`` in :ref:`GLSL " "` and ``FRAGCOORD`` in Godot." msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:196 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:197 msgid "The Book of Shaders" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:198 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:199 msgid "" "Similar to Shadertoy, `The Book of Shaders `_ " "provides access to a fragment shader in the web browser, with which the user " @@ -109619,46 +114484,46 @@ msgid "" "uniforms." msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:203 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:204 msgid "" "For further help on porting shaders to various frameworks generally, The " "Book of Shaders provides a `page `_ on " "running shaders in various frameworks." msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:210 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:211 msgid "" "The Book of Shaders uses the webgl spec, so it runs a slightly different " "version of GLSL. However, it still has the regular types, including " "constants and macros." msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:217 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:218 msgid "" "The entry point for a Book of Shaders fragment shader is ``main``, just like " "in GLSL. Everything written in a Book of Shaders ``main`` function should be " "copied into Godot's ``fragment`` function." msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:224 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:225 msgid "" "The Book of Shaders sticks closer to plain GLSL than Shadertoy does. It also " "implements fewer uniforms than Shadertoy." msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:234 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:235 msgid "u_resolution" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:236 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:237 msgid "u_time" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:238 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:239 msgid "u_mouse" msgstr "" -#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:244 +#: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:245 msgid "" "The Book of Shaders uses the same coordinate system as :ref:`GLSL " "`." @@ -109813,231 +114678,6 @@ msgid "" "\"public\" refers to what's easily adjustable by the user (uniforms)." msgstr "" -#: ../../docs/tutorials/shaders/advanced_postprocessing.rst:4 -msgid "Advanced post-processing" -msgstr "" - -#: ../../docs/tutorials/shaders/advanced_postprocessing.rst:9 -msgid "" -"This tutorial describes an advanced method for post-processing in Godot. In " -"particular, it will explain how to write a post-processing shader that uses " -"the depth buffer. You should already be familiar with post-processing " -"generally and, in particular, with the methods outlined in the :ref:`custom " -"post-processing tutorial `." -msgstr "" - -#: ../../docs/tutorials/shaders/advanced_postprocessing.rst:14 -msgid "" -"In the previous post-processing tutorial, we rendered the scene to a :ref:" -"`Viewport ` and then rendered the Viewport in a :ref:" -"`SubViewportContainer ` to the main scene. One " -"limitation of this method is that we could not access the depth buffer " -"because the depth buffer is only available in shaders and Viewports do not " -"maintain depth information." -msgstr "" - -#: ../../docs/tutorials/shaders/advanced_postprocessing.rst:21 -msgid "Full screen quad" -msgstr "" - -#: ../../docs/tutorials/shaders/advanced_postprocessing.rst:23 -msgid "" -"In the :ref:`custom post-processing tutorial `, " -"we covered how to use a Viewport to make custom post-processing effects. " -"There are two main drawbacks of using a Viewport:" -msgstr "" - -#: ../../docs/tutorials/shaders/advanced_postprocessing.rst:27 -msgid "The depth buffer cannot be accessed" -msgstr "" - -#: ../../docs/tutorials/shaders/advanced_postprocessing.rst:28 -msgid "The effect of the post-processing shader is not visible in the editor" -msgstr "" - -#: ../../docs/tutorials/shaders/advanced_postprocessing.rst:30 -msgid "" -"To get around the limitation on using the depth buffer, use a :ref:" -"`MeshInstance3D ` with a :ref:`QuadMesh " -"` primitive. This allows us to use a shader and to access " -"the depth texture of the scene. Next, use a vertex shader to make the quad " -"cover the screen at all times so that the post-processing effect will be " -"applied at all times, including in the editor." -msgstr "" - -#: ../../docs/tutorials/shaders/advanced_postprocessing.rst:36 -msgid "" -"First, create a new MeshInstance3D and set its mesh to a QuadMesh. This " -"creates a quad centered at position ``(0, 0, 0)`` with a width and height of " -"``1``. Set the width and height to ``2`` and enable **Flip Faces**. Right " -"now, the quad occupies a position in world space at the origin. However, we " -"want it to move with the camera so that it always covers the entire screen. " -"To do this, we will bypass the coordinate transforms that translate the " -"vertex positions through the difference coordinate spaces and treat the " -"vertices as if they were already in clip space." -msgstr "" - -#: ../../docs/tutorials/shaders/advanced_postprocessing.rst:45 -msgid "" -"The vertex shader expects coordinates to be output in clip space, which are " -"coordinates ranging from ``-1`` at the left and bottom of the screen to " -"``1`` at the top and right of the screen. This is why the QuadMesh needs to " -"have height and width of ``2``. Godot handles the transform from model to " -"view space to clip space behind the scenes, so we need to nullify the " -"effects of Godot's transformations. We do this by setting the ``POSITION`` " -"built-in to our desired position. ``POSITION`` bypasses the built-in " -"transformations and sets the vertex position directly." -msgstr "" - -#: ../../docs/tutorials/shaders/advanced_postprocessing.rst:61 -msgid "" -"Even with this vertex shader, the quad keeps disappearing. This is due to " -"frustum culling, which is done on the CPU. Frustum culling uses the camera " -"matrix and the AABBs of Meshes to determine if the Mesh will be visible " -"*before* passing it to the GPU. The CPU has no knowledge of what we are " -"doing with the vertices, so it assumes the coordinates specified refer to " -"world positions, not clip space positions, which results in Godot culling " -"the quad when we turn away from the center of the scene. In order to keep " -"the quad from being culled, there are a few options:" -msgstr "" - -#: ../../docs/tutorials/shaders/advanced_postprocessing.rst:69 -msgid "" -"Add the QuadMesh as a child to the camera, so the camera is always pointed " -"at it" -msgstr "" - -#: ../../docs/tutorials/shaders/advanced_postprocessing.rst:70 -msgid "" -"Set the Geometry property ``extra_cull_margin`` as large as possible in the " -"QuadMesh" -msgstr "" - -#: ../../docs/tutorials/shaders/advanced_postprocessing.rst:72 -msgid "" -"The second option ensures that the quad is visible in the editor, while the " -"first option guarantees that it will still be visible even if the camera " -"moves outside the cull margin. You can also use both options." -msgstr "" - -#: ../../docs/tutorials/shaders/advanced_postprocessing.rst:79 -msgid "" -"To read from the depth texture, we first need to create a texture uniform " -"set to the depth buffer by using ``hint_depth_texture``." -msgstr "" - -#: ../../docs/tutorials/shaders/advanced_postprocessing.rst:86 -msgid "" -"Once defined, the depth texture can be read with the ``texture()`` function." -msgstr "" - -#: ../../docs/tutorials/shaders/advanced_postprocessing.rst:92 -msgid "" -"Similar to accessing the screen texture, accessing the depth texture is only " -"possible when reading from the current viewport. The depth texture cannot be " -"accessed from another viewport to which you have rendered." -msgstr "" - -#: ../../docs/tutorials/shaders/advanced_postprocessing.rst:96 -msgid "" -"The values returned by ``depth_texture`` are between ``0.0`` and ``1.0`` and " -"are nonlinear. When displaying depth directly from the ``depth_texture``, " -"everything will look almost white unless it is very close. This is because " -"the depth buffer stores objects closer to the camera using more bits than " -"those further, so most of the detail in depth buffer is found close to the " -"camera. In order to make the depth value align with world or model " -"coordinates, we need to linearize the value. When we apply the projection " -"matrix to the vertex position, the z value is made nonlinear, so to " -"linearize it, we multiply it by the inverse of the projection matrix, which " -"in Godot, is accessible with the variable ``INV_PROJECTION_MATRIX``." -msgstr "" - -#: ../../docs/tutorials/shaders/advanced_postprocessing.rst:106 -msgid "" -"Firstly, take the screen space coordinates and transform them into " -"normalized device coordinates (NDC). NDC run ``-1.0`` to ``1.0`` in ``x`` " -"and ``y`` directions and from ``0.0`` to ``1.0`` in the ``z`` direction when " -"using the Vulkan backend. Reconstruct the NDC using ``SCREEN_UV`` for the " -"``x`` and ``y`` axis, and the depth value for ``z``." -msgstr "" - -#: ../../docs/tutorials/shaders/advanced_postprocessing.rst:114 -msgid "" -"This tutorial assumes the use of the Vulkan renderer, which uses NDCs with a " -"Z-range of ``[0.0, 1.0]``. In contrast, OpenGL uses NDCs with a Z-range of " -"``[-1.0, 1.0]``." -msgstr "" - -#: ../../docs/tutorials/shaders/advanced_postprocessing.rst:124 -msgid "" -"Convert NDC to view space by multiplying the NDC by " -"``INV_PROJECTION_MATRIX``. Recall that view space gives positions relative " -"to the camera, so the ``z`` value will give us the distance to the point." -msgstr "" - -#: ../../docs/tutorials/shaders/advanced_postprocessing.rst:137 -msgid "" -"Because the camera is facing the negative ``z`` direction, the position will " -"have a negative ``z`` value. In order to get a usable depth value, we have " -"to negate ``view.z``." -msgstr "" - -#: ../../docs/tutorials/shaders/advanced_postprocessing.rst:140 -msgid "" -"The world position can be constructed from the depth buffer using the " -"following code. Note that the ``INV_VIEW_MATRIX`` is needed to transform the " -"position from view space into world space, so it needs to be passed to the " -"fragment shader with a varying." -msgstr "" - -#: ../../docs/tutorials/shaders/advanced_postprocessing.rst:159 -msgid "An optimization" -msgstr "" - -#: ../../docs/tutorials/shaders/advanced_postprocessing.rst:161 -msgid "" -"You can benefit from using a single large triangle rather than using a full " -"screen quad. The reason for this is explained `here `_. However, the " -"benefit is quite small and only beneficial when running especially complex " -"fragment shaders." -msgstr "" - -#: ../../docs/tutorials/shaders/advanced_postprocessing.rst:166 -msgid "" -"Set the Mesh in the MeshInstance3D to an :ref:`ArrayMesh `. " -"An ArrayMesh is a tool that allows you to easily construct a Mesh from " -"Arrays for vertices, normals, colors, etc." -msgstr "" - -#: ../../docs/tutorials/shaders/advanced_postprocessing.rst:170 -msgid "Now, attach a script to the MeshInstance3D and use the following code:" -msgstr "" - -#: ../../docs/tutorials/shaders/advanced_postprocessing.rst:192 -msgid "" -"The triangle is specified in normalized device coordinates. Recall, NDC run " -"from ``-1.0`` to ``1.0`` in both the ``x`` and ``y`` directions. This makes " -"the screen ``2`` units wide and ``2`` units tall. In order to cover the " -"entire screen with a single triangle, use a triangle that is ``4`` units " -"wide and ``4`` units tall, double its height and width." -msgstr "" - -#: ../../docs/tutorials/shaders/advanced_postprocessing.rst:199 -msgid "" -"Assign the same vertex shader from above and everything should look exactly " -"the same." -msgstr "" - -#: ../../docs/tutorials/shaders/advanced_postprocessing.rst:201 -msgid "" -"The one drawback to using an ArrayMesh over using a QuadMesh is that the " -"ArrayMesh is not visible in the editor because the triangle is not " -"constructed until the scene is run. To get around that, construct a single " -"triangle Mesh in a modeling program and use that in the MeshInstance3D " -"instead." -msgstr "" - #: ../../docs/tutorials/shaders/using_viewport_as_texture.rst:4 msgid "Using a Viewport as a texture" msgstr "" @@ -110541,6 +115181,231 @@ msgid "" "below." msgstr "" +#: ../../docs/tutorials/shaders/advanced_postprocessing.rst:4 +msgid "Advanced post-processing" +msgstr "" + +#: ../../docs/tutorials/shaders/advanced_postprocessing.rst:9 +msgid "" +"This tutorial describes an advanced method for post-processing in Godot. In " +"particular, it will explain how to write a post-processing shader that uses " +"the depth buffer. You should already be familiar with post-processing " +"generally and, in particular, with the methods outlined in the :ref:`custom " +"post-processing tutorial `." +msgstr "" + +#: ../../docs/tutorials/shaders/advanced_postprocessing.rst:14 +msgid "" +"In the previous post-processing tutorial, we rendered the scene to a :ref:" +"`Viewport ` and then rendered the Viewport in a :ref:" +"`SubViewportContainer ` to the main scene. One " +"limitation of this method is that we could not access the depth buffer " +"because the depth buffer is only available in shaders and Viewports do not " +"maintain depth information." +msgstr "" + +#: ../../docs/tutorials/shaders/advanced_postprocessing.rst:21 +msgid "Full screen quad" +msgstr "" + +#: ../../docs/tutorials/shaders/advanced_postprocessing.rst:23 +msgid "" +"In the :ref:`custom post-processing tutorial `, " +"we covered how to use a Viewport to make custom post-processing effects. " +"There are two main drawbacks of using a Viewport:" +msgstr "" + +#: ../../docs/tutorials/shaders/advanced_postprocessing.rst:27 +msgid "The depth buffer cannot be accessed" +msgstr "" + +#: ../../docs/tutorials/shaders/advanced_postprocessing.rst:28 +msgid "The effect of the post-processing shader is not visible in the editor" +msgstr "" + +#: ../../docs/tutorials/shaders/advanced_postprocessing.rst:30 +msgid "" +"To get around the limitation on using the depth buffer, use a :ref:" +"`MeshInstance3D ` with a :ref:`QuadMesh " +"` primitive. This allows us to use a shader and to access " +"the depth texture of the scene. Next, use a vertex shader to make the quad " +"cover the screen at all times so that the post-processing effect will be " +"applied at all times, including in the editor." +msgstr "" + +#: ../../docs/tutorials/shaders/advanced_postprocessing.rst:36 +msgid "" +"First, create a new MeshInstance3D and set its mesh to a QuadMesh. This " +"creates a quad centered at position ``(0, 0, 0)`` with a width and height of " +"``1``. Set the width and height to ``2`` and enable **Flip Faces**. Right " +"now, the quad occupies a position in world space at the origin. However, we " +"want it to move with the camera so that it always covers the entire screen. " +"To do this, we will bypass the coordinate transforms that translate the " +"vertex positions through the difference coordinate spaces and treat the " +"vertices as if they were already in clip space." +msgstr "" + +#: ../../docs/tutorials/shaders/advanced_postprocessing.rst:45 +msgid "" +"The vertex shader expects coordinates to be output in clip space, which are " +"coordinates ranging from ``-1`` at the left and bottom of the screen to " +"``1`` at the top and right of the screen. This is why the QuadMesh needs to " +"have height and width of ``2``. Godot handles the transform from model to " +"view space to clip space behind the scenes, so we need to nullify the " +"effects of Godot's transformations. We do this by setting the ``POSITION`` " +"built-in to our desired position. ``POSITION`` bypasses the built-in " +"transformations and sets the vertex position directly." +msgstr "" + +#: ../../docs/tutorials/shaders/advanced_postprocessing.rst:61 +msgid "" +"Even with this vertex shader, the quad keeps disappearing. This is due to " +"frustum culling, which is done on the CPU. Frustum culling uses the camera " +"matrix and the AABBs of Meshes to determine if the Mesh will be visible " +"*before* passing it to the GPU. The CPU has no knowledge of what we are " +"doing with the vertices, so it assumes the coordinates specified refer to " +"world positions, not clip space positions, which results in Godot culling " +"the quad when we turn away from the center of the scene. In order to keep " +"the quad from being culled, there are a few options:" +msgstr "" + +#: ../../docs/tutorials/shaders/advanced_postprocessing.rst:69 +msgid "" +"Add the QuadMesh as a child to the camera, so the camera is always pointed " +"at it" +msgstr "" + +#: ../../docs/tutorials/shaders/advanced_postprocessing.rst:70 +msgid "" +"Set the Geometry property ``extra_cull_margin`` as large as possible in the " +"QuadMesh" +msgstr "" + +#: ../../docs/tutorials/shaders/advanced_postprocessing.rst:72 +msgid "" +"The second option ensures that the quad is visible in the editor, while the " +"first option guarantees that it will still be visible even if the camera " +"moves outside the cull margin. You can also use both options." +msgstr "" + +#: ../../docs/tutorials/shaders/advanced_postprocessing.rst:79 +msgid "" +"To read from the depth texture, we first need to create a texture uniform " +"set to the depth buffer by using ``hint_depth_texture``." +msgstr "" + +#: ../../docs/tutorials/shaders/advanced_postprocessing.rst:86 +msgid "" +"Once defined, the depth texture can be read with the ``texture()`` function." +msgstr "" + +#: ../../docs/tutorials/shaders/advanced_postprocessing.rst:92 +msgid "" +"Similar to accessing the screen texture, accessing the depth texture is only " +"possible when reading from the current viewport. The depth texture cannot be " +"accessed from another viewport to which you have rendered." +msgstr "" + +#: ../../docs/tutorials/shaders/advanced_postprocessing.rst:96 +msgid "" +"The values returned by ``depth_texture`` are between ``0.0`` and ``1.0`` and " +"are nonlinear. When displaying depth directly from the ``depth_texture``, " +"everything will look almost white unless it is very close. This is because " +"the depth buffer stores objects closer to the camera using more bits than " +"those further, so most of the detail in depth buffer is found close to the " +"camera. In order to make the depth value align with world or model " +"coordinates, we need to linearize the value. When we apply the projection " +"matrix to the vertex position, the z value is made nonlinear, so to " +"linearize it, we multiply it by the inverse of the projection matrix, which " +"in Godot, is accessible with the variable ``INV_PROJECTION_MATRIX``." +msgstr "" + +#: ../../docs/tutorials/shaders/advanced_postprocessing.rst:106 +msgid "" +"Firstly, take the screen space coordinates and transform them into " +"normalized device coordinates (NDC). NDC run ``-1.0`` to ``1.0`` in ``x`` " +"and ``y`` directions and from ``0.0`` to ``1.0`` in the ``z`` direction when " +"using the Vulkan backend. Reconstruct the NDC using ``SCREEN_UV`` for the " +"``x`` and ``y`` axis, and the depth value for ``z``." +msgstr "" + +#: ../../docs/tutorials/shaders/advanced_postprocessing.rst:114 +msgid "" +"This tutorial assumes the use of the Vulkan renderer, which uses NDCs with a " +"Z-range of ``[0.0, 1.0]``. In contrast, OpenGL uses NDCs with a Z-range of " +"``[-1.0, 1.0]``." +msgstr "" + +#: ../../docs/tutorials/shaders/advanced_postprocessing.rst:124 +msgid "" +"Convert NDC to view space by multiplying the NDC by " +"``INV_PROJECTION_MATRIX``. Recall that view space gives positions relative " +"to the camera, so the ``z`` value will give us the distance to the point." +msgstr "" + +#: ../../docs/tutorials/shaders/advanced_postprocessing.rst:137 +msgid "" +"Because the camera is facing the negative ``z`` direction, the position will " +"have a negative ``z`` value. In order to get a usable depth value, we have " +"to negate ``view.z``." +msgstr "" + +#: ../../docs/tutorials/shaders/advanced_postprocessing.rst:140 +msgid "" +"The world position can be constructed from the depth buffer using the " +"following code. Note that the ``INV_VIEW_MATRIX`` is needed to transform the " +"position from view space into world space, so it needs to be passed to the " +"fragment shader with a varying." +msgstr "" + +#: ../../docs/tutorials/shaders/advanced_postprocessing.rst:159 +msgid "An optimization" +msgstr "" + +#: ../../docs/tutorials/shaders/advanced_postprocessing.rst:161 +msgid "" +"You can benefit from using a single large triangle rather than using a full " +"screen quad. The reason for this is explained `here `_. However, the " +"benefit is quite small and only beneficial when running especially complex " +"fragment shaders." +msgstr "" + +#: ../../docs/tutorials/shaders/advanced_postprocessing.rst:166 +msgid "" +"Set the Mesh in the MeshInstance3D to an :ref:`ArrayMesh `. " +"An ArrayMesh is a tool that allows you to easily construct a Mesh from " +"Arrays for vertices, normals, colors, etc." +msgstr "" + +#: ../../docs/tutorials/shaders/advanced_postprocessing.rst:170 +msgid "Now, attach a script to the MeshInstance3D and use the following code:" +msgstr "" + +#: ../../docs/tutorials/shaders/advanced_postprocessing.rst:192 +msgid "" +"The triangle is specified in normalized device coordinates. Recall, NDC run " +"from ``-1.0`` to ``1.0`` in both the ``x`` and ``y`` directions. This makes " +"the screen ``2`` units wide and ``2`` units tall. In order to cover the " +"entire screen with a single triangle, use a triangle that is ``4`` units " +"wide and ``4`` units tall, double its height and width." +msgstr "" + +#: ../../docs/tutorials/shaders/advanced_postprocessing.rst:199 +msgid "" +"Assign the same vertex shader from above and everything should look exactly " +"the same." +msgstr "" + +#: ../../docs/tutorials/shaders/advanced_postprocessing.rst:201 +msgid "" +"The one drawback to using an ArrayMesh over using a QuadMesh is that the " +"ArrayMesh is not visible in the editor because the triangle is not " +"constructed until the scene is run. To get around that, construct a single " +"triangle Mesh in a modeling program and use that in the MeshInstance3D " +"instead." +msgstr "" + #: ../../docs/tutorials/shaders/making_trees.rst:4 msgid "Making trees" msgstr "" @@ -111310,7 +116175,7 @@ msgid "" msgstr "" #: ../../docs/tutorials/ui/custom_gui_controls.rst:159 -#: ../../docs/contributing/development/core_and_modules/object_class.rst:241 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:245 msgid "Notifications" msgstr "" @@ -114145,7 +119010,7 @@ msgid "" msgstr "" #: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:363 -msgid "``[lang={code}]{text}[/color]``" +msgid "``[lang={code}]{text}[/lang]``" msgstr "" #: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:0 @@ -115205,16 +120070,17 @@ msgstr "" #: ../../docs/tutorials/xr/setting_up_xr.rst:42 msgid "" -"Godot also has the choice between a desktop and mobile Vulkan renderer. " -"There are a number of optimisations added to the mobile renderer that " -"benefit XR applications. You may wish to enable this even on desktop." +"Godot 4 has 3 renderer options, Compatibility, Mobile, and Forward+. In the " +"future XR desktop projects should use Forward+, and projects for stand-alone " +"headsets should use Mobile. However Compatibility is the recommended " +"renderer for now due to it having the best XR performance." msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:45 +#: ../../docs/tutorials/xr/setting_up_xr.rst:46 msgid "OpenXR" msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:47 +#: ../../docs/tutorials/xr/setting_up_xr.rst:48 msgid "" "OpenXR is a new industry standard that allows different XR platforms to " "present themselves through a standardised API to XR applications. This " @@ -115222,7 +120088,7 @@ msgid "" "very well with Godot's interests." msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:49 +#: ../../docs/tutorials/xr/setting_up_xr.rst:50 msgid "" "The Vulkan implementation of OpenXR is closely integrated with Vulkan, " "taking over part of the Vulkan system. This requires tight integration of " @@ -115231,14 +120097,14 @@ msgid "" "include OpenXR as a core interface." msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:51 +#: ../../docs/tutorials/xr/setting_up_xr.rst:52 msgid "" "This also means OpenXR needs to be enabled when Godot starts in order to set " "things up correctly. The required setting can be found in your project " "settings:" msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:55 +#: ../../docs/tutorials/xr/setting_up_xr.rst:56 msgid "" "As setup is brought forward with OpenXR you can find several other settings " "related to OpenXR here as well. These can't be changed while your " @@ -115246,11 +120112,11 @@ msgid "" "go into detail in another section of the documentation." msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:59 +#: ../../docs/tutorials/xr/setting_up_xr.rst:60 msgid "Setting up the XR scene" msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:61 +#: ../../docs/tutorials/xr/setting_up_xr.rst:62 msgid "" "Every XR application needs at least an :ref:`XROrigin3D ` " "and an :ref:`XRCamera3D ` node. Most will have two :ref:" @@ -115261,17 +120127,17 @@ msgid "" "something like this:" msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:65 +#: ../../docs/tutorials/xr/setting_up_xr.rst:66 msgid "" "Next you need to configure the controllers, select the left hand and set it " "up as follows:" msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:69 +#: ../../docs/tutorials/xr/setting_up_xr.rst:70 msgid "And the right hand:" msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:73 +#: ../../docs/tutorials/xr/setting_up_xr.rst:74 msgid "" "Right now all these nodes are on the floor, they will be positioned " "correctly in runtime. To help during development, it can be helpful to move " @@ -115280,19 +120146,19 @@ msgid "" "left and right hand." msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:75 +#: ../../docs/tutorials/xr/setting_up_xr.rst:76 msgid "" "Next we need to add a script to our root node. Add the following code into " "this script:" msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:125 +#: ../../docs/tutorials/xr/setting_up_xr.rst:126 msgid "" "This code fragment assumes we are using OpenXR, if you wish to use any of " "the other interfaces you can change the ``find_interface`` call." msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:129 +#: ../../docs/tutorials/xr/setting_up_xr.rst:130 msgid "" "As you can see in the code snippet above, we turn off v-sync. When using " "OpenXR you are outputting the rendering results to an HMD that often " @@ -115300,18 +120166,18 @@ msgid "" "v-sync is turned on, you will limit the output to 60 frames per second." msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:133 +#: ../../docs/tutorials/xr/setting_up_xr.rst:134 msgid "XR interfaces like OpenXR perform their own sync." msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:135 +#: ../../docs/tutorials/xr/setting_up_xr.rst:136 msgid "" "Also note that by default the physics engine runs at 60Hz as well and this " "can result in choppy physics. You should set ``Engine." "physics_ticks_per_second`` to a higher value." msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:138 +#: ../../docs/tutorials/xr/setting_up_xr.rst:139 msgid "" "If you run your project at this point in time, everything will work but you " "will be in a dark world. So to finish off our starting point add a :ref:" @@ -115321,13 +120187,13 @@ msgid "" "visualise them. Make sure you configure a sky in your world environment." msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:142 +#: ../../docs/tutorials/xr/setting_up_xr.rst:143 msgid "" "Now run your project, you should be floating somewhere in space and be able " "to look around." msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:146 +#: ../../docs/tutorials/xr/setting_up_xr.rst:147 msgid "" "While traditional level switching can definitely be used with XR " "applications, where this scene setup is repeated in each level, most find it " @@ -115337,7 +120203,7 @@ msgid "" "depending on the XR interface used." msgstr "" -#: ../../docs/tutorials/xr/setting_up_xr.rst:148 +#: ../../docs/tutorials/xr/setting_up_xr.rst:149 msgid "" "For the rest of this basic tutorial series we will create a game that uses a " "single scene." @@ -115426,62 +120292,60 @@ msgid "" "The Android plugin structure has been restructured in Godot 4.2, and the " "loader plugin was renamed to vendors plugin as it now includes more than " "just loaders. If you've previously installed the loader plugin you need to " -"delete it from the `android/plugins` folder. The loader plugin available in " -"the asset library is still the old one, it will be updated to the new vendor " -"plugin after 4.2 is released." +"delete it from the `android/plugins` folder." msgstr "" -#: ../../docs/tutorials/xr/deploying_to_android.rst:44 +#: ../../docs/tutorials/xr/deploying_to_android.rst:43 msgid "" "The vendors plugin can be downloaded from the asset library, search for " -"OpenXR and install the plugin:" +"\"OpenXR vendors\" and install the plugin:" msgstr "" -#: ../../docs/tutorials/xr/deploying_to_android.rst:48 +#: ../../docs/tutorials/xr/deploying_to_android.rst:47 msgid "You will find the installed files inside the **addons** folder." msgstr "" -#: ../../docs/tutorials/xr/deploying_to_android.rst:50 +#: ../../docs/tutorials/xr/deploying_to_android.rst:49 msgid "" "Alternatively you can manually install the vendors plugin by downloading the " "v2.x version of the plugin `from the release page here `__." msgstr "" -#: ../../docs/tutorials/xr/deploying_to_android.rst:52 +#: ../../docs/tutorials/xr/deploying_to_android.rst:51 msgid "" "You will need to copy the `assets/addons/godotopenxrvendors` folder from the " -"zip file into your projects `assets/addons` folder." +"zip file into your projects `addons` folder." msgstr "" -#: ../../docs/tutorials/xr/deploying_to_android.rst:54 +#: ../../docs/tutorials/xr/deploying_to_android.rst:53 msgid "" "You can find the main repository of the vendors plugin `here `__." msgstr "" -#: ../../docs/tutorials/xr/deploying_to_android.rst:57 +#: ../../docs/tutorials/xr/deploying_to_android.rst:56 msgid "Enabling the vendors plugin" msgstr "" -#: ../../docs/tutorials/xr/deploying_to_android.rst:59 +#: ../../docs/tutorials/xr/deploying_to_android.rst:58 msgid "" "The vendors plugin needs to be enabled before the export settings become " "accessible. Open **Project** and select **Project Settings...**. Go to the " "**Plugins** tab. Enable the **GodotOpenXRVendors** plugin." msgstr "" -#: ../../docs/tutorials/xr/deploying_to_android.rst:67 +#: ../../docs/tutorials/xr/deploying_to_android.rst:66 msgid "Creating the export presets" msgstr "" -#: ../../docs/tutorials/xr/deploying_to_android.rst:68 +#: ../../docs/tutorials/xr/deploying_to_android.rst:67 msgid "" "You will need to setup a separate export preset for each device, as each " "device will need its own loader included." msgstr "" -#: ../../docs/tutorials/xr/deploying_to_android.rst:70 +#: ../../docs/tutorials/xr/deploying_to_android.rst:69 msgid "" "Open **Project** and select **Export..**. Click on **Add..** and select " "**Android**. Next change the name of the export preset for the device you're " @@ -115490,17 +120354,17 @@ msgid "" "is enabled." msgstr "" -#: ../../docs/tutorials/xr/deploying_to_android.rst:76 +#: ../../docs/tutorials/xr/deploying_to_android.rst:75 msgid "" "If the loader 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:80 +#: ../../docs/tutorials/xr/deploying_to_android.rst:79 msgid "Also change the **XR Mode** to **OpenXR**." msgstr "" -#: ../../docs/tutorials/xr/deploying_to_android.rst:82 +#: ../../docs/tutorials/xr/deploying_to_android.rst:81 msgid "" "Scroll to the bottom of the list and you'll find additional XR feature " "sections, currently only **Meta XR Features** is available. The hand " @@ -115509,55 +120373,49 @@ msgid "" "use these features." msgstr "" -#: ../../docs/tutorials/xr/deploying_to_android.rst:87 +#: ../../docs/tutorials/xr/deploying_to_android.rst:86 msgid "Now you can repeat the same process for the other devices." msgstr "" -#: ../../docs/tutorials/xr/deploying_to_android.rst:90 +#: ../../docs/tutorials/xr/deploying_to_android.rst:89 msgid "" "There are separate loaders for the Meta Quest, Pico and Lynx R1 headsets." msgstr "" -#: ../../docs/tutorials/xr/deploying_to_android.rst:92 +#: ../../docs/tutorials/xr/deploying_to_android.rst:91 msgid "" "The fourth option is the official Khronos loader, in due time all headsets " "should work with this loader. At the moment this loader has been tested with " "the Magic Leap 2 and standalone HTC headsets." msgstr "" -#: ../../docs/tutorials/xr/deploying_to_android.rst:96 +#: ../../docs/tutorials/xr/deploying_to_android.rst:95 msgid "" "While the Mobile Vulkan renderer has many optimizations targeted at mobile " "devices, we're still working out the kinks. It is highly advisable to use " -"the OpenGL renderer for the time being when targeting Android based XR " -"devices." +"the compatibility renderer (OpenGL) for the time being when targeting " +"Android based XR devices." msgstr "" #: ../../docs/tutorials/xr/deploying_to_android.rst:99 -msgid "" -"Note that we are awaiting driver updates on various devices before Vulkan " -"support will work on these." -msgstr "" - -#: ../../docs/tutorials/xr/deploying_to_android.rst:102 msgid "Running on your device from the Godot editor" msgstr "" -#: ../../docs/tutorials/xr/deploying_to_android.rst:103 +#: ../../docs/tutorials/xr/deploying_to_android.rst:100 msgid "" "If you've setup your export settings as described above, and your headset is " "connected to your computer and correctly recognized, you can launch it " "directly from the Godot editor using :ref:`doc_one-click_deploy`:" msgstr "" -#: ../../docs/tutorials/xr/deploying_to_android.rst:107 +#: ../../docs/tutorials/xr/deploying_to_android.rst:104 msgid "" "For some devices on some platforms, you may need to perform some extra steps " "in order for your device to be recognized correctly, so be sure to check the " "developer documentation from your headset vendor." msgstr "" -#: ../../docs/tutorials/xr/deploying_to_android.rst:109 +#: ../../docs/tutorials/xr/deploying_to_android.rst:106 msgid "" "For example, with the Meta Quest 2, you need to enable developer mode on the " "headset, and if you're on Windows, you'll need to install special ADB " @@ -115566,7 +120424,7 @@ msgid "" "for more details." msgstr "" -#: ../../docs/tutorials/xr/deploying_to_android.rst:111 +#: ../../docs/tutorials/xr/deploying_to_android.rst:108 msgid "" "If you're having any issues with one-click deploy, check the :ref:" "`Troubleshooting section `." @@ -119272,8 +124130,8 @@ msgid "" "If you didn't follow the above steps closely to *amend* changes into a " "commit instead of creating fixup commits, or if you authored your changes " "without being aware of our workflow and Git usage tips, reviewers might " -"request of your to *rebase* your branch to *squash* some or all of the " -"commits into one." +"request you to *rebase* your branch to *squash* some or all of the commits " +"into one." msgstr "" #: ../../docs/contributing/workflow/pr_workflow.rst:442 @@ -119364,7 +124222,7 @@ msgstr "" #: ../../docs/contributing/workflow/pr_workflow.rst:521 msgid "" -"This is a sane behavior, Git will not let you push changes that would " +"This is reasonable behavior, Git will not let you push changes that would " "override remote content. But that's actually what we want to do here, so we " "will have to *force* it:" msgstr "" @@ -119377,32 +124235,68 @@ msgid "" msgstr "" #: ../../docs/contributing/workflow/pr_workflow.rst:534 -msgid "Deleting a Git branch" +msgid "Rebasing onto another branch" msgstr "" #: ../../docs/contributing/workflow/pr_workflow.rst:536 msgid "" +"If you have accidentally opened your PR on the wrong branch, or need to " +"target another branch for some reason, you might need to filter out a lot of " +"commits that differ between the old branch (for example ``4.2``) and the new " +"branch (for example ``master``). This can make rebasing difficult and " +"tedious. Fortunately ``git`` has a command just for this situation, ``git " +"rebase --onto``." +msgstr "" + +#: ../../docs/contributing/workflow/pr_workflow.rst:541 +msgid "" +"If your PR was created from the ``4.2`` branch and you want to update it to " +"instead start at ``master`` the following steps *should* fix this in one " +"step:" +msgstr "" + +#: ../../docs/contributing/workflow/pr_workflow.rst:548 +msgid "" +"This will take all the commits on your branch *after* the ``4.2`` branch, " +"and then splice them on top of ``master``, ignoring any commits from the " +"``4.2`` branch not on the ``master`` branch. You may still need to do some " +"fixing, but this command should save you a lot of tedious work removing " +"commits." +msgstr "" + +#: ../../docs/contributing/workflow/pr_workflow.rst:552 +msgid "" +"Just like above for the interactive rebase you need to force push your " +"branch to handle the different changes:" +msgstr "" + +#: ../../docs/contributing/workflow/pr_workflow.rst:559 +msgid "Deleting a Git branch" +msgstr "" + +#: ../../docs/contributing/workflow/pr_workflow.rst:561 +msgid "" "After your pull request gets merged, there's one last thing you should do: " "delete your Git branch for the PR. There won't be issues if you don't delete " "your branch, but it's good practice to do so. You'll need to do this twice, " "once for the local branch and another for the remote branch on GitHub." msgstr "" -#: ../../docs/contributing/workflow/pr_workflow.rst:541 +#: ../../docs/contributing/workflow/pr_workflow.rst:566 msgid "To delete our better Project Manager branch locally, use this command:" msgstr "" -#: ../../docs/contributing/workflow/pr_workflow.rst:547 +#: ../../docs/contributing/workflow/pr_workflow.rst:572 msgid "" "Alternatively, if the branch hadn't been merged yet and we wanted to delete " "it anyway, instead of ``-d`` you would use ``-D``." msgstr "" -#: ../../docs/contributing/workflow/pr_workflow.rst:550 +#: ../../docs/contributing/workflow/pr_workflow.rst:575 msgid "Next, to delete the remote branch on GitHub use this command:" msgstr "" -#: ../../docs/contributing/workflow/pr_workflow.rst:556 +#: ../../docs/contributing/workflow/pr_workflow.rst:581 msgid "" "You can also delete the remote branch from the GitHub PR itself, a button " "should appear once it has been merged or closed." @@ -121200,6 +126094,1289 @@ msgid "" "sorting includes in C++ and Objective-C files." msgstr "" +#: ../../docs/contributing/development/configuring_an_ide/index.rst:4 +msgid "Configuring an IDE" +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/index.rst:6 +msgid "" +"We assume that you have already `cloned `_ and :ref:`compiled ` Godot." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/index.rst:9 +msgid "" +"You can easily develop Godot with any text editor and by invoking ``scons`` " +"on the command line, but if you want to work with an IDE (Integrated " +"Development Environment), here are setup instructions for some popular ones:" +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/index.rst:27 +msgid "" +"It is possible to use other IDEs, but their setup is not documented yet." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/index.rst:29 +msgid "" +"If your editor supports the `language server protocol `__, you can use `clangd `__ for completion, diagnostics, and more. You can generate a " +"compilation database for use with clangd one of two ways:" +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:4 +msgid "Android Studio" +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:6 +msgid "" +"`Android Studio `_ is a free IDE for " +"Android development made by `Google `_ and `JetBrains " +"`_. It's based on `IntelliJ IDEA `_ and has a feature-rich editor which supports Java and " +"C/C++. It can be used to work on Godot's core engine as well as the Android " +"platform codebase." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:13 +#: ../../docs/contributing/development/configuring_an_ide/clion.rst:10 +#: ../../docs/contributing/development/configuring_an_ide/kdevelop.rst:9 +#: ../../docs/contributing/development/configuring_an_ide/qt_creator.rst:9 +#: ../../docs/contributing/development/configuring_an_ide/rider.rst:10 +#: ../../docs/contributing/development/configuring_an_ide/visual_studio.rst:12 +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:10 +#: ../../docs/contributing/development/configuring_an_ide/xcode.rst:10 +msgid "Importing the project" +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:15 +msgid "From the Android Studio's welcome window select **Open**." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:21 +msgid "Android Studio's welcome window." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:23 +msgid "" +"Navigate to ``/platform/android/java`` and select the " +"``settings.gradle`` file." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:24 +msgid "Android Studio will import and index the project." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:27 +msgid "Android Studio project layout" +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:29 +msgid "" +"The project is organized using `Android Studio's modules `_:" +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:34 +msgid "``lib`` module:" +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:32 +msgid "" +"Located under ``/platform/android/java/lib``, this is " +"a **library module** that organizes" +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:33 +msgid "" +"the Godot java and native code and make it available as a reusable " +"dependency / artifact." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:34 +msgid "" +"The artifact generated by this module is made available for other Android " +"modules / projects to use as a dependency, via `MavenCentral `_." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:39 +msgid "``editor`` module:" +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:37 +msgid "" +"Located under ``/platform/android/java/editor``, this " +"is an **application module** that holds" +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:38 +msgid "the source code for the Android port of the Godot Editor." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:39 +#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:44 +msgid "This module has a dependency on the ``lib`` module." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:44 +msgid "``app`` module:" +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:42 +msgid "" +"Located under ``/platform/android/java/app``, this is " +"an **application module** that holds" +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:43 +msgid "the source code for the Android build templates." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:47 +msgid "Building & debugging the editor module" +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:55 +msgid "To build the ``editor`` module:" +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:50 +msgid "" +"Select the `Run/Debug Configurations drop down `_ and select ``editor``." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:56 +msgid "" +"Select **Run > Run 'editor'** from the top menu or `click the Run icon " +"`_." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:72 +msgid "To debug the ``editor`` module:" +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:58 +#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:91 +msgid "" +"Open the **Build Variants** window using **View > Tools Windows > Build " +"Variants** from the top menu." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:59 +msgid "" +"In the **Build Variants** window, make sure that in the **Active Build " +"Variant** column, the ``:editor`` entry is set to **dev**." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:65 +#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:98 +msgid "" +"Open the **Run/Debug Configurations** window by clicking on **Run > Edit " +"Configurations...** on the top menu." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:66 +msgid "" +"In the **Run/Debug Configurations** window, select the ``editor`` entry, and " +"under **Debugger** make sure the **Debug Type** is set to ``Dual (Java + " +"Native)``" +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:72 +msgid "" +"Select **Run > Debug 'editor'** from the top menu or `click the Debug icon " +"`_." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:75 +msgid "Building & debugging the app module" +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:77 +msgid "" +"The ``app`` module requires the presence of a Godot project in its " +"``assets`` directory (``/platform/android/java/app/" +"assets``) to run. This is usually handled by the Godot Editor during the " +"export process. While developing in Android Studio, it's necessary to " +"manually add a Godot project under that directory to replicate the export " +"process. Once that's done, you can follow the instructions below to run/" +"debug the ``app`` module:" +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:88 +msgid "To build the ``app`` module:" +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:83 +msgid "" +"Select the `Run/Debug Configurations drop down `_ and select ``app``." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:89 +msgid "" +"Select **Run > Run 'app'** from the top menu or `click the Run icon `_." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:106 +msgid "To debug the ``app`` module:" +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:92 +msgid "" +"In the **Build Variants** window, make sure that in the **Active Build " +"Variant** column, the ``:app`` entry is set to **dev**." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:99 +msgid "" +"In the **Run/Debug Configurations** window, select the ``app`` entry, and " +"under **Debugger** make sure the **Debug Type** is set to ``Dual (Java + " +"Native)``" +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:105 +msgid "" +"Select **Run > Debug 'app'** from the top menu or `click the Debug icon " +"`_." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:108 +msgid "" +"If you run into any issues, ask for help in `Godot's Android dev channel " +"`__." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/clion.rst:4 +msgid "CLion" +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/clion.rst:6 +msgid "" +"`CLion `_ is a commercial `JetBrains " +"`_ IDE for C++." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/clion.rst:12 +msgid "" +"CLion can import a project's `compilation database file `_, commonly named ``compile_commands." +"json``. To generate the compilation database file, open the terminal, change " +"to the Godot root directory, and run:" +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/clion.rst:18 +msgid "" +"Then, open the Godot root directory with CLion. CLion will import the " +"compilation database, index the codebase, and provide autocompletion and " +"other advanced code navigation and refactoring functionality." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/clion.rst:21 +#: ../../docs/contributing/development/configuring_an_ide/rider.rst:37 +msgid "Compiling and debugging the project" +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/clion.rst:23 +msgid "" +"CLion does not support compiling and debugging Godot via SCons out of the " +"box. This can be achieved by creating a custom build target and run " +"configuration in CLion. Before creating a custom build target, you must :ref:" +"`compile Godot ` once on the command line, to generate " +"the Godot executable. Open the terminal, change into the Godot root " +"directory, and execute:" +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/clion.rst:29 +msgid "To add a custom build target that invokes SCons for compilation:" +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/clion.rst:31 +msgid "" +"Open CLion and navigate to **Preferences > Build, Execution, Deployment > " +"Custom Build Targets**" +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/clion.rst:36 +msgid "Click **Add target** and give the target a name, e.g. ``Godot debug``." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/clion.rst:41 +msgid "" +"Click **...** next to the **Build:** selectbox, then click the **+** button " +"in the **External Tools** dialog to add a new external tool." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/clion.rst:46 +msgid "" +"Give the tool a name, e.g. ``Build Godot debug``, set **Program** to " +"``scons``, set **Arguments** to the compilation settings you want (see :ref:" +"`compiling Godot `), and set the **Working directory** " +"to ``$ProjectFileDir$``, which equals the Godot root directory. Click **OK** " +"to create the tool." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/clion.rst:48 +msgid "" +"CLion does not expand shell commands like ``scons -j$(nproc)``. Use concrete " +"values instead, e.g. ``scons -j8``." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/clion.rst:53 +msgid "" +"Back in the **External Tools** dialog, click the **+** again to add a second " +"external tool for cleaning the Godot build via SCons. Give the tool a name, " +"e.g. ``Clean Godot debug``, set **Program** to ``scons``, set **Arguments** " +"to ``-c`` (which will clean the build), and set the **Working directory** to " +"``$ProjectFileDir$``. Click **OK** to create the tool." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/clion.rst:58 +msgid "" +"Close the **External Tools** dialog. In the **Custom Build Target** dialog " +"for the custom ``Godot debug`` build target, select the **Build Godot " +"debug** tool from the **Build** select box, and select the **Clean Godot " +"debug** tool from the **Clean** select box. Click **OK** to create the " +"custom build target." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/clion.rst:63 +msgid "In the main IDE window, click **Add Configuration**." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/clion.rst:68 +msgid "" +"In the **Run/Debug Configuration** dialog, click **Add new...**, then select " +"**Custom Build Application** to create a new custom run/debug configuration." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/clion.rst:73 +msgid "" +"Give the run/debug configuration a name, e.g. ``Godot debug``, select the " +"``Godot debug`` custom build target as the **Target**. Select the Godot " +"executable in the ``bin/`` folder as the **Executable**, and set the " +"**Program arguments** to ``--editor --path path-to-your-project/``, where " +"``path-to-your-project/`` should be a path pointing to an existing Godot " +"project. If you omit the ``--path`` argument, you will only be able to debug " +"the Godot Project Manager window. Click **OK** to create the run/debug " +"configuration." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/clion.rst:78 +msgid "" +"You can now build, run, debug, profile, and Valgrind check the Godot editor " +"via the run configuration." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/clion.rst:83 +msgid "" +"When playing a scene, the Godot editor will spawn a separate process. You " +"can debug this process in CLion by going to **Run > Attach to process...**, " +"typing ``godot``, and selecting the Godot process with the highest **pid** " +"(process ID), which will usually be the running project." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/code_blocks.rst:4 +msgid "Code::Blocks" +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/code_blocks.rst:6 +msgid "" +"`Code::Blocks `_ is a free, open source, cross " +"platform IDE." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/code_blocks.rst:9 +msgid "Creating a new project" +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/code_blocks.rst:11 +msgid "" +"From Code::Blocks' main screen, click **Create a new project** or select " +"**File > New > Project...**." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/code_blocks.rst:17 +msgid "" +"In the **New from template** window, from **Projects**, select **Empty " +"project**, and click **Go**." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/code_blocks.rst:23 +msgid "Click Next, to pass the welcome to the new empty project wizard." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/code_blocks.rst:29 +msgid "" +"The project file should be created in the root of the cloned project folder. " +"To achieve this, first, ensure that the **Project title** is the same as the " +"folder name that Godot was cloned into. Unless you cloned the project into a " +"folder with a different name, this will be ``godot``." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/code_blocks.rst:31 +msgid "" +"Second, ensure that the **Folder to create project in** is the folder you " +"ran the Git clone command from, not the ``godot`` project folder. Confirm " +"that the **Resulting filename** field will create the project file in the " +"root of the cloned project folder." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/code_blocks.rst:37 +msgid "" +"The compiler and configuration settings are managed through **SCons** and " +"will be configured later. However, it's worth deselecting the **Create " +"\"Release\" configuration** option; so only a single build target is created " +"before clicking **Finish**." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/code_blocks.rst:44 +msgid "Configuring the build" +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/code_blocks.rst:46 +msgid "" +"The first step is to change the project properties. Right-click on the new " +"project and select **Properties...**." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/code_blocks.rst:52 +msgid "" +"Check the **This is a custom Makefile** property. Click OK to save the " +"changes." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/code_blocks.rst:58 +msgid "" +"The next step is to change the build options. Right-click on the new project " +"and select **Build Options...**." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/code_blocks.rst:64 +msgid "" +"Select the **\"Make\" commands** tab and remove all the existing commands " +"for all the build targets. For each build target enter the **SCons** command " +"for creating the desired build in the **Build project/target** field. The " +"minimum is ``scons``. For details on the **SCons** build options, see :ref:" +"`doc_introduction_to_the_buildsystem`. It's also useful to add the ``scons --" +"clean`` command in the **Clean project/target** field to the project's " +"default commands." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/code_blocks.rst:66 +msgid "" +"If you're using Windows, all the commands need to be preceded with ``cmd /" +"c`` to initialize the command interpreter." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/code_blocks.rst:76 +msgid "Windows example:" +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/code_blocks.rst:82 +msgid "" +"Code::Blocks should now be configured to build Godot; so either select " +"**Build > Build**, click the gear button, or press :kbd:`Ctrl + F9`." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/code_blocks.rst:85 +msgid "Configuring the run" +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/code_blocks.rst:87 +msgid "" +"Once **SCons** has successfully built the desired target, reopen the project " +"**Properties...** and select the **Build targets** tab. In the **Output " +"filename** field, browse to the ``bin`` folder and select the compiled file." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/code_blocks.rst:89 +msgid "" +"Deselect the **Auto-generate filename prefix** and **Auto-generate filename " +"extension** options." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/code_blocks.rst:95 +msgid "" +"Code::Blocks should now be configured to run your compiled Godot executable; " +"so either select **Build > Run**, click the green arrow button, or press :" +"kbd:`Ctrl + F10`." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/code_blocks.rst:97 +msgid "" +"There are two additional points worth noting. First, if required, the " +"**Execution working dir** field can be used to test specific projects, by " +"setting it to the folder containing the ``project.godot`` file. Second, the " +"**Build targets** tab can be used to add and remove build targets for " +"working with and creating different builds." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/code_blocks.rst:100 +msgid "Adding files to the project" +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/code_blocks.rst:102 +msgid "" +"To add all the Godot code files to the project, right-click on the new " +"project and select **Add files recursively...**." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/code_blocks.rst:108 +msgid "" +"It should automatically select the project folder; so simply click **Open**. " +"By default, all code files are included, so simply click **OK**." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/code_blocks.rst:115 +#: ../../docs/contributing/development/configuring_an_ide/qt_creator.rst:92 +msgid "Code style configuration" +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/code_blocks.rst:117 +msgid "" +"Before editing any files, remember that all code needs to comply with the :" +"ref:`doc_code_style_guidelines`. One important difference with Godot is the " +"use of tabs for indents. Therefore, the key default editor setting that " +"needs to be changed in Code::Blocks is to enable tabs for indents. This " +"setting can be found by selecting **Settings > Editor**." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/code_blocks.rst:123 +msgid "" +"Under **General Settings**, on the **Editor Settings** tab, under **Tab " +"Options** check **Use TAB character**." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/code_blocks.rst:129 +msgid "" +"That's it. You're ready to start contributing to Godot using the Code::" +"Blocks IDE. Remember to save the project file and the **Workspace**. If you " +"run into any issues, ask for help in one of `Godot's community channels " +"`__." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/kdevelop.rst:4 +msgid "KDevelop" +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/kdevelop.rst:6 +msgid "" +"`KDevelop `_ is a free, open source IDE for all " +"desktop platforms." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/kdevelop.rst:11 +msgid "From the KDevelop's main screen select **Open Project**." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/kdevelop.rst:17 +msgid "KDevelop's main screen." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/kdevelop.rst:19 +msgid "Navigate to the Godot root folder and select it." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/kdevelop.rst:20 +msgid "" +"On the next screen, choose **Custom Build System** for the **Project " +"Manager**." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/kdevelop.rst:26 +msgid "" +"After the project has been imported, open the project configuration by right-" +"clicking on it in the **Projects** panel and selecting **Open Configuration.." +"** option." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/kdevelop.rst:33 +msgid "" +"Under **Language Support** open the **Includes/Imports** tab and add the " +"following paths:" +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/kdevelop.rst:49 +msgid "Apply the changes." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/kdevelop.rst:50 +msgid "" +"Under **Custom Build System** add a new build configuration with the " +"following settings:" +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/kdevelop.rst:53 +msgid "Build Directory" +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/kdevelop.rst:53 +msgid "*blank*" +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/kdevelop.rst:55 +msgid "Enable" +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/kdevelop.rst:55 +msgid "**True**" +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/kdevelop.rst:57 +msgid "Executable" +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/kdevelop.rst:57 +#: ../../docs/contributing/development/configuring_an_ide/qt_creator.rst:59 +msgid "**scons**" +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/kdevelop.rst:59 +#: ../../docs/contributing/development/configuring_an_ide/qt_creator.rst:61 +#: ../../docs/contributing/development/configuring_an_ide/xcode.rst:33 +msgid "" +"See :ref:`doc_introduction_to_the_buildsystem` for a full list of arguments." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/kdevelop.rst:66 +msgid "Apply the changes and close the configuration window." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/kdevelop.rst:69 +#: ../../docs/contributing/development/configuring_an_ide/qt_creator.rst:73 +#: ../../docs/contributing/development/configuring_an_ide/visual_studio.rst:32 +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:62 +#: ../../docs/contributing/development/configuring_an_ide/xcode.rst:71 +msgid "Debugging the project" +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/kdevelop.rst:71 +msgid "Select **Run > Configure Launches...** from the top menu." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/kdevelop.rst:77 +msgid "Click **Add** to create a new launch configuration." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/kdevelop.rst:78 +msgid "" +"Select **Executable** option and specify the path to your executable located " +"in the ``/bin`` folder. The name depends on your build " +"configuration, e.g. ``godot.linuxbsd.editor.dev.x86_64`` for 64-bit LinuxBSD " +"platform with ``platform=editor`` and ``dev_build=yes``." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/kdevelop.rst:87 +#: ../../docs/contributing/development/configuring_an_ide/qt_creator.rst:111 +#: ../../docs/contributing/development/configuring_an_ide/visual_studio.rst:69 +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:159 +#: ../../docs/contributing/development/configuring_an_ide/xcode.rst:108 +msgid "" +"If you run into any issues, ask for help in one of `Godot's community " +"channels `__." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/qt_creator.rst:4 +msgid "Qt Creator" +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/qt_creator.rst:6 +msgid "" +"`Qt Creator `_ is a free, open " +"source IDE for all desktop platforms." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/qt_creator.rst:11 +msgid "" +"From the Qt Creator's main screen select **New Project > Import Project > " +"Import Existing Project**." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/qt_creator.rst:17 +msgid "Under **Location** select the Godot root folder." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/qt_creator.rst:23 +msgid "" +"Next, you can choose which folders and files will be visible to the project. " +"While C/C++ files are added automatically, other extensions can be " +"potentially useful: ``*.glsl`` for shader files, ``*.py`` for buildsystem " +"files, ``*.java`` for Android platform development, ``*.mm`` for macOS " +"platform development." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/qt_creator.rst:32 +msgid "" +"You can change this configuration later by right-clicking on your project " +"and selecting the **Edit Files...** option." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/qt_creator.rst:40 +msgid "Finish the import." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/qt_creator.rst:41 +msgid "" +"Open the ``project_name.includes`` file and add a line containing ``.`` to " +"it to correctly enable the code completion." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/qt_creator.rst:48 +msgid "From the left-side menu select **Projects** and open the **Build** tab." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/qt_creator.rst:49 +msgid "Delete the predefined ``make`` build step." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/qt_creator.rst:55 +msgid "" +"Click **Add Build Step > Custom Process Step** to add a new build step with " +"the following settings:" +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/qt_creator.rst:68 +msgid "" +"If the build fails with ``Could not start process \"scons\"``, it can mean " +"that ``scons`` is not in your ``PATH`` environment variable. In this case, " +"you'll have to specify the full path to the SCons binary." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/qt_creator.rst:75 +msgid "From the left-side menu select **Projects** and open the **Run** tab." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/qt_creator.rst:76 +msgid "" +"Under **Executable** specify the path to your executable located in the " +"``/bin`` folder. The name depends on your build " +"configuration, e.g. ``godot.linuxbsd.editor.dev.x86_64`` for 64-bit LinuxBSD " +"platform with ``platform=editor`` and ``dev_build=yes``. You can use " +"``%{buildDir}`` to reference the project root, e.g: ``%{buildDir}/bin/godot." +"linuxbsd.editor.dev.x86_64``." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/qt_creator.rst:81 +msgid "" +"If you want to run a specific project, specify its root folder under " +"**Working directory**." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/qt_creator.rst:82 +msgid "" +"If you want to run the editor, add ``-e`` to the **Command line arguments** " +"field." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/qt_creator.rst:88 +#: ../../docs/contributing/development/configuring_an_ide/visual_studio.rst:57 +msgid "" +"To learn more about command line arguments, refer to the :ref:`command line " +"tutorial `." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/qt_creator.rst:94 +msgid "" +"Developers must follow the project's :ref:`code style " +"` and the IDE should help them follow it. By " +"default, Qt Creator uses spaces for indentation which doesn't match the " +"Godot code style guidelines. You can change this behavior by changing the " +"**Code Style** in **Tools > Options > C++**." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/qt_creator.rst:103 +msgid "" +"Click on **Edit** to change the current settings, then click on **Copy Built-" +"in Code Style** button to set a new code style. Set a name for it (e.g. " +"Godot) and change the Tab policy to be **Tabs Only**." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/rider.rst:4 +msgid "Rider" +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/rider.rst:6 +msgid "" +"`Rider `_ is a commercial `JetBrains " +"`_ IDE for C# and C++ that uses the same " +"solution system as Visual Studio." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/rider.rst:12 +msgid "" +"If you already use Visual Studio as your main IDE, you can use the same " +"solution file in Rider. Rider and Visual Studio use the same solution " +"format, so you can switch between the two IDEs without rebuilding the " +"solution file. Debug configurations need to be changed when going from one " +"IDE to another." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/rider.rst:16 +msgid "" +"Rider requires a solution file to work on a project. While Godot does not " +"come with the solution file, it can be generated using SCons." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/rider.rst:19 +#: ../../docs/contributing/development/configuring_an_ide/visual_studio.rst:17 +msgid "" +"Navigate to the Godot root folder and open a Command Prompt or PowerShell " +"window." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/rider.rst:20 +msgid "Copy, paste and run the next command to generate the solution." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/rider.rst:26 +msgid "" +"The ``vsproj`` parameter signals that you want Visual Studio solution " +"generated. The ``dev_build`` parameter makes sure the debug symbols are " +"included, allowing to e.g. step through code using breakpoints." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/rider.rst:29 +msgid "" +"If you have Rider setup as your main IDE for .sln, you can now open the " +"project by double-clicking on the ``godot.sln`` in the project root or by " +"using the **Open** option inside of Rider." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/rider.rst:32 +msgid "" +"Rider could fail to build the first time you open the project. If that is " +"the case, you can close Rider and open the solution in Visual Studio, build " +"it, close Visual Studio, and open the solution in Rider again. You are now " +"able to build the project from Rider." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/rider.rst:38 +msgid "" +"Rider comes with a built-in debugger that can be used to debug the Godot " +"project. You can launch the debugger by pressing the **Debug** icon at the " +"top of the screen, this only works for the Project manager, if you want to " +"debug the editor, you need to configure the debugger first." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/rider.rst:45 +msgid "" +"Click on the **Godot > Edit Configurations** option at the top of the screen." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/rider.rst:50 +msgid "" +"Delete what is under **Program arguments** and paste the following line:" +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/rider.rst:56 +msgid "" +"This will tell the executable to debug the specified project without using " +"the project manager. Use the root path to the project folder, not ``project." +"godot`` file path." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/rider.rst:62 +msgid "Finally click on apply and ok to save the changes." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/rider.rst:64 +msgid "" +"You can now launch the debugger by pressing the **Debug** icon at the top of " +"the screen and it will open the project to debug." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/rider.rst:66 +msgid "" +"Alternatively you can use **Run > Attach to Process** to attach the debugger " +"to a running Godot instance." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/visual_studio.rst:4 +msgid "Visual Studio" +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/visual_studio.rst:6 +msgid "" +"`Visual Studio Community `__ is a " +"Windows-only IDE by `Microsoft `_ that's free for " +"individual use or non-commercial use within organizations. It has many " +"useful features, such as memory view, performance view, source control and " +"more." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/visual_studio.rst:14 +msgid "" +"Visual Studio requires a solution file to work on a project. While Godot " +"does not come with the solution file, it can be generated using SCons." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/visual_studio.rst:0 +msgid "" +"Run ``scons platform=windows vsproj=yes dev_build=yes`` to generate the " +"solution with debug symbols." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/visual_studio.rst:0 +msgid "" +"The ``vsproj`` parameter signals that you want Visual Studio solution " +"generated." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/visual_studio.rst:0 +msgid "" +"The ``dev_build`` parameter makes sure the debug symbols are included, " +"allowing to e.g. step through code using breakpoints." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/visual_studio.rst:21 +msgid "" +"You can now open the project by double-clicking on the ``godot.sln`` in the " +"project root or by using the **Open a project or solution** option inside of " +"the Visual Studio." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/visual_studio.rst:23 +msgid "Use the **Build** top menu to build the project." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/visual_studio.rst:25 +msgid "" +"Visual Studio must be configured with the C++ package. It can be selected in " +"the installer:" +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/visual_studio.rst:34 +msgid "" +"Visual Studio features a powerful debugger. This allows the user to examine " +"Godot's source code, stop at specific points in the code, inspect the " +"current execution context, and make live changes to the codebase." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/visual_studio.rst:38 +msgid "" +"You can launch the project with the debugger attached using the **Debug > " +"Start Debugging** option from the top menu. However, unless you want to " +"debug the Project Manager specifically, you'd need to configure debugging " +"options first. This is due to the fact that when the Godot Project Manager " +"opens a project, the initial process is terminated and the debugger gets " +"detached." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/visual_studio.rst:43 +msgid "" +"To configure the launch options to use with the debugger use **Project > " +"Properties** from the top menu:" +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/visual_studio.rst:49 +msgid "" +"Open the **Debugging** section and under **Command Arguments** add two new " +"arguments: the ``-e`` flag opens the editor instead of the Project Manager, " +"and the ``--path`` argument tells the executable to open the specified " +"project (must be provided as an *absolute* path to the project root, not the " +"``project.godot`` file; if the path contains spaces be sure to pass it " +"inside double quotation marks)." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/visual_studio.rst:60 +msgid "" +"Even if you start the project without a debugger attached it can still be " +"connected to the running process using **Debug > Attach to Process...** menu." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/visual_studio.rst:63 +msgid "" +"To check that everything is working, put a breakpoint in ``main.cpp`` and " +"press :kbd:`F5` to start debugging." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:6 +msgid "" +"`Visual Studio Code `_ is a free cross-" +"platform code editor by `Microsoft `_ (not to be " +"confused with :ref:`doc_configuring_an_ide_vs`)." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:12 +msgid "" +"Make sure the C/C++ extension is installed. You can find instructions in the " +"`official documentation `_. Alternatively, `clangd `_ can be used instead." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:16 +msgid "When using the clangd extension, run ``scons compiledb=yes``." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:17 +msgid "" +"From the Visual Studio Code's main screen open the Godot root folder with " +"**File > Open Folder...**." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:19 +msgid "" +"Press :kbd:`Ctrl + Shift + P` to open the command prompt window and enter " +"*Configure Task*." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:24 +msgid "Select the **Create tasks.json file from template** option." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:29 +msgid "Then select **Others**." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:34 +msgid "" +"If there is no such option as **Create tasks.json file from template** " +"available, either delete the file if it already exists in your folder or " +"create a ``.vscode/tasks.json`` file manually. See `Tasks in Visual Studio " +"Code `_ for " +"more details on tasks." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:36 +msgid "" +"Within the ``tasks.json`` file find the ``\"tasks\"`` array and add a new " +"section to it:" +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:56 +msgid "An example of a filled out ``tasks.json``." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:58 +msgid "" +"Arguments can be different based on your own setup and needs. See :ref:" +"`doc_introduction_to_the_buildsystem` for a full list of arguments." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:64 +msgid "" +"To run and debug the project you need to create a new configuration in the " +"``launch.json`` file." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:66 +msgid "Press :kbd:`Ctrl + Shift + D` to open the Run panel." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:67 +msgid "" +"If ``launch.json`` file is missing you will be prompted to create a new one." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:72 +msgid "" +"Select **C++ (GDB/LLDB)**. There may be another platform specific option " +"here. If selected, adjust the configuration example provided accordingly." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:74 +msgid "" +"Within the ``launch.json`` file find the ``\"configurations\"`` array and " +"add a new section to it:" +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:142 +msgid "An example of a filled out ``launch.json``." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:147 +msgid "" +"Due to sporadic performance issues, it is recommended to use LLDB over GDB " +"on Unix-based systems. Make sure that the `CodeLLDB extension `_ is " +"installed." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:151 +msgid "" +"If you encounter issues with lldb, you may consider using gdb (see the " +"LinuxBSD_gdb configuration)." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:153 +msgid "" +"Do note that lldb may work better with LLVM-based builds. See :ref:" +"`doc_compiling_for_linuxbsd` for further information." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:155 +msgid "" +"The name under ``program`` depends on your build configuration, e.g. ``godot." +"linuxbsd.editor.dev.x86_64`` for 64-bit LinuxBSD platform with " +"``platform=editor`` and ``dev_build=yes``." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:164 +msgid "" +"To get linting on class reference XML files, install the `vscode-xml " +"extension `__." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/xcode.rst:4 +msgid "Xcode" +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/xcode.rst:6 +msgid "" +"`Xcode `_ is a free macOS-only IDE. You " +"can download it from the Mac App Store." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/xcode.rst:12 +msgid "" +"From Xcode's main screen create a new project using the **Other > External " +"Build System** template." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/xcode.rst:18 +msgid "" +"Now choose a name for your project and set the path to scons executable in " +"build tool (to find the path you can type ``where scons`` in a terminal)." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/xcode.rst:24 +msgid "" +"Open the main target from the **Targets** section and select the **Info** " +"tab." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/xcode.rst:30 +msgid "Fill out the form with the following settings:" +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/xcode.rst:35 +msgid "Directory" +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/xcode.rst:35 +msgid "A full path to the Godot root folder" +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/xcode.rst:38 +msgid "" +"Add a Command Line Tool target which will be used for indexing the project " +"by choosing **File > New > Target...**." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/xcode.rst:45 +msgid "Select **macOS > Application > Command Line Tool**." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/xcode.rst:51 +msgid "" +"Name it something so you know not to compile with this target (e.g. " +"``GodotXcodeIndex``)." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/xcode.rst:53 +msgid "" +"For this target open the **Build Settings** tab and look for **Header Search " +"Paths**." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/xcode.rst:54 +msgid "" +"Set **Header Search Paths** to the absolute path to the Godot root folder. " +"You need to include subdirectories as well. To achieve that, add two two " +"asterisks (``**``) to the end of the path, e.g. ``/Users/me/repos/godot-" +"source/**``." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/xcode.rst:58 +msgid "" +"Add the Godot source to the project by dragging and dropping it into the " +"project file browser." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/xcode.rst:59 +msgid "" +"Select **Create groups** for the **Added folders** option and check *only* " +"your command line indexing target in the **Add to targets** section." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/xcode.rst:66 +msgid "Xcode will now index the files. This may take a few minutes." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/xcode.rst:67 +msgid "" +"Once Xcode is done indexing, you should have jump-to-definition, " +"autocompletion, and full syntax highlighting." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/xcode.rst:73 +msgid "" +"To enable debugging support you need to edit the external build target's " +"build and run schemes." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/xcode.rst:75 +msgid "Open the scheme editor of the external build target." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/xcode.rst:76 +msgid "Locate the **Build > Post Actions** section." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/xcode.rst:77 +msgid "Add a new script run action" +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/xcode.rst:78 +msgid "" +"Under **Provide build settings from** select your project. This allows to " +"reference the project directory within the script." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/xcode.rst:80 +msgid "" +"Create a script that will give the binary a name that Xcode can recognize, e." +"g.:" +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/xcode.rst:90 +msgid "Build the external build target." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/xcode.rst:92 +msgid "Open the scheme editor again and select **Run**." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/xcode.rst:98 +msgid "" +"Set the **Executable** to the file you linked in your post-build action " +"script." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/xcode.rst:99 +msgid "Check **Debug executable**." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/xcode.rst:100 +msgid "" +"You can add two arguments on the **Arguments** tab: the ``-e`` flag opens " +"the editor instead of the Project Manager, and the ``--path`` argument tells " +"the executable to open the specified project (must be provided as an " +"*absolute* path to the project root, not the ``project.godot`` file)." +msgstr "" + +#: ../../docs/contributing/development/configuring_an_ide/xcode.rst:105 +msgid "" +"To check that everything is working, put a breakpoint in ``platform/macos/" +"godot_main_macos.mm`` and run the project." +msgstr "" + #: ../../docs/contributing/development/compiling/index.rst:2 msgid "Building from source" msgstr "" @@ -121990,7 +128167,7 @@ msgstr "" #: ../../docs/contributing/development/compiling/compiling_for_linuxbsd.rst:44 #: ../../docs/contributing/development/compiling/compiling_for_macos.rst:39 #: ../../docs/contributing/development/compiling/compiling_for_android.rst:43 -#: ../../docs/contributing/development/compiling/compiling_for_ios.rst:40 +#: ../../docs/contributing/development/compiling/compiling_for_ios.rst:39 #: ../../docs/contributing/development/compiling/compiling_for_web.rst:22 msgid "" "To get the Godot source code for compiling, see :ref:`doc_getting_source`." @@ -122000,7 +128177,7 @@ msgstr "" #: ../../docs/contributing/development/compiling/compiling_for_linuxbsd.rst:46 #: ../../docs/contributing/development/compiling/compiling_for_macos.rst:42 #: ../../docs/contributing/development/compiling/compiling_for_android.rst:46 -#: ../../docs/contributing/development/compiling/compiling_for_ios.rst:43 +#: ../../docs/contributing/development/compiling/compiling_for_ios.rst:42 #: ../../docs/contributing/development/compiling/compiling_for_web.rst:25 msgid "" "For a general overview of SCons usage for Godot, see :ref:" @@ -122829,7 +129006,6 @@ msgid "`Python 3.6+ `_." msgstr "" #: ../../docs/contributing/development/compiling/compiling_for_macos.rst:20 -#: ../../docs/contributing/development/compiling/compiling_for_ios.rst:18 msgid "" "`Xcode `_ (or the more " "lightweight Command Line Tools for Xcode)." @@ -122842,21 +129018,21 @@ msgid "" msgstr "" #: ../../docs/contributing/development/compiling/compiling_for_macos.rst:25 -#: ../../docs/contributing/development/compiling/compiling_for_ios.rst:26 +#: ../../docs/contributing/development/compiling/compiling_for_ios.rst:25 msgid "" "If you have `Homebrew `_ installed, you can easily install " "SCons using the following command::" msgstr "" #: ../../docs/contributing/development/compiling/compiling_for_macos.rst:30 -#: ../../docs/contributing/development/compiling/compiling_for_ios.rst:31 +#: ../../docs/contributing/development/compiling/compiling_for_ios.rst:30 msgid "" "Installing Homebrew will also fetch the Command Line Tools for Xcode " "automatically if you don't have them already." msgstr "" #: ../../docs/contributing/development/compiling/compiling_for_macos.rst:33 -#: ../../docs/contributing/development/compiling/compiling_for_ios.rst:34 +#: ../../docs/contributing/development/compiling/compiling_for_ios.rst:33 msgid "" "Similarly, if you have `MacPorts `_ installed, " "you can easily install SCons using the following command::" @@ -122930,7 +129106,7 @@ msgid "For Intel x86_64::" msgstr "" #: ../../docs/contributing/development/compiling/compiling_for_macos.rst:131 -msgid "For ARM64 (Apple M1)::" +msgid "For Arm64 (Apple M1)::" msgstr "" #: ../../docs/contributing/development/compiling/compiling_for_macos.rst:136 @@ -122944,10 +129120,10 @@ msgid "" "To create an ``.app`` bundle like in the official builds, you need to use " "the template located in ``misc/dist/macos_template.app``. The release and " "debug builds should be placed in ``macos_template.app/Contents/MacOS`` with " -"the names ``godot_macos_release.64`` and ``godot_macos_debug.64`` " -"respectively. You can do so with the following commands (assuming a " -"universal build, otherwise replace the ``.universal`` extension with the one " -"of your arch-specific binaries)::" +"the names ``godot_macos_release.universal`` and ``godot_macos_debug." +"universal`` respectively. You can do so with the following commands " +"(assuming a universal build, otherwise replace the ``.universal`` extension " +"with the one of your arch-specific binaries)::" msgstr "" #: ../../docs/contributing/development/compiling/compiling_for_macos.rst:166 @@ -123391,40 +129567,44 @@ msgid "" "`doc_exporting_for_ios`." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_ios.rst:21 +#: ../../docs/contributing/development/compiling/compiling_for_ios.rst:18 +msgid "`Xcode `_." +msgstr "" + +#: ../../docs/contributing/development/compiling/compiling_for_ios.rst:20 msgid "If you are building the ``master`` branch:" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_ios.rst:23 +#: ../../docs/contributing/development/compiling/compiling_for_ios.rst:22 msgid "" "Download and follow README instructions to build a static ``.xcframework`` " "from the `MoltenVK SDK `__." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_ios.rst:49 +#: ../../docs/contributing/development/compiling/compiling_for_ios.rst:48 msgid "Open a Terminal, go to the root dir of the engine source code and type:" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_ios.rst:55 +#: ../../docs/contributing/development/compiling/compiling_for_ios.rst:54 msgid "for a debug build, or:" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_ios.rst:61 +#: ../../docs/contributing/development/compiling/compiling_for_ios.rst:60 msgid "" "for a release build (check ``platform/ios/detect.py`` for the compiler flags " "used for each configuration)." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_ios.rst:64 +#: ../../docs/contributing/development/compiling/compiling_for_ios.rst:63 msgid "Alternatively, you can run" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_ios.rst:71 +#: ../../docs/contributing/development/compiling/compiling_for_ios.rst:70 msgid "for a Simulator libraries." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_ios.rst:73 +#: ../../docs/contributing/development/compiling/compiling_for_ios.rst:72 msgid "" "To create an Xcode project like in the official builds, you need to use the " "template located in ``misc/dist/ios_xcode``. The release and debug libraries " @@ -123432,13 +129612,13 @@ msgid "" "release.xcframework`` respectively." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_ios.rst:87 +#: ../../docs/contributing/development/compiling/compiling_for_ios.rst:86 msgid "" "The MoltenVK static ``.xcframework`` folder must also be placed in the " "``ios_xcode`` folder once it has been created." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_ios.rst:93 +#: ../../docs/contributing/development/compiling/compiling_for_ios.rst:92 msgid "" "To run on a device or simulator, follow these instructions: :ref:" "`doc_exporting_for_ios`." @@ -123667,8 +129847,8 @@ msgstr "" 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.opt.wasm32.zip`` for release or ``godot.web.opt.debug.wasm32." -"zip`` for debug." +"``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:55 @@ -123720,7 +129900,7 @@ msgstr "" #: ../../docs/contributing/development/compiling/compiling_for_web.rst:95 msgid "" "Once finished, the resulting file will be placed in the ``bin`` " -"subdirectory. Its name will be ``godot.web.opt.tools.wasm32.zip``. You can " +"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 "" @@ -123893,24 +130073,40 @@ msgstr "" #: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:102 msgid "" "In order to use Godot with a development version of those packages, a local " -"NuGet source must be created where MSBuild can find them. This can be done " -"with the .NET CLI:" +"NuGet source must be created where MSBuild can find them." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:110 +#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:105 msgid "" -"The Godot NuGet packages must be added to that local source. Additionally, " -"we must make sure there are no other versions of the package in the NuGet " -"cache, as MSBuild may pick one of those instead." +"First, pick a location for the local NuGet source. If you don't have a " +"preference, create an empty directory at one of these recommended locations:" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:114 +#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:108 +msgid "On Windows, ``C:\\Users\\\\MyLocalNugetSource``" +msgstr "" + +#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:109 +msgid "On Linux, \\*BSD, etc., ``~/MyLocalNugetSource``" +msgstr "" + +#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:111 +msgid "This path is referred to later as ````." +msgstr "" + +#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:113 msgid "" -"In order to simplify this process, the ``build_assemblies.py`` script " -"provides the following ``--push-nupkgs-local`` option:" +"After picking a directory, run this .NET CLI command to configure NuGet to " +"use your local source:" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:121 +#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:120 +msgid "" +"When you run the ``build_assemblies.py`` script, pass ```` " +"to the ``--push-nupkgs-local`` option:" +msgstr "" + +#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:127 msgid "" "This option ensures the packages will be added to the specified local NuGet " "source and that conflicting versions of the package are removed from the " @@ -123918,37 +130114,37 @@ msgid "" "solutions during development to avoid mistakes." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:127 +#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:133 msgid "Double Precision Support (REAL_T_IS_DOUBLE)" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:129 +#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:135 msgid "" "When building Godot with double precision support, i.e. the " "``precision=double`` argument for scons, the managed libraries must be " "adjusted to match by passing the ``--precision=double`` argument:" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:141 +#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:147 msgid "Example (Windows)" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:158 +#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:164 msgid "Example (Linux, \\*BSD)" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:176 +#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:182 msgid "Data directory" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:178 +#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:184 msgid "" "The data directory is a dependency for Godot binaries built with the .NET " "module enabled. It contains important files for the correct functioning of " "Godot. It must be distributed together with the Godot executable." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:185 +#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:191 msgid "" "The name of the data directory for the Godot editor will always be " "``GodotSharp``. This directory contains an ``Api`` subdirectory with the " @@ -123956,14 +130152,14 @@ msgid "" "the editor, like the ``GodotTools`` assemblies and its dependencies." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:190 +#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:196 msgid "" "On macOS, if the Godot editor is distributed as a bundle, the ``GodotSharp`` " "directory may be placed in the ``.app/Contents/Resources/`` " "directory inside the bundle." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:197 +#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:203 msgid "" "The data directory for exported projects is generated by the editor during " "the export. It is named ``data__``, where ```` is " @@ -123971,27 +130167,27 @@ msgid "" "config/name`` and ```` is the current architecture of the export." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:202 +#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:208 msgid "" "In the case of multi-architecture exports multiple such data directories " "will be generated." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:206 +#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:212 msgid "Command-line options" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:208 +#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:214 msgid "" "The following is the list of command-line options available when building " "with the .NET module:" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:211 +#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:217 msgid "**module_mono_enabled**\\ =yes | **no**" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:213 +#: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:219 msgid "Build Godot with the .NET module enabled." msgstr "" @@ -125301,1289 +131497,6 @@ msgid "" "quickly test your project with the validation layers enabled." msgstr "" -#: ../../docs/contributing/development/configuring_an_ide/index.rst:4 -msgid "Configuring an IDE" -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/index.rst:6 -msgid "" -"We assume that you have already `cloned `_ and :ref:`compiled ` Godot." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/index.rst:9 -msgid "" -"You can easily develop Godot with any text editor and by invoking ``scons`` " -"on the command line, but if you want to work with an IDE (Integrated " -"Development Environment), here are setup instructions for some popular ones:" -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/index.rst:27 -msgid "" -"It is possible to use other IDEs, but their setup is not documented yet." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/index.rst:29 -msgid "" -"If your editor supports the `language server protocol `__, you can use `clangd `__ for completion, diagnostics, and more. You can generate a " -"compilation database for use with clangd one of two ways:" -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:4 -msgid "Android Studio" -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:6 -msgid "" -"`Android Studio `_ is a free IDE for " -"Android development made by `Google `_ and `JetBrains " -"`_. It's based on `IntelliJ IDEA `_ and has a feature-rich editor which supports Java and " -"C/C++. It can be used to work on Godot's core engine as well as the Android " -"platform codebase." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:13 -#: ../../docs/contributing/development/configuring_an_ide/clion.rst:10 -#: ../../docs/contributing/development/configuring_an_ide/kdevelop.rst:9 -#: ../../docs/contributing/development/configuring_an_ide/qt_creator.rst:9 -#: ../../docs/contributing/development/configuring_an_ide/rider.rst:10 -#: ../../docs/contributing/development/configuring_an_ide/visual_studio.rst:12 -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:10 -#: ../../docs/contributing/development/configuring_an_ide/xcode.rst:10 -msgid "Importing the project" -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:15 -msgid "From the Android Studio's welcome window select **Open**." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:21 -msgid "Android Studio's welcome window." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:23 -msgid "" -"Navigate to ``/platform/android/java`` and select the " -"``settings.gradle`` file." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:24 -msgid "Android Studio will import and index the project." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:27 -msgid "Android Studio project layout" -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:29 -msgid "" -"The project is organized using `Android Studio's modules `_:" -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:34 -msgid "``lib`` module:" -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:32 -msgid "" -"Located under ``/platform/android/java/lib``, this is " -"a **library module** that organizes" -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:33 -msgid "" -"the Godot java and native code and make it available as a reusable " -"dependency / artifact." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:34 -msgid "" -"The artifact generated by this module is made available for other Android " -"modules / projects to use as a dependency, via `MavenCentral `_." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:39 -msgid "``editor`` module:" -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:37 -msgid "" -"Located under ``/platform/android/java/editor``, this " -"is an **application module** that holds" -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:38 -msgid "the source code for the Android port of the Godot Editor." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:39 -#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:44 -msgid "This module has a dependency on the ``lib`` module." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:44 -msgid "``app`` module:" -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:42 -msgid "" -"Located under ``/platform/android/java/app``, this is " -"an **application module** that holds" -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:43 -msgid "the source code for the Android build templates." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:47 -msgid "Building & debugging the editor module" -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:55 -msgid "To build the ``editor`` module:" -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:50 -msgid "" -"Select the `Run/Debug Configurations drop down `_ and select ``editor``." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:56 -msgid "" -"Select **Run > Run 'editor'** from the top menu or `click the Run icon " -"`_." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:72 -msgid "To debug the ``editor`` module:" -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:58 -#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:91 -msgid "" -"Open the **Build Variants** window using **View > Tools Windows > Build " -"Variants** from the top menu." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:59 -msgid "" -"In the **Build Variants** window, make sure that in the **Active Build " -"Variant** column, the ``:editor`` entry is set to **dev**." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:65 -#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:98 -msgid "" -"Open the **Run/Debug Configurations** window by clicking on **Run > Edit " -"Configurations...** on the top menu." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:66 -msgid "" -"In the **Run/Debug Configurations** window, select the ``editor`` entry, and " -"under **Debugger** make sure the **Debug Type** is set to ``Dual (Java + " -"Native)``" -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:72 -msgid "" -"Select **Run > Debug 'editor'** from the top menu or `click the Debug icon " -"`_." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:75 -msgid "Building & debugging the app module" -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:77 -msgid "" -"The ``app`` module requires the presence of a Godot project in its " -"``assets`` directory (``/platform/android/java/app/" -"assets``) to run. This is usually handled by the Godot Editor during the " -"export process. While developing in Android Studio, it's necessary to " -"manually add a Godot project under that directory to replicate the export " -"process. Once that's done, you can follow the instructions below to run/" -"debug the ``app`` module:" -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:88 -msgid "To build the ``app`` module:" -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:83 -msgid "" -"Select the `Run/Debug Configurations drop down `_ and select ``app``." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:89 -msgid "" -"Select **Run > Run 'app'** from the top menu or `click the Run icon `_." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:106 -msgid "To debug the ``app`` module:" -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:92 -msgid "" -"In the **Build Variants** window, make sure that in the **Active Build " -"Variant** column, the ``:app`` entry is set to **dev**." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:99 -msgid "" -"In the **Run/Debug Configurations** window, select the ``app`` entry, and " -"under **Debugger** make sure the **Debug Type** is set to ``Dual (Java + " -"Native)``" -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:105 -msgid "" -"Select **Run > Debug 'app'** from the top menu or `click the Debug icon " -"`_." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/android_studio.rst:108 -msgid "" -"If you run into any issues, ask for help in `Godot's Android dev channel " -"`__." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/clion.rst:4 -msgid "CLion" -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/clion.rst:6 -msgid "" -"`CLion `_ is a commercial `JetBrains " -"`_ IDE for C++." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/clion.rst:12 -msgid "" -"CLion can import a project's `compilation database file `_, commonly named ``compile_commands." -"json``. To generate the compilation database file, open the terminal, change " -"to the Godot root directory, and run:" -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/clion.rst:18 -msgid "" -"Then, open the Godot root directory with CLion. CLion will import the " -"compilation database, index the codebase, and provide autocompletion and " -"other advanced code navigation and refactoring functionality." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/clion.rst:21 -#: ../../docs/contributing/development/configuring_an_ide/rider.rst:37 -msgid "Compiling and debugging the project" -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/clion.rst:23 -msgid "" -"CLion does not support compiling and debugging Godot via SCons out of the " -"box. This can be achieved by creating a custom build target and run " -"configuration in CLion. Before creating a custom build target, you must :ref:" -"`compile Godot ` once on the command line, to generate " -"the Godot executable. Open the terminal, change into the Godot root " -"directory, and execute:" -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/clion.rst:29 -msgid "To add a custom build target that invokes SCons for compilation:" -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/clion.rst:31 -msgid "" -"Open CLion and navigate to **Preferences > Build, Execution, Deployment > " -"Custom Build Targets**" -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/clion.rst:36 -msgid "Click **Add target** and give the target a name, e.g. ``Godot debug``." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/clion.rst:41 -msgid "" -"Click **...** next to the **Build:** selectbox, then click the **+** button " -"in the **External Tools** dialog to add a new external tool." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/clion.rst:46 -msgid "" -"Give the tool a name, e.g. ``Build Godot debug``, set **Program** to " -"``scons``, set **Arguments** to the compilation settings you want (see :ref:" -"`compiling Godot `), and set the **Working directory** " -"to ``$ProjectFileDir$``, which equals the Godot root directory. Click **OK** " -"to create the tool." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/clion.rst:48 -msgid "" -"CLion does not expand shell commands like ``scons -j$(nproc)``. Use concrete " -"values instead, e.g. ``scons -j8``." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/clion.rst:53 -msgid "" -"Back in the **External Tools** dialog, click the **+** again to add a second " -"external tool for cleaning the Godot build via SCons. Give the tool a name, " -"e.g. ``Clean Godot debug``, set **Program** to ``scons``, set **Arguments** " -"to ``-c`` (which will clean the build), and set the **Working directory** to " -"``$ProjectFileDir$``. Click **OK** to create the tool." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/clion.rst:58 -msgid "" -"Close the **External Tools** dialog. In the **Custom Build Target** dialog " -"for the custom ``Godot debug`` build target, select the **Build Godot " -"debug** tool from the **Build** select box, and select the **Clean Godot " -"debug** tool from the **Clean** select box. Click **OK** to create the " -"custom build target." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/clion.rst:63 -msgid "In the main IDE window, click **Add Configuration**." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/clion.rst:68 -msgid "" -"In the **Run/Debug Configuration** dialog, click **Add new...**, then select " -"**Custom Build Application** to create a new custom run/debug configuration." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/clion.rst:73 -msgid "" -"Give the run/debug configuration a name, e.g. ``Godot debug``, select the " -"``Godot debug`` custom build target as the **Target**. Select the Godot " -"executable in the ``bin/`` folder as the **Executable**, and set the " -"**Program arguments** to ``--editor --path path-to-your-project/``, where " -"``path-to-your-project/`` should be a path pointing to an existing Godot " -"project. If you omit the ``--path`` argument, you will only be able to debug " -"the Godot Project Manager window. Click **OK** to create the run/debug " -"configuration." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/clion.rst:78 -msgid "" -"You can now build, run, debug, profile, and Valgrind check the Godot editor " -"via the run configuration." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/clion.rst:83 -msgid "" -"When playing a scene, the Godot editor will spawn a separate process. You " -"can debug this process in CLion by going to **Run > Attach to process...**, " -"typing ``godot``, and selecting the Godot process with the highest **pid** " -"(process ID), which will usually be the running project." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/code_blocks.rst:4 -msgid "Code::Blocks" -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/code_blocks.rst:6 -msgid "" -"`Code::Blocks `_ is a free, open source, cross " -"platform IDE." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/code_blocks.rst:9 -msgid "Creating a new project" -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/code_blocks.rst:11 -msgid "" -"From Code::Blocks' main screen, click **Create a new project** or select " -"**File > New > Project...**." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/code_blocks.rst:17 -msgid "" -"In the **New from template** window, from **Projects**, select **Empty " -"project**, and click **Go**." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/code_blocks.rst:23 -msgid "Click Next, to pass the welcome to the new empty project wizard." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/code_blocks.rst:29 -msgid "" -"The project file should be created in the root of the cloned project folder. " -"To achieve this, first, ensure that the **Project title** is the same as the " -"folder name that Godot was cloned into. Unless you cloned the project into a " -"folder with a different name, this will be ``godot``." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/code_blocks.rst:31 -msgid "" -"Second, ensure that the **Folder to create project in** is the folder you " -"ran the Git clone command from, not the ``godot`` project folder. Confirm " -"that the **Resulting filename** field will create the project file in the " -"root of the cloned project folder." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/code_blocks.rst:37 -msgid "" -"The compiler and configuration settings are managed through **SCons** and " -"will be configured later. However, it's worth deselecting the **Create " -"\"Release\" configuration** option; so only a single build target is created " -"before clicking **Finish**." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/code_blocks.rst:44 -msgid "Configuring the build" -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/code_blocks.rst:46 -msgid "" -"The first step is to change the project properties. Right-click on the new " -"project and select **Properties...**." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/code_blocks.rst:52 -msgid "" -"Check the **This is a custom Makefile** property. Click OK to save the " -"changes." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/code_blocks.rst:58 -msgid "" -"The next step is to change the build options. Right-click on the new project " -"and select **Build Options...**." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/code_blocks.rst:64 -msgid "" -"Select the **\"Make\" commands** tab and remove all the existing commands " -"for all the build targets. For each build target enter the **SCons** command " -"for creating the desired build in the **Build project/target** field. The " -"minimum is ``scons``. For details on the **SCons** build options, see :ref:" -"`doc_introduction_to_the_buildsystem`. It's also useful to add the ``scons --" -"clean`` command in the **Clean project/target** field to the project's " -"default commands." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/code_blocks.rst:66 -msgid "" -"If you're using Windows, all the commands need to be preceded with ``cmd /" -"c`` to initialize the command interpreter." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/code_blocks.rst:76 -msgid "Windows example:" -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/code_blocks.rst:82 -msgid "" -"Code::Blocks should now be configured to build Godot; so either select " -"**Build > Build**, click the gear button, or press :kbd:`Ctrl + F9`." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/code_blocks.rst:85 -msgid "Configuring the run" -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/code_blocks.rst:87 -msgid "" -"Once **SCons** has successfully built the desired target, reopen the project " -"**Properties...** and select the **Build targets** tab. In the **Output " -"filename** field, browse to the ``bin`` folder and select the compiled file." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/code_blocks.rst:89 -msgid "" -"Deselect the **Auto-generate filename prefix** and **Auto-generate filename " -"extension** options." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/code_blocks.rst:95 -msgid "" -"Code::Blocks should now be configured to run your compiled Godot executable; " -"so either select **Build > Run**, click the green arrow button, or press :" -"kbd:`Ctrl + F10`." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/code_blocks.rst:97 -msgid "" -"There are two additional points worth noting. First, if required, the " -"**Execution working dir** field can be used to test specific projects, by " -"setting it to the folder containing the ``project.godot`` file. Second, the " -"**Build targets** tab can be used to add and remove build targets for " -"working with and creating different builds." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/code_blocks.rst:100 -msgid "Adding files to the project" -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/code_blocks.rst:102 -msgid "" -"To add all the Godot code files to the project, right-click on the new " -"project and select **Add files recursively...**." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/code_blocks.rst:108 -msgid "" -"It should automatically select the project folder; so simply click **Open**. " -"By default, all code files are included, so simply click **OK**." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/code_blocks.rst:115 -#: ../../docs/contributing/development/configuring_an_ide/qt_creator.rst:92 -msgid "Code style configuration" -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/code_blocks.rst:117 -msgid "" -"Before editing any files, remember that all code needs to comply with the :" -"ref:`doc_code_style_guidelines`. One important difference with Godot is the " -"use of tabs for indents. Therefore, the key default editor setting that " -"needs to be changed in Code::Blocks is to enable tabs for indents. This " -"setting can be found by selecting **Settings > Editor**." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/code_blocks.rst:123 -msgid "" -"Under **General Settings**, on the **Editor Settings** tab, under **Tab " -"Options** check **Use TAB character**." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/code_blocks.rst:129 -msgid "" -"That's it. You're ready to start contributing to Godot using the Code::" -"Blocks IDE. Remember to save the project file and the **Workspace**. If you " -"run into any issues, ask for help in one of `Godot's community channels " -"`__." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/kdevelop.rst:4 -msgid "KDevelop" -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/kdevelop.rst:6 -msgid "" -"`KDevelop `_ is a free, open source IDE for all " -"desktop platforms." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/kdevelop.rst:11 -msgid "From the KDevelop's main screen select **Open Project**." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/kdevelop.rst:17 -msgid "KDevelop's main screen." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/kdevelop.rst:19 -msgid "Navigate to the Godot root folder and select it." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/kdevelop.rst:20 -msgid "" -"On the next screen, choose **Custom Build System** for the **Project " -"Manager**." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/kdevelop.rst:26 -msgid "" -"After the project has been imported, open the project configuration by right-" -"clicking on it in the **Projects** panel and selecting **Open Configuration.." -"** option." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/kdevelop.rst:33 -msgid "" -"Under **Language Support** open the **Includes/Imports** tab and add the " -"following paths:" -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/kdevelop.rst:49 -msgid "Apply the changes." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/kdevelop.rst:50 -msgid "" -"Under **Custom Build System** add a new build configuration with the " -"following settings:" -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/kdevelop.rst:53 -msgid "Build Directory" -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/kdevelop.rst:53 -msgid "*blank*" -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/kdevelop.rst:55 -msgid "Enable" -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/kdevelop.rst:55 -msgid "**True**" -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/kdevelop.rst:57 -msgid "Executable" -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/kdevelop.rst:57 -#: ../../docs/contributing/development/configuring_an_ide/qt_creator.rst:59 -msgid "**scons**" -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/kdevelop.rst:59 -#: ../../docs/contributing/development/configuring_an_ide/qt_creator.rst:61 -#: ../../docs/contributing/development/configuring_an_ide/xcode.rst:33 -msgid "" -"See :ref:`doc_introduction_to_the_buildsystem` for a full list of arguments." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/kdevelop.rst:66 -msgid "Apply the changes and close the configuration window." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/kdevelop.rst:69 -#: ../../docs/contributing/development/configuring_an_ide/qt_creator.rst:73 -#: ../../docs/contributing/development/configuring_an_ide/visual_studio.rst:32 -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:62 -#: ../../docs/contributing/development/configuring_an_ide/xcode.rst:71 -msgid "Debugging the project" -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/kdevelop.rst:71 -msgid "Select **Run > Configure Launches...** from the top menu." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/kdevelop.rst:77 -msgid "Click **Add** to create a new launch configuration." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/kdevelop.rst:78 -msgid "" -"Select **Executable** option and specify the path to your executable located " -"in the ``/bin`` folder. The name depends on your build " -"configuration, e.g. ``godot.linuxbsd.editor.dev.x86_64`` for 64-bit LinuxBSD " -"platform with ``platform=editor`` and ``dev_build=yes``." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/kdevelop.rst:87 -#: ../../docs/contributing/development/configuring_an_ide/qt_creator.rst:111 -#: ../../docs/contributing/development/configuring_an_ide/visual_studio.rst:69 -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:159 -#: ../../docs/contributing/development/configuring_an_ide/xcode.rst:108 -msgid "" -"If you run into any issues, ask for help in one of `Godot's community " -"channels `__." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/qt_creator.rst:4 -msgid "Qt Creator" -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/qt_creator.rst:6 -msgid "" -"`Qt Creator `_ is a free, open " -"source IDE for all desktop platforms." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/qt_creator.rst:11 -msgid "" -"From the Qt Creator's main screen select **New Project > Import Project > " -"Import Existing Project**." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/qt_creator.rst:17 -msgid "Under **Location** select the Godot root folder." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/qt_creator.rst:23 -msgid "" -"Next, you can choose which folders and files will be visible to the project. " -"While C/C++ files are added automatically, other extensions can be " -"potentially useful: ``*.glsl`` for shader files, ``*.py`` for buildsystem " -"files, ``*.java`` for Android platform development, ``*.mm`` for macOS " -"platform development." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/qt_creator.rst:32 -msgid "" -"You can change this configuration later by right-clicking on your project " -"and selecting the **Edit Files...** option." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/qt_creator.rst:40 -msgid "Finish the import." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/qt_creator.rst:41 -msgid "" -"Open the ``project_name.includes`` file and add a line containing ``.`` to " -"it to correctly enable the code completion." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/qt_creator.rst:48 -msgid "From the left-side menu select **Projects** and open the **Build** tab." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/qt_creator.rst:49 -msgid "Delete the predefined ``make`` build step." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/qt_creator.rst:55 -msgid "" -"Click **Add Build Step > Custom Process Step** to add a new build step with " -"the following settings:" -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/qt_creator.rst:68 -msgid "" -"If the build fails with ``Could not start process \"scons\"``, it can mean " -"that ``scons`` is not in your ``PATH`` environment variable. In this case, " -"you'll have to specify the full path to the SCons binary." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/qt_creator.rst:75 -msgid "From the left-side menu select **Projects** and open the **Run** tab." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/qt_creator.rst:76 -msgid "" -"Under **Executable** specify the path to your executable located in the " -"``/bin`` folder. The name depends on your build " -"configuration, e.g. ``godot.linuxbsd.editor.dev.x86_64`` for 64-bit LinuxBSD " -"platform with ``platform=editor`` and ``dev_build=yes``. You can use " -"``%{buildDir}`` to reference the project root, e.g: ``%{buildDir}/bin/godot." -"linuxbsd.editor.dev.x86_64``." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/qt_creator.rst:81 -msgid "" -"If you want to run a specific project, specify its root folder under " -"**Working directory**." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/qt_creator.rst:82 -msgid "" -"If you want to run the editor, add ``-e`` to the **Command line arguments** " -"field." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/qt_creator.rst:88 -#: ../../docs/contributing/development/configuring_an_ide/visual_studio.rst:57 -msgid "" -"To learn more about command line arguments, refer to the :ref:`command line " -"tutorial `." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/qt_creator.rst:94 -msgid "" -"Developers must follow the project's :ref:`code style " -"` and the IDE should help them follow it. By " -"default, Qt Creator uses spaces for indentation which doesn't match the " -"Godot code style guidelines. You can change this behavior by changing the " -"**Code Style** in **Tools > Options > C++**." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/qt_creator.rst:103 -msgid "" -"Click on **Edit** to change the current settings, then click on **Copy Built-" -"in Code Style** button to set a new code style. Set a name for it (e.g. " -"Godot) and change the Tab policy to be **Tabs Only**." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/rider.rst:4 -msgid "Rider" -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/rider.rst:6 -msgid "" -"`Rider `_ is a commercial `JetBrains " -"`_ IDE for C# and C++ that uses the same " -"solution system as Visual Studio." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/rider.rst:12 -msgid "" -"If you already use Visual Studio as your main IDE, you can use the same " -"solution file in Rider. Rider and Visual Studio use the same solution " -"format, so you can switch between the two IDEs without rebuilding the " -"solution file. Debug configurations need to be changed when going from one " -"IDE to another." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/rider.rst:16 -msgid "" -"Rider requires a solution file to work on a project. While Godot does not " -"come with the solution file, it can be generated using SCons." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/rider.rst:19 -#: ../../docs/contributing/development/configuring_an_ide/visual_studio.rst:17 -msgid "" -"Navigate to the Godot root folder and open a Command Prompt or PowerShell " -"window." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/rider.rst:20 -msgid "Copy, paste and run the next command to generate the solution." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/rider.rst:26 -msgid "" -"The ``vsproj`` parameter signals that you want Visual Studio solution " -"generated. The ``dev_build`` parameter makes sure the debug symbols are " -"included, allowing to e.g. step through code using breakpoints." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/rider.rst:29 -msgid "" -"If you have Rider setup as your main IDE for .sln, you can now open the " -"project by double-clicking on the ``godot.sln`` in the project root or by " -"using the **Open** option inside of Rider." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/rider.rst:32 -msgid "" -"Rider could fail to build the first time you open the project. If that is " -"the case, you can close Rider and open the solution in Visual Studio, build " -"it, close Visual Studio, and open the solution in Rider again. You are now " -"able to build the project from Rider." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/rider.rst:38 -msgid "" -"Rider comes with a built-in debugger that can be used to debug the Godot " -"project. You can launch the debugger by pressing the **Debug** icon at the " -"top of the screen, this only works for the Project manager, if you want to " -"debug the editor, you need to configure the debugger first." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/rider.rst:45 -msgid "" -"Click on the **Godot > Edit Configurations** option at the top of the screen." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/rider.rst:50 -msgid "" -"Delete what is under **Program arguments** and paste the following line:" -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/rider.rst:56 -msgid "" -"This will tell the executable to debug the specified project without using " -"the project manager. Use the root path to the project folder, not ``project." -"godot`` file path." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/rider.rst:62 -msgid "Finally click on apply and ok to save the changes." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/rider.rst:64 -msgid "" -"You can now launch the debugger by pressing the **Debug** icon at the top of " -"the screen and it will open the project to debug." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/rider.rst:66 -msgid "" -"Alternatively you can use **Run > Attach to Process** to attach the debugger " -"to a running Godot instance." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/visual_studio.rst:4 -msgid "Visual Studio" -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/visual_studio.rst:6 -msgid "" -"`Visual Studio Community `__ is a " -"Windows-only IDE by `Microsoft `_ that's free for " -"individual use or non-commercial use within organizations. It has many " -"useful features, such as memory view, performance view, source control and " -"more." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/visual_studio.rst:14 -msgid "" -"Visual Studio requires a solution file to work on a project. While Godot " -"does not come with the solution file, it can be generated using SCons." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/visual_studio.rst:0 -msgid "" -"Run ``scons platform=windows vsproj=yes dev_build=yes`` to generate the " -"solution with debug symbols." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/visual_studio.rst:0 -msgid "" -"The ``vsproj`` parameter signals that you want Visual Studio solution " -"generated." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/visual_studio.rst:0 -msgid "" -"The ``dev_build`` parameter makes sure the debug symbols are included, " -"allowing to e.g. step through code using breakpoints." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/visual_studio.rst:21 -msgid "" -"You can now open the project by double-clicking on the ``godot.sln`` in the " -"project root or by using the **Open a project or solution** option inside of " -"the Visual Studio." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/visual_studio.rst:23 -msgid "Use the **Build** top menu to build the project." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/visual_studio.rst:25 -msgid "" -"Visual Studio must be configured with the C++ package. It can be selected in " -"the installer:" -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/visual_studio.rst:34 -msgid "" -"Visual Studio features a powerful debugger. This allows the user to examine " -"Godot's source code, stop at specific points in the code, inspect the " -"current execution context, and make live changes to the codebase." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/visual_studio.rst:38 -msgid "" -"You can launch the project with the debugger attached using the **Debug > " -"Start Debugging** option from the top menu. However, unless you want to " -"debug the Project Manager specifically, you'd need to configure debugging " -"options first. This is due to the fact that when the Godot Project Manager " -"opens a project, the initial process is terminated and the debugger gets " -"detached." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/visual_studio.rst:43 -msgid "" -"To configure the launch options to use with the debugger use **Project > " -"Properties** from the top menu:" -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/visual_studio.rst:49 -msgid "" -"Open the **Debugging** section and under **Command Arguments** add two new " -"arguments: the ``-e`` flag opens the editor instead of the Project Manager, " -"and the ``--path`` argument tells the executable to open the specified " -"project (must be provided as an *absolute* path to the project root, not the " -"``project.godot`` file; if the path contains spaces be sure to pass it " -"inside double quotation marks)." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/visual_studio.rst:60 -msgid "" -"Even if you start the project without a debugger attached it can still be " -"connected to the running process using **Debug > Attach to Process...** menu." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/visual_studio.rst:63 -msgid "" -"To check that everything is working, put a breakpoint in ``main.cpp`` and " -"press :kbd:`F5` to start debugging." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:6 -msgid "" -"`Visual Studio Code `_ is a free cross-" -"platform code editor by `Microsoft `_ (not to be " -"confused with :ref:`doc_configuring_an_ide_vs`)." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:12 -msgid "" -"Make sure the C/C++ extension is installed. You can find instructions in the " -"`official documentation `_. Alternatively, `clangd `_ can be used instead." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:16 -msgid "When using the clangd extension, run ``scons compiledb=yes``." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:17 -msgid "" -"From the Visual Studio Code's main screen open the Godot root folder with " -"**File > Open Folder...**." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:19 -msgid "" -"Press :kbd:`Ctrl + Shift + P` to open the command prompt window and enter " -"*Configure Task*." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:24 -msgid "Select the **Create tasks.json file from template** option." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:29 -msgid "Then select **Others**." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:34 -msgid "" -"If there is no such option as **Create tasks.json file from template** " -"available, either delete the file if it already exists in your folder or " -"create a ``.vscode/tasks.json`` file manually. See `Tasks in Visual Studio " -"Code `_ for " -"more details on tasks." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:36 -msgid "" -"Within the ``tasks.json`` file find the ``\"tasks\"`` array and add a new " -"section to it:" -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:56 -msgid "An example of a filled out ``tasks.json``." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:58 -msgid "" -"Arguments can be different based on your own setup and needs. See :ref:" -"`doc_introduction_to_the_buildsystem` for a full list of arguments." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:64 -msgid "" -"To run and debug the project you need to create a new configuration in the " -"``launch.json`` file." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:66 -msgid "Press :kbd:`Ctrl + Shift + D` to open the Run panel." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:67 -msgid "" -"If ``launch.json`` file is missing you will be prompted to create a new one." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:72 -msgid "" -"Select **C++ (GDB/LLDB)**. There may be another platform specific option " -"here. If selected, adjust the configuration example provided accordingly." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:74 -msgid "" -"Within the ``launch.json`` file find the ``\"configurations\"`` array and " -"add a new section to it:" -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:142 -msgid "An example of a filled out ``launch.json``." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:147 -msgid "" -"Due to sporadic performance issues, it is recommended to use LLDB over GDB " -"on Unix-based systems. Make sure that the `CodeLLDB extension `_ is " -"installed." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:151 -msgid "" -"If you encounter issues with lldb, you may consider using gdb (see the " -"LinuxBSD_gdb configuration)." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:153 -msgid "" -"Do note that lldb may work better with LLVM-based builds. See :ref:" -"`doc_compiling_for_linuxbsd` for further information." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:155 -msgid "" -"The name under ``program`` depends on your build configuration, e.g. ``godot." -"linuxbsd.editor.dev.x86_64`` for 64-bit LinuxBSD platform with " -"``platform=editor`` and ``dev_build=yes``." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/visual_studio_code.rst:164 -msgid "" -"To get linting on class reference XML files, install the `vscode-xml " -"extension `__." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/xcode.rst:4 -msgid "Xcode" -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/xcode.rst:6 -msgid "" -"`Xcode `_ is a free macOS-only IDE. You " -"can download it from the Mac App Store." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/xcode.rst:12 -msgid "" -"From Xcode's main screen create a new project using the **Other > External " -"Build System** template." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/xcode.rst:18 -msgid "" -"Now choose a name for your project and set the path to scons executable in " -"build tool (to find the path you can type ``where scons`` in a terminal)." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/xcode.rst:24 -msgid "" -"Open the main target from the **Targets** section and select the **Info** " -"tab." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/xcode.rst:30 -msgid "Fill out the form with the following settings:" -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/xcode.rst:35 -msgid "Directory" -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/xcode.rst:35 -msgid "A full path to the Godot root folder" -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/xcode.rst:38 -msgid "" -"Add a Command Line Tool target which will be used for indexing the project " -"by choosing **File > New > Target...**." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/xcode.rst:45 -msgid "Select **macOS > Application > Command Line Tool**." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/xcode.rst:51 -msgid "" -"Name it something so you know not to compile with this target (e.g. " -"``GodotXcodeIndex``)." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/xcode.rst:53 -msgid "" -"For this target open the **Build Settings** tab and look for **Header Search " -"Paths**." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/xcode.rst:54 -msgid "" -"Set **Header Search Paths** to the absolute path to the Godot root folder. " -"You need to include subdirectories as well. To achieve that, add two two " -"asterisks (``**``) to the end of the path, e.g. ``/Users/me/repos/godot-" -"source/**``." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/xcode.rst:58 -msgid "" -"Add the Godot source to the project by dragging and dropping it into the " -"project file browser." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/xcode.rst:59 -msgid "" -"Select **Create groups** for the **Added folders** option and check *only* " -"your command line indexing target in the **Add to targets** section." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/xcode.rst:66 -msgid "Xcode will now index the files. This may take a few minutes." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/xcode.rst:67 -msgid "" -"Once Xcode is done indexing, you should have jump-to-definition, " -"autocompletion, and full syntax highlighting." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/xcode.rst:73 -msgid "" -"To enable debugging support you need to edit the external build target's " -"build and run schemes." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/xcode.rst:75 -msgid "Open the scheme editor of the external build target." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/xcode.rst:76 -msgid "Locate the **Build > Post Actions** section." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/xcode.rst:77 -msgid "Add a new script run action" -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/xcode.rst:78 -msgid "" -"Under **Provide build settings from** select your project. This allows to " -"reference the project directory within the script." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/xcode.rst:80 -msgid "" -"Create a script that will give the binary a name that Xcode can recognize, e." -"g.:" -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/xcode.rst:90 -msgid "Build the external build target." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/xcode.rst:92 -msgid "Open the scheme editor again and select **Run**." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/xcode.rst:98 -msgid "" -"Set the **Executable** to the file you linked in your post-build action " -"script." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/xcode.rst:99 -msgid "Check **Debug executable**." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/xcode.rst:100 -msgid "" -"You can add two arguments on the **Arguments** tab: the ``-e`` flag opens " -"the editor instead of the Project Manager, and the ``--path`` argument tells " -"the executable to open the specified project (must be provided as an " -"*absolute* path to the project root, not the ``project.godot`` file)." -msgstr "" - -#: ../../docs/contributing/development/configuring_an_ide/xcode.rst:105 -msgid "" -"To check that everything is working, put a breakpoint in ``platform/macos/" -"godot_main_macos.mm`` and run the project." -msgstr "" - #: ../../docs/contributing/development/core_and_modules/index.rst:2 msgid "Engine core and modules" msgstr "" @@ -126887,11 +131800,11 @@ msgstr "" #: ../../docs/contributing/development/core_and_modules/variant_class.rst:38 #: ../../docs/contributing/development/core_and_modules/variant_class.rst:57 #: ../../docs/contributing/development/core_and_modules/object_class.rst:36 -#: ../../docs/contributing/development/core_and_modules/object_class.rst:94 -#: ../../docs/contributing/development/core_and_modules/object_class.rst:266 -#: ../../docs/contributing/development/core_and_modules/object_class.rst:282 -#: ../../docs/contributing/development/core_and_modules/object_class.rst:303 -#: ../../docs/contributing/development/core_and_modules/object_class.rst:322 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:98 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:270 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:286 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:307 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:326 #: ../../docs/contributing/development/core_and_modules/custom_godot_servers.rst:471 #: ../../docs/contributing/development/core_and_modules/custom_audiostreams.rst:23 #: ../../docs/contributing/development/core_and_modules/custom_audiostreams.rst:117 @@ -127351,95 +132264,102 @@ msgid "" msgstr "" #: ../../docs/contributing/development/core_and_modules/object_class.rst:76 -msgid "Default values for arguments can be passed in reverse order:" +msgid "Default values for arguments can be passed as parameters at the end:" msgstr "" #: ../../docs/contributing/development/core_and_modules/object_class.rst:82 msgid "" +"Default values must be provided in the same order as they are declared, " +"skipping required arguments and then providing default values for the " +"optional ones. This matches the syntax for declaring methods in C++." +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/object_class.rst:86 +msgid "" "``D_METHOD`` is a macro that converts \"methodname\" to a StringName for " "more efficiency. Argument names are used for introspection, but when " "compiling on release, the macro ignores them, so the strings are unused and " "optimized away." msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:87 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:91 msgid "Check ``_bind_methods`` of Control or Object for more examples." msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:89 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:93 msgid "" "If just adding modules and functionality that is not expected to be " "documented as thoroughly, the ``D_METHOD()`` macro can safely be ignored and " "a string passing the name can be passed for brevity." msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:96 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:100 msgid "" "`core/object/class_db.h `__" msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:101 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:105 msgid "Classes often have enums such as:" msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:110 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:114 msgid "" "For these to work when binding to methods, the enum must be declared " "convertible to int. A macro is provided to help with this:" msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:117 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:121 msgid "The constants can also be bound inside ``_bind_methods``, by using:" msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:125 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:129 msgid "Properties (set/get)" msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:127 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:131 msgid "Objects export properties, properties are useful for the following:" msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:129 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:133 msgid "Serializing and deserializing the object." msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:130 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:134 msgid "Creating a list of editable values for the Object derived class." msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:132 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:136 msgid "" "Properties are usually defined by the PropertyInfo() class and constructed " "as:" msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:145 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:149 msgid "" "This is an integer property named \"amount\". The hint is a range, and the " "range goes from 0 to 49 in steps of 1 (integers). It is only usable for the " "editor (editing the value visually) but won't be serialized." msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:149 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:153 msgid "Another example:" msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:155 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:159 msgid "" "This is a string property, can take any string but the editor will only " "allow the defined hint ones. Since no usage flags were specified, the " "default ones are PROPERTY_USAGE_STORAGE and PROPERTY_USAGE_EDITOR." msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:159 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:163 msgid "" "There are plenty of hints and usage flags available in object.h, give them a " "check." msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:162 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:166 msgid "" "Properties can also work like C# properties and be accessed from script " "using indexing, but this usage is generally discouraged, as using functions " @@ -127448,49 +132368,49 @@ msgid "" "operator []." msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:168 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:172 msgid "" "From ``_bind_methods()``, properties can be created and bound as long as set/" "get functions exist. Example:" msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:175 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:179 msgid "This creates the property using the setter and the getter." msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:180 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:184 msgid "Binding properties using ``_set``/``_get``/``_get_property_list``" msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:182 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:186 msgid "" "An additional method of creating properties exists when more flexibility is " "desired (i.e. adding or removing properties on context)." msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:185 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:189 msgid "" "The following functions can be overridden in an Object derived class, they " "are NOT virtual, DO NOT make them virtual, they are called for every " "override and the previous ones are not invalidated (multilevel call)." msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:197 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:201 msgid "" "This is also a little less efficient since ``p_property`` must be compared " "against the desired names in serial order." msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:201 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:205 msgid "Dynamic casting" msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:203 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:207 msgid "" "Godot provides dynamic casting between Object-derived classes, for example:" msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:213 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:217 msgid "" "If cast fails, NULL is returned. This system uses RTTI, but it also works " "fine (although a bit slower) when RTTI is disabled. This is useful on " @@ -127498,25 +132418,25 @@ msgid "" "(with low memory footprint)." msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:221 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:225 msgid "" "Objects can have a set of signals defined (similar to Delegates in other " "languages). This example shows how to connect to them:" msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:230 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:234 msgid "" "The method ``_node_entered_tree`` must be registered to the class using " "``ClassDB::bind_method`` (explained before)." msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:233 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:237 msgid "" "Adding signals to a class is done in ``_bind_methods``, using the " "``ADD_SIGNAL`` macro, for example:" msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:243 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:247 msgid "" "All objects in Godot have a :ref:`_notification " "` method that allows it to " @@ -127524,7 +132444,7 @@ msgid "" "can be found on the :ref:`doc_godot_notifications` page." msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:248 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:252 #: ../../docs/contributing/development/core_and_modules/custom_godot_servers.rst:19 #: ../../docs/contributing/development/core_and_modules/custom_godot_servers.rst:312 #: ../../docs/contributing/development/core_and_modules/custom_resource_format_loaders.rst:18 @@ -127535,26 +132455,26 @@ msgstr "" msgid "References" msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:250 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:254 msgid "" ":ref:`RefCounted ` inherits from Object and holds a " "reference count. It is the base for reference counted object types. " "Declaring them must be done using Ref<> template. For example:" msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:262 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:266 msgid "" "``myref`` is reference counted. It will be freed when no more Ref<> " "templates point to it." msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:268 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:272 msgid "" "`core/object/reference.h `__" msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:273 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:277 msgid "" ":ref:`Resource ` inherits from Reference, so all resources " "are reference counted. Resources can optionally contain a path, which " @@ -127564,50 +132484,50 @@ msgid "" "error." msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:279 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:283 msgid "Resources without a path are fine too." msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:284 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:288 msgid "" "`core/io/resource.h `__" msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:287 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:291 msgid "Resource loading" msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:289 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:293 msgid "Resources can be loaded with the ResourceLoader API, like this:" msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:295 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:299 msgid "" "If a reference to that resource has been loaded previously and is in memory, " "the resource loader will return that reference. This means that there can be " "only one resource loaded from a file referenced on disk at the same time." msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:300 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:304 msgid "resourceinteractiveloader (TODO)" msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:305 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:309 msgid "" "`core/io/resource_loader.h `__" msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:308 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:312 msgid "Resource saving" msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:310 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:314 msgid "Saving a resource can be done with the resource saver API:" msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:316 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:320 msgid "" "The instance will be saved, and sub resources that have a path to a file " "will be saved as a reference to that resource. Sub resources without a path " @@ -127615,7 +132535,7 @@ msgid "" "someresource.res::1``. This also helps to cache them when loaded." msgstr "" -#: ../../docs/contributing/development/core_and_modules/object_class.rst:324 +#: ../../docs/contributing/development/core_and_modules/object_class.rst:328 msgid "" "`core/io/resource_saver.h `__" @@ -127905,27 +132825,37 @@ msgstr "" #: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:180 msgid "" "`drivers/vulkan/vulkan_context.cpp `__" +"blob/4.2/drivers/vulkan/vulkan_context.cpp>`__" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:183 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:182 +msgid "**Direct3D 12 context creation:**" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:184 +msgid "" +"`drivers/d3d12/d3d12_context.cpp `__" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:187 msgid "Direct3D 12" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:185 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:189 msgid "" "Like Vulkan, the Direct3D 12 driver targets modern platforms only. It is " "designed to target both Windows and Xbox (whereas Vulkan can't be used " "directly on Xbox)." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:188 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:192 msgid "" "Both the Forward+ and Mobile :ref:" "`doc_internal_rendering_architecture_methods` can be used with Direct3D 12." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:191 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:195 msgid "" ":ref:`doc_internal_rendering_architecture_core_shaders` are shared with the " "Vulkan renderer. Shaders are transpiled from GLSL to HLSL using Mesa NIR " @@ -127935,21 +132865,21 @@ msgid "" "to ease debugging." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:197 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:201 msgid "" -"**As of May 2023, this driver is still in development and is not merged in " -"Godot 4.0 or the master branch.** While Direct3D 12 allows supporting " -"Direct3D-exclusive features on Windows 11 such as windowed optimizations and " -"Auto HDR, Vulkan is still recommended for most projects. See the `pull " -"request that introduced Direct3D 12 support `__ for more information." +"**This driver is still experimental and only available in Godot 4.3 and " +"later.** While Direct3D 12 allows supporting Direct3D-exclusive features on " +"Windows 11 such as windowed optimizations and Auto HDR, Vulkan is still " +"recommended for most projects. See the `pull request that introduced " +"Direct3D 12 support `__ for " +"more information." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:205 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:208 msgid "Metal" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:207 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:210 msgid "" "Godot supports Metal rendering via `MoltenVK `__, as macOS and iOS do not support Vulkan natively. " @@ -127957,7 +132887,7 @@ msgid "" "Settings." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:211 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:214 msgid "" "MoltenVK makes driver maintenance easy at the cost of some performance " "overhead. Also, MoltenVK has several limitations that a native Metal driver " @@ -127966,17 +132896,17 @@ msgid "" "backend via MoltenVK." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:217 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:220 msgid "" "A native Metal driver is planned in the future for better performance and " "compatibility." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:221 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:224 msgid "OpenGL" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:223 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:226 msgid "" "This driver uses OpenGL ES 3.0 and targets legacy and low-end devices that " "don't support Vulkan. OpenGL 3.3 Core Profile is used on desktop platforms " @@ -127984,84 +132914,84 @@ msgid "" "ES. WebGL 2.0 is used for web exports." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:228 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:231 msgid "" "Only the :ref:`doc_internal_rendering_architecture_compatibility` rendering " "method can be used with the OpenGL driver." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:231 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:234 msgid "" ":ref:`doc_internal_rendering_architecture_core_shaders` are entirely " "different from the Vulkan renderer." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:234 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:237 msgid "" "**As of May 2023, this driver is still in development.** Many features are " "still not implemented, especially in 3D." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:238 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:241 msgid "Summary of rendering drivers/methods" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:240 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:243 msgid "" "The following rendering API + rendering method combinations are currently " "possible:" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:242 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:245 msgid "Vulkan + Forward+" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:243 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:246 msgid "Vulkan + Forward Mobile" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:244 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:247 msgid "Direct3D 12 + Forward+" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:245 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:248 msgid "Direct3D 12 + Forward Mobile" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:246 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:249 msgid "Metal + Forward+ (via MoltenVK)" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:247 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:250 msgid "Metal + Forward Mobile (via MoltenVK)" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:248 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:251 msgid "OpenGL + Compatibility" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:250 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:253 msgid "" "Each combination has its own limitations and performance characteristics. " "Make sure to test your changes on all rendering methods if possible before " "opening a pull request." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:255 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:258 msgid "RenderingDevice abstraction" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:259 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:262 msgid "The OpenGL driver does not use the RenderingDevice abstraction." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:261 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:264 msgid "" "To make the complexity of modern low-level graphics APIs more manageable, " "Godot uses its own abstraction called RenderingDevice." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:264 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:267 msgid "" "This means that when writing code for modern rendering methods, you don't " "actually use the Vulkan or Direct3D 12 APIs directly. While this is still " @@ -128071,52 +133001,64 @@ msgid "" "WebGPU." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:270 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:273 msgid "**Vulkan RenderingDevice implementation:**" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:272 -msgid "" -"`drivers/vulkan/rendering_device_vulkan.cpp `__" -msgstr "" - #: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:275 -msgid "Core rendering classes architecture" +msgid "" +"`drivers/vulkan/rendering_device_driver_vulkan.cpp `__" msgstr "" #: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:277 +msgid "**Direct3D 12 RenderingDevice implementation:**" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:279 +msgid "" +"`drivers/d3d12/rendering_device_driver_d3d12.cpp `__" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:282 +msgid "Core rendering classes architecture" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:284 msgid "" "This diagram represents the structure of rendering classes in Godot, " "including the RenderingDevice abstraction:" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:281 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:288 msgid "" -"`View at full size `__" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:286 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:293 msgid "Core shaders" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:288 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:295 msgid "" "While shaders in Godot projects are written using a :ref:`custom language " "inspired by GLSL `, core shaders are written directly " "in GLSL." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:292 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:299 msgid "" "These core shaders are embedded in the editor and export template binaries " "at compile-time. To see any changes you've made to those GLSL shaders, you " "need to recompile the editor or export template binary." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:296 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:303 msgid "" "Some material features such as height mapping, refraction and proximity fade " "are not part of core shaders, and are performed in the default " @@ -128125,14 +133067,14 @@ msgid "" "features enabled in the material." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:302 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:309 msgid "" "By convention, shader files with ``_inc`` in their name are included in " "other GLSL files for better code reuse. Standard GLSL preprocessing is used " "to achieve this." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:308 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:315 msgid "" "Core material shaders will be used by every material in the scene – both " "with the default BaseMaterial3D and custom shaders. As a result, these " @@ -128140,7 +133082,7 @@ msgid "" "ensure shader compilation doesn't become too slow." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:313 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:320 msgid "" "If you use ``if`` branching in a shader, performance may decrease as :abbr:" "`VGPR (Vector General-Purpose Register)` usage will increase in the shader. " @@ -128148,7 +133090,7 @@ msgid "" "frame." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:318 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:325 msgid "" "If you use ``#if`` preprocessor branching, the number of required shader " "versions will increase in the scene. In a worst-case scenario, adding a " @@ -128158,7 +133100,7 @@ msgid "" "alternative." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:325 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:332 msgid "" "This means there is a high barrier to adding new built-in material features " "in Godot, both in the core shaders and BaseMaterial3D. While BaseMaterial3D " @@ -128168,7 +133110,7 @@ msgid "" "stutter more noticeable in complex 3D scenes." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:332 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:339 msgid "" "See `The Shader Permutation Problem `__ and `Branching on a GPU `__" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:341 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:348 msgid "" "Forward Mobile: `servers/rendering/renderer_rd/shaders/forward_mobile/" -"scene_forward_mobile.glsl `__" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:342 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:349 msgid "" "Compatibility: `drivers/gles3/shaders/scene.glsl `__" -msgstr "" - -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:344 -msgid "**Material shader generation:**" -msgstr "" - -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:346 -msgid "" -"`scene/resources/material.cpp `__" -msgstr "" - -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:348 -msgid "" -"**Other GLSL shaders for Forward+ and Forward Mobile rendering methods:**" -msgstr "" - -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:350 -msgid "" -"`servers/rendering/renderer_rd/shaders/ `__" +"godotengine/godot/blob/4.2/drivers/gles3/shaders/scene.glsl>`__" msgstr "" #: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:351 -msgid "" -"`modules/lightmapper_rd/ `__" +msgid "**Material shader generation:**" msgstr "" #: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:353 -msgid "**Other GLSL shaders for the Compatibility rendering method:**" +msgid "" +"`scene/resources/material.cpp `__" msgstr "" #: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:355 msgid "" -"`drivers/gles3/shaders/ `__" +"**Other GLSL shaders for Forward+ and Forward Mobile rendering methods:**" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:357 +msgid "" +"`servers/rendering/renderer_rd/shaders/ `__" msgstr "" #: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:358 -msgid "2D and 3D rendering separation" +msgid "" +"`modules/lightmapper_rd/ `__" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:360 +msgid "**Other GLSL shaders for the Compatibility rendering method:**" msgstr "" #: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:362 msgid "" +"`drivers/gles3/shaders/ `__" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:365 +msgid "2D and 3D rendering separation" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:369 +msgid "" "The following is only applicable in the Forward+ and Forward Mobile " "rendering methods, not in Compatibility. Multiple Viewports can be used to " "emulate this when using the Compatibility backend, or to perform 2D " "resolution scaling." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:367 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:374 msgid "" "2D and 3D are rendered to separate buffers, as 2D rendering in Godot is " "performed in :abbr:`LDR (Low Dynamic Range)` sRGB-space while 3D rendering " "uses :abbr:`HDR (High Dynamic Range)` linear space." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:371 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:378 msgid "" "The color format used for 2D rendering is RGB8 (RGBA8 if the **Transparent** " "property on the Viewport is enabled). 3D rendering uses a 24-bit unsigned " @@ -128267,7 +133209,7 @@ msgid "" "depth buffer." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:377 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:384 msgid "" "3D resolution scaling is performed differently depending on whether bilinear " "or FSR 1.0 scaling is used. When bilinear scaling is used, no special " @@ -128277,52 +133219,68 @@ msgid "" "scaling." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:383 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:390 msgid "" "The ``configure()`` function in RenderSceneBuffersRD reallocates the 2D/3D " "buffers when the resolution or scaling changes." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:386 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:393 msgid "" "Dynamic resolution scaling isn't supported yet, but is planned in a future " "Godot release." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:389 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:396 msgid "**2D and 3D rendering buffer configuration C++ code:**" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:391 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:398 msgid "" "`servers/rendering/renderer_rd/storage_rd/render_scene_buffers_rd.cpp " -"`__" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:394 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:400 +msgid "**FSR 1.0:**" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:402 +msgid "" +"`servers/rendering/renderer_rd/effects/fsr.cpp `__" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:403 +msgid "" +"`thirdparty/amd-fsr/ `__" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:406 msgid "2D rendering techniques" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:396 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:408 msgid "" "2D light rendering is performed in a single pass to allow for better " "performance with large amounts of lights." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:399 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:411 msgid "" "The Forward+ and Mobile rendering methods don't feature 2D batching yet, but " "it's planned for a future release." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:402 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:414 msgid "" "The Compatibility backend features 2D batching to improve performance, which " "is especially noticeable with lots of text on screen." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:405 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:417 msgid "" "MSAA can be enabled in 2D to provide \"automatic\" line and polygon " "antialiasing, but FXAA does not affect 2D rendering as it's calculated " @@ -128332,7 +133290,7 @@ msgid "" "MSAA to work." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:411 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:423 msgid "" "A 2D signed distance field representing LightOccluder2D nodes in the " "viewport is automatically generated if an user shader requests it. This can " @@ -128340,43 +133298,43 @@ msgid "" "illumination. It is also used to calculate particle collisions in 2D." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:416 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:428 msgid "**2D SDF generation GLSL shader:**" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:418 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:430 msgid "" -"`https://github.com/godotengine/godot/blob/4.0/servers/rendering/renderer_rd/" -"shaders/canvas_sdf.glsl `__" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:421 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:433 msgid "3D rendering techniques" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:424 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:436 msgid "Batching and instancing" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:426 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:438 msgid "" "In the Forward+ backend, Vulkan instancing is used to group rendering of " "identical objects for performance. This is not as fast as static mesh " "merging, but it still allows instances to be culled individually." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:431 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:443 msgid "Light, decal and reflection probe rendering" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:435 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:447 msgid "" "Reflection probe and decal rendering are currently not available in the " "Compatibility backend." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:438 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:450 msgid "" "As its name implies, the Forward+ backend uses clustered lighting. This " "allows using as many lights as you want; performance largely depends on " @@ -128384,14 +133342,14 @@ msgid "" "much space on screen." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:443 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:455 msgid "" "All rendering methods also support rendering up to 8 directional lights at " "the same time (albeit with lower shadow quality when more than one light has " "shadows enabled)." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:447 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:459 msgid "" "The Forward Mobile backend uses a single-pass lighting approach, with a " "limitation of 8 OmniLights + 8 SpotLights affecting each Mesh *resource* " @@ -128399,7 +133357,7 @@ msgid "" "These limits are hardcoded and can't be adjusted in the project settings." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:452 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:464 msgid "" "The Compatibility backend uses a hybrid single-pass + multi-pass lighting " "approach. Lights without shadows are rendered in a single pass. Lights with " @@ -128412,7 +133370,7 @@ msgid "" "adjusted in the project settings." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:462 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:474 msgid "" "In all 3 methods, lights without shadows are much cheaper than lights with " "shadows. To improve performance, lights are only updated when the light is " @@ -128421,13 +133379,13 @@ msgid "" "planned in a future release." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:468 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:480 msgid "" "Clustering is also used for reflection probes and decal rendering in the " "Forward+ backend." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:474 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:486 msgid "" "Both Forward+ and Forward Mobile methods use :abbr:`PCF (Percentage Closer " "Filtering)` to filter shadow maps and create a soft penumbra. Instead of " @@ -128435,7 +133393,7 @@ msgid "" "allows for changing the number of samples and smoothly changing the quality." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:480 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:492 msgid "" "Godot also supports percentage-closer soft shadows (PCSS) for more realistic " "shadow penumbra rendering. PCSS shadows are limited to the Forward+ backend " @@ -128443,43 +133401,43 @@ msgid "" "also uses a vogel-disk shaped kernel." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:485 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:497 msgid "" "Additionally, both shadow-mapping techniques rotate the kernel on a per-" "pixel basis to help soften under-sampling artifacts." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:488 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:500 msgid "" "The Compatibility backend doesn't support shadow mapping for any light types " "yet." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:491 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:503 msgid "Temporal antialiasing" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:495 -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:603 -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:680 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:507 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:622 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:699 msgid "" "Only available in the Forward+ backend, not the Forward Mobile or " "Compatibility methods." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:498 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:510 msgid "" "Godot uses a custom TAA implementation based on the old TAA implementation " "from `Spartan Engine `__." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:501 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:513 msgid "" "Temporal antialiasing requires motion vectors to work. If motion vectors are " "not correctly generated, ghosting will occur when the camera or objects move." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:504 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:516 msgid "" "Motion vectors are generated on the GPU in the main material shader. This is " "done by running the vertex shader corresponding to the previous rendered " @@ -128488,30 +133446,55 @@ msgid "" "a color buffer." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:509 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:521 msgid "" -"Using `FSR 2.0 `__ " -"instead of a custom TAA implementation is planned in a future release." +"Alternatively, FSR 2.2 can be used as an upscaling solution that also " +"provides its own temporal antialiasing algorithm. FSR 2.2 is implemented on " +"top of the RenderingDevice abstraction as opposed to using AMD's reference " +"code directly." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:512 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:525 msgid "**TAA resolve:**" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:514 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:527 msgid "" "`servers/rendering/renderer_rd/shaders/effects/taa_resolve.glsl `__" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:521 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:529 +msgid "**FSR 2.2:**" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:531 +msgid "" +"`servers/rendering/renderer_rd/effects/fsr2.cpp `__" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:532 +msgid "" +"`servers/rendering/renderer_rd/shaders/effects/fsr2/ `__" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:533 +msgid "" +"`thirdparty/amd-fsr2/ `__" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:540 msgid "" "VoxelGI and SDFGI are only available in the Forward+ backend, not the " "Forward Mobile or Compatibility methods." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:524 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:543 msgid "" "LightmapGI *baking* is only available in the Forward+ and Forward Mobile " "methods, and can only be performed within the editor (not in an exported " @@ -128519,14 +133502,14 @@ msgid "" "Compatibility backend." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:529 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:548 msgid "" "Godot supports voxel-based GI (VoxelGI), signed distance field GI (SDFGI) " "and lightmap baking and rendering (LightmapGI). These techniques can be used " "simultaneously if desired." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:533 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:552 msgid "" "Lightmap baking happens on the GPU using Vulkan compute shaders. The GPU-" "based lightmapper is implemented in the LightmapperRD class, which inherits " @@ -128536,147 +133519,147 @@ msgid "" "Compatibility backend." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:539 -msgid "**Core GI C++ code:**" -msgstr "" - -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:541 -msgid "" -"`servers/rendering/renderer_rd/environment/gi.cpp `__" -msgstr "" - -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:542 -msgid "" -"`scene/3d/voxel_gi.cpp `__ - VoxelGI node" -msgstr "" - -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:543 -msgid "" -"`editor/plugins/voxel_gi_editor_plugin.cpp `__ - Editor UI for " -"the VoxelGI node" -msgstr "" - -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:545 -msgid "**Core GI GLSL shaders:**" -msgstr "" - -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:547 -msgid "" -"`servers/rendering/renderer_rd/shaders/environment/voxel_gi.glsl `__" -msgstr "" - -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:548 -msgid "" -"`servers/rendering/renderer_rd/shaders/environment/voxel_gi_debug.glsl " -"`__ - VoxelGI debug draw mode" -msgstr "" - -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:549 -msgid "" -"`servers/rendering/renderer_rd/shaders/environment/sdfgi_debug.glsl `__ - SDFGI Cascades debug draw mode" -msgstr "" - -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:550 -msgid "" -"`servers/rendering/renderer_rd/shaders/environment/sdfgi_debug_probes.glsl " -"`__ - SDFGI Probes debug draw " -"mode" -msgstr "" - -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:551 -msgid "" -"`servers/rendering/renderer_rd/shaders/environment/sdfgi_integrate.glsl " -"`__" -msgstr "" - -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:552 -msgid "" -"`servers/rendering/renderer_rd/shaders/environment/sdfgi_preprocess.glsl " -"`__" -msgstr "" - -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:553 -msgid "" -"`servers/rendering/renderer_rd/shaders/environment/sdfgi_direct_light.glsl " -"`__" -msgstr "" - -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:555 -msgid "**Lightmapper C++ code:**" -msgstr "" - -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:557 -msgid "" -"`scene/3d/lightmap_gi.cpp `__ - LightmapGI node" -msgstr "" - #: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:558 -msgid "" -"`editor/plugins/lightmap_gi_editor_plugin.cpp `__ " -"- Editor UI for the LightmapGI node" -msgstr "" - -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:559 -msgid "" -"`scene/3d/lightmapper.cpp `__ - Abstract class" +msgid "**Core GI C++ code:**" msgstr "" #: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:560 msgid "" -"`modules/lightmapper_rd/lightmapper_rd.cpp `__ - GPU-based " -"lightmapper implementation" +"`servers/rendering/renderer_rd/environment/gi.cpp `__" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:561 +msgid "" +"`scene/3d/voxel_gi.cpp `__ - VoxelGI node" msgstr "" #: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:562 -msgid "**Lightmapper GLSL shaders:**" +msgid "" +"`editor/plugins/voxel_gi_editor_plugin.cpp `__ - Editor UI for " +"the VoxelGI node" msgstr "" #: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:564 -msgid "" -"`modules/lightmapper_rd/lm_raster.glsl `__" -msgstr "" - -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:565 -msgid "" -"`modules/lightmapper_rd/lm_compute.glsl `__" +msgid "**Core GI GLSL shaders:**" msgstr "" #: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:566 msgid "" -"`modules/lightmapper_rd/lm_blendseams.glsl `__" +"`servers/rendering/renderer_rd/shaders/environment/voxel_gi.glsl `__" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:567 +msgid "" +"`servers/rendering/renderer_rd/shaders/environment/voxel_gi_debug.glsl " +"`__ - VoxelGI debug draw mode" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:568 +msgid "" +"`servers/rendering/renderer_rd/shaders/environment/sdfgi_debug.glsl `__ - SDFGI Cascades debug draw mode" msgstr "" #: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:569 +msgid "" +"`servers/rendering/renderer_rd/shaders/environment/sdfgi_debug_probes.glsl " +"`__ - SDFGI Probes debug draw " +"mode" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:570 +msgid "" +"`servers/rendering/renderer_rd/shaders/environment/sdfgi_integrate.glsl " +"`__" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:571 +msgid "" +"`servers/rendering/renderer_rd/shaders/environment/sdfgi_preprocess.glsl " +"`__" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:572 +msgid "" +"`servers/rendering/renderer_rd/shaders/environment/sdfgi_direct_light.glsl " +"`__" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:574 +msgid "**Lightmapper C++ code:**" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:576 +msgid "" +"`scene/3d/lightmap_gi.cpp `__ - LightmapGI node" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:577 +msgid "" +"`editor/plugins/lightmap_gi_editor_plugin.cpp `__ " +"- Editor UI for the LightmapGI node" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:578 +msgid "" +"`scene/3d/lightmapper.cpp `__ - Abstract class" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:579 +msgid "" +"`modules/lightmapper_rd/lightmapper_rd.cpp `__ - GPU-based " +"lightmapper implementation" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:581 +msgid "**Lightmapper GLSL shaders:**" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:583 +msgid "" +"`modules/lightmapper_rd/lm_raster.glsl `__" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:584 +msgid "" +"`modules/lightmapper_rd/lm_compute.glsl `__" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:585 +msgid "" +"`modules/lightmapper_rd/lm_blendseams.glsl `__" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:588 msgid "Depth of field" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:573 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:592 msgid "" "Only available in the Forward+ and Forward Mobile methods, not the " "Compatibility backend." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:576 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:595 msgid "" "The Forward+ and Forward Mobile methods use different approaches to DOF " "rendering, with different visual results. This is done to best match the " @@ -128685,57 +133668,57 @@ msgid "" "using a fragment shader (raster)." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:582 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:601 msgid "" "Box, hexagon and circle bokeh shapes are available (from fastest to " "slowest). Depth of field can optionally be jittered every frame to improve " "its appearance when temporal antialiasing is enabled." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:586 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:605 msgid "**Depth of field C++ code:**" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:588 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:607 msgid "" "`servers/rendering/renderer_rd/effects/bokeh_dof.cpp `__" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:590 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:609 msgid "**Depth of field GLSL shader (compute - used for Forward+):**" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:592 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:611 msgid "" "`servers/rendering/renderer_rd/shaders/effects/bokeh_dof.glsl `__" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:594 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:613 msgid "**Depth of field GLSL shader (raster - used for Forward Mobile):**" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:596 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:615 msgid "" "`servers/rendering/renderer_rd/shaders/effects/bokeh_dof_raster.glsl " -"`__" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:599 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:618 msgid "Screen-space effects (SSAO, SSIL, SSR, SSS)" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:606 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:625 msgid "" "The Forward+ backend supports screen-space ambient occlusion, screen-space " "indirect lighting, screen-space reflections and subsurface scattering." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:609 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:628 msgid "" "SSAO uses an implementation derived from Intel's `ASSAO `__" -msgstr "" - -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:624 -msgid "**Screen-space ambient occlusion GLSL shader:**" -msgstr "" - -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:626 -msgid "" -"`servers/rendering/renderer_rd/shaders/effects/ssao.glsl `__" -msgstr "" - -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:627 -msgid "" -"`servers/rendering/renderer_rd/shaders/effects/ssao_blur.glsl `__" -msgstr "" - -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:628 -msgid "" -"`servers/rendering/renderer_rd/shaders/effects/ssao_interleave.glsl `__" -msgstr "" - -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:629 -msgid "" -"`servers/rendering/renderer_rd/shaders/effects/ssao_importance_map.glsl " -"`__" -msgstr "" - -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:631 -msgid "**Screen-space indirect lighting GLSL shader:**" -msgstr "" - -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:633 -msgid "" -"`servers/rendering/renderer_rd/shaders/effects/ssil.glsl `__" -msgstr "" - -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:634 -msgid "" -"`servers/rendering/renderer_rd/shaders/effects/ssil_blur.glsl `__" -msgstr "" - -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:635 -msgid "" -"`servers/rendering/renderer_rd/shaders/effects/ssil_interleave.glsl `__" -msgstr "" - -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:636 -msgid "" -"`servers/rendering/renderer_rd/shaders/effects/ssil_importance_map.glsl " -"`__" -msgstr "" - -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:638 -msgid "**Screen-space reflections GLSL shader:**" -msgstr "" - -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:640 -msgid "" -"`servers/rendering/renderer_rd/shaders/effects/screen_space_reflection.glsl " -"`__" -msgstr "" - #: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:641 msgid "" -"`servers/rendering/renderer_rd/shaders/effects/screen_space_reflection_scale." -"glsl `__" +"`servers/rendering/renderer_rd/effects/ss_effects.cpp `__" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:642 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:643 +msgid "**Screen-space ambient occlusion GLSL shader:**" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:645 msgid "" -"`servers/rendering/renderer_rd/shaders/effects/" -"screen_space_reflection_filter.glsl `__" -msgstr "" - -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:644 -msgid "**Subsurface scattering GLSL:**" +"`servers/rendering/renderer_rd/shaders/effects/ssao.glsl `__" msgstr "" #: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:646 msgid "" -"`servers/rendering/renderer_rd/shaders/effects/subsurface_scattering.glsl " -"`__" +"`servers/rendering/renderer_rd/shaders/effects/ssao_blur.glsl `__" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:649 -msgid "Sky rendering" +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:647 +msgid "" +"`servers/rendering/renderer_rd/shaders/effects/ssao_interleave.glsl `__" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:648 +msgid "" +"`servers/rendering/renderer_rd/shaders/effects/ssao_importance_map.glsl " +"`__" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:650 +msgid "**Screen-space indirect lighting GLSL shader:**" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:652 +msgid "" +"`servers/rendering/renderer_rd/shaders/effects/ssil.glsl `__" msgstr "" #: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:653 -msgid ":ref:`doc_sky_shader`" +msgid "" +"`servers/rendering/renderer_rd/shaders/effects/ssil_blur.glsl `__" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:654 +msgid "" +"`servers/rendering/renderer_rd/shaders/effects/ssil_interleave.glsl `__" msgstr "" #: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:655 msgid "" +"`servers/rendering/renderer_rd/shaders/effects/ssil_importance_map.glsl " +"`__" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:657 +msgid "**Screen-space reflections GLSL shader:**" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:659 +msgid "" +"`servers/rendering/renderer_rd/shaders/effects/screen_space_reflection.glsl " +"`__" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:660 +msgid "" +"`servers/rendering/renderer_rd/shaders/effects/screen_space_reflection_scale." +"glsl `__" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:661 +msgid "" +"`servers/rendering/renderer_rd/shaders/effects/" +"screen_space_reflection_filter.glsl `__" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:663 +msgid "**Subsurface scattering GLSL:**" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:665 +msgid "" +"`servers/rendering/renderer_rd/shaders/effects/subsurface_scattering.glsl " +"`__" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:668 +msgid "Sky rendering" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:672 +msgid ":ref:`doc_sky_shader`" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:674 +msgid "" "Godot supports using shaders to render the sky background. The radiance map " "(which is used to provide ambient light and reflections for PBR materials) " "is automatically updated based on the sky shader." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:659 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:678 msgid "" "The SkyMaterial resources such as ProceduralSkyMaterial, PhysicalSkyMaterial " "and PanoramaSkyMaterial generate a built-in shader for sky rendering. This " "is similar to what BaseMaterial3D provides for 3D scene materials." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:663 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:682 msgid "" "A detailed technical implementation can be found in the `Custom sky shaders " "in Godot 4.0 `__ article." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:667 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:686 msgid "**Sky rendering C++ code:**" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:669 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:688 msgid "" "`servers/rendering/renderer_rd/environment/sky.cpp `__ - Sky rendering" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:670 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:689 msgid "" -"`scene/resources/sky.cpp `__ - Sky resource (not to be confused with sky " "rendering)" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:671 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:690 msgid "" "`scene/resources/sky_material.cpp `__ SkyMaterial resources (used in " +"blob/4.2/scene/resources/sky_material.cpp>`__ SkyMaterial resources (used in " "the Sky resource)" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:673 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:692 msgid "**Sky rendering GLSL shader:**" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:676 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:695 msgid "Volumetric fog" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:685 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:704 msgid ":ref:`doc_fog_shader`" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:687 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:706 msgid "" "Godot supports a frustum-aligned voxel (froxel) approach to volumetric fog " "rendering. As opposed to a post-processing filter, this approach is more " @@ -128943,69 +133926,69 @@ msgid "" "represent density." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:693 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:712 msgid "" "The FogMaterial resource generates a built-in shader for FogVolume nodes. " "This is similar to what BaseMaterial3D provides for 3D scene materials." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:696 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:715 msgid "" "A detailed technical explanation can be found in the `Fog Volumes arrive in " "Godot 4.0 `__ " "article." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:700 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:719 msgid "**Volumetric fog C++ code:**" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:702 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:721 msgid "" "`servers/rendering/renderer_rd/environment/fog.cpp `__ - General volumetric fog" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:703 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:722 msgid "" -"`scene/3d/fog_volume.cpp `__ - FogVolume node" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:704 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:723 msgid "" "`scene/resources/fog_material.cpp `__ - FogMaterial resource (used " +"blob/4.2/scene/resources/fog_material.cpp>`__ - FogMaterial resource (used " "by FogVolume)" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:706 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:725 msgid "**Volumetric fog GLSL shaders:**" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:708 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:727 msgid "" "`servers/rendering/renderer_rd/shaders/environment/volumetric_fog.glsl " -"`__" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:709 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:728 msgid "" "`servers/rendering/renderer_rd/shaders/environment/volumetric_fog_process." -"glsl `__" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:714 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:733 msgid "" "While modern GPUs can handle drawing a lot of triangles, the number of draw " "calls in complex scenes can still be a bottleneck (even with Vulkan and " "Direct3D 12)." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:718 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:737 msgid "" "Godot 4 supports occlusion culling to reduce overdraw (when the depth " "prepass is disabled) and reduce vertex throughput. This is done by " @@ -129015,13 +133998,13 @@ msgid "" "occluder shapes that were baked in the editor or created at run-time." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:726 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:745 msgid "" "As complex occluders can introduce a lot of strain on the CPU, baked " "occluders can be simplified automatically when generated in the editor." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:729 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:748 msgid "" "Godot's occlusion culling doesn't support dynamic occluders yet, but " "OccluderInstance3D nodes can still have their visibility toggled or be " @@ -129030,30 +134013,30 @@ msgid "" "occluder shapes such as quads or cuboids." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:735 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:754 msgid "" "This CPU-based approach has a few advantages over other solutions, such as " "portals and rooms or a GPU-based culling solution:" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:738 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:757 msgid "" "No manual setup required (but can be tweaked manually for best performance)." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:739 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:758 msgid "" "No frame delay, which is problematic in cutscenes during camera cuts or when " "the camera moves fast behind a wall." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:741 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:760 msgid "" "Works the same on all rendering drivers and methods, with no unpredictable " "behavior depending on the driver or GPU hardware." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:744 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:763 msgid "" "Occlusion culling is performed by registering occluder meshes, which is done " "using OccluderInstance3D *nodes* (which themselves use Occluder3D " @@ -129061,34 +134044,34 @@ msgid "" "Embree in RendererSceneOcclusionCull." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:749 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:768 msgid "**Occlusion culling C++ code:**" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:751 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:770 msgid "" "`scene/3d/occluder_instance_3d.cpp `__" +"blob/4.2/scene/3d/occluder_instance_3d.cpp>`__" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:752 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:771 msgid "" "`servers/rendering/renderer_scene_occlusion_cull.cpp `__" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:755 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:774 msgid "Visibility range (LOD)" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:757 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:776 msgid "" "Godot supports manually authored hierarchical level of detail (HLOD), with " "distances specified by the user in the inspector." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:760 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:779 msgid "" "In RenderingSceneCull, the ``_scene_cull()`` and ``_render_scene()`` " "functions are where most of the LOD determination happens. Each viewport can " @@ -129096,29 +134079,29 @@ msgid "" "rendering to look correct)." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:764 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:783 msgid "**Visibility range C++ code:**" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:766 -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:797 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:785 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:816 msgid "" "`servers/rendering/renderer_scene_cull.cpp `__" +"godot/blob/4.2/servers/rendering/renderer_scene_cull.cpp>`__" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:769 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:788 msgid "Automatic mesh LOD" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:771 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:790 msgid "" "The ImporterMesh class is used for the 3D mesh import workflow in the " "editor. Its ``generate_lods()`` function handles generating using the " "`meshoptimizer `__ library." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:775 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:794 msgid "" "LOD mesh generation also generates shadow meshes at the same time. These are " "meshes that have their vertices welded regardless of smoothing and " @@ -129126,7 +134109,7 @@ msgid "" "the vertex throughput required to render shadows." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:780 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:799 msgid "" "The RenderingSceneCull class's ``_render_scene()`` function determines which " "mesh LOD should be used when rendering. Each viewport can render the same " @@ -129134,7 +134117,7 @@ msgid "" "correct)." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:784 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:803 msgid "" "The mesh LOD is automatically chosen based on a screen coverage metric. This " "takes resolution and camera FOV changes into account without requiring user " @@ -129142,24 +134125,24 @@ msgid "" "settings." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:788 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:807 msgid "" "To improve performance, shadow rendering and reflection probe rendering also " "choose their own mesh LOD thresholds (which can be different from the main " "scene rendering)." msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:791 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:810 msgid "**Mesh LOD generation on import C++ code:**" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:793 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:812 msgid "" "`scene/resources/importer_mesh.cpp `__" +"blob/4.2/scene/resources/importer_mesh.cpp>`__" msgstr "" -#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:795 +#: ../../docs/contributing/development/core_and_modules/internal_rendering_architecture.rst:814 msgid "**Mesh LOD determination C++ code:**" msgstr "" @@ -131519,511 +136502,6 @@ msgid "" "example, \"test_empty_file.notest.gd\"." msgstr "" -#: ../../docs/contributing/development/editor/index.rst:2 -msgid "Editor development" -msgstr "" - -#: ../../docs/contributing/development/editor/introduction_to_editor_development.rst:4 -msgid "Introduction to editor development" -msgstr "" - -#: ../../docs/contributing/development/editor/introduction_to_editor_development.rst:6 -msgid "On this page, you will learn:" -msgstr "" - -#: ../../docs/contributing/development/editor/introduction_to_editor_development.rst:8 -msgid "The **design decisions** behind the Godot editor." -msgstr "" - -#: ../../docs/contributing/development/editor/introduction_to_editor_development.rst:9 -msgid "How to work efficiently on the Godot editor's C++ code." -msgstr "" - -#: ../../docs/contributing/development/editor/introduction_to_editor_development.rst:11 -msgid "" -"This guide is aimed at current or future engine contributors. To create " -"editor plugins in GDScript, see :ref:`doc_making_plugins` instead." -msgstr "" - -#: ../../docs/contributing/development/editor/introduction_to_editor_development.rst:16 -msgid "" -"If you are new to Godot, we recommended you to read :ref:" -"`doc_godot_design_philosophy` before continuing. Since the Godot editor is a " -"Godot project written in C++, much of the engine's philosophy applies to the " -"editor." -msgstr "" - -#: ../../docs/contributing/development/editor/introduction_to_editor_development.rst:22 -msgid "Technical choices" -msgstr "" - -#: ../../docs/contributing/development/editor/introduction_to_editor_development.rst:24 -msgid "" -"The Godot editor is drawn using Godot's renderer and :ref:`UI system " -"`. It does *not* rely on a toolkit such as GTK or Qt. " -"This is similar in spirit to software like Blender. While using toolkits " -"makes it easier to achieve a \"native\" appearance, they are also quite " -"heavy and their licensing is not compatible with Godot's." -msgstr "" - -#: ../../docs/contributing/development/editor/introduction_to_editor_development.rst:30 -msgid "" -"The editor is fully written in C++. It can't contain any GDScript or C# code." -msgstr "" - -#: ../../docs/contributing/development/editor/introduction_to_editor_development.rst:33 -msgid "Directory structure" -msgstr "" - -#: ../../docs/contributing/development/editor/introduction_to_editor_development.rst:35 -msgid "" -"The editor's code is fully self-contained in the `editor/ `__ folder of the Godot source " -"repository." -msgstr "" - -#: ../../docs/contributing/development/editor/introduction_to_editor_development.rst:39 -msgid "" -"Some editor functionality is also implemented via :ref:`modules " -"`. Some of these are only enabled in editor " -"builds to decrease the binary size of export templates. See the `modules/ " -"`__ folder in the " -"Godot source repository." -msgstr "" - -#: ../../docs/contributing/development/editor/introduction_to_editor_development.rst:45 -msgid "Some important files in the editor are:" -msgstr "" - -#: ../../docs/contributing/development/editor/introduction_to_editor_development.rst:47 -msgid "" -"`editor/editor_node.cpp `__: Main editor initialization file. Effectively the " -"\"main scene\" of the editor." -msgstr "" - -#: ../../docs/contributing/development/editor/introduction_to_editor_development.rst:49 -msgid "" -"`editor/project_manager.cpp `__: Main Project Manager initialization " -"file. Effectively the \"main scene\" of the Project Manager." -msgstr "" - -#: ../../docs/contributing/development/editor/introduction_to_editor_development.rst:51 -msgid "" -"`editor/plugins/canvas_item_editor_plugin.cpp `__: The 2D editor viewport and related functionality (toolbar at the " -"top, editing modes, overlaid helpers/panels, …)." -msgstr "" - -#: ../../docs/contributing/development/editor/introduction_to_editor_development.rst:53 -msgid "" -"`editor/plugins/node_3d_editor_plugin.cpp `__: The 3D " -"editor viewport and related functionality (toolbar at the top, editing " -"modes, overlaid panels, …)." -msgstr "" - -#: ../../docs/contributing/development/editor/introduction_to_editor_development.rst:55 -msgid "" -"`editor/plugins/node_3d_editor_gizmos.cpp `__: Where the 3D " -"editor gizmos are defined and drawn. This file doesn't have a 2D counterpart " -"as 2D gizmos are drawn by the nodes themselves." -msgstr "" - -#: ../../docs/contributing/development/editor/introduction_to_editor_development.rst:60 -msgid "Editor dependencies in ``scene/`` files" -msgstr "" - -#: ../../docs/contributing/development/editor/introduction_to_editor_development.rst:62 -msgid "" -"When working on an editor feature, you may have to modify files in Godot's " -"GUI nodes, which you can find in the ``scene/`` folder." -msgstr "" - -#: ../../docs/contributing/development/editor/introduction_to_editor_development.rst:65 -msgid "" -"One rule to keep in mind is that you must **not** introduce new dependencies " -"to ``editor/`` includes in other folders such as ``scene/``. This applies " -"even if you use ``#ifdef TOOLS_ENABLED``." -msgstr "" - -#: ../../docs/contributing/development/editor/introduction_to_editor_development.rst:69 -msgid "" -"To make the codebase easier to follow and more self-contained, the allowed " -"dependency order is:" -msgstr "" - -#: ../../docs/contributing/development/editor/introduction_to_editor_development.rst:72 -msgid "``editor/`` -> ``scene/`` -> ``servers/`` -> ``core/``" -msgstr "" - -#: ../../docs/contributing/development/editor/introduction_to_editor_development.rst:74 -msgid "" -"This means that files in ``editor/`` can depend on includes from ``scene/``, " -"``servers/``, and ``core/``. But, for example, while ``scene/`` can depend " -"on includes from ``servers/`` and ``core/``, it cannot depend on includes " -"from ``editor/``." -msgstr "" - -#: ../../docs/contributing/development/editor/introduction_to_editor_development.rst:78 -msgid "" -"Currently, there are some dependencies to ``editor/`` includes in ``scene/`` " -"files, but `they are in the process of being removed `__." -msgstr "" - -#: ../../docs/contributing/development/editor/introduction_to_editor_development.rst:83 -msgid "Development tips" -msgstr "" - -#: ../../docs/contributing/development/editor/introduction_to_editor_development.rst:85 -msgid "" -"To iterate quickly on the editor, we recommend to set up a test project and :" -"ref:`open it from the command line ` after " -"compiling the editor. This way, you don't have to go through the Project " -"Manager every time you start Godot." -msgstr "" - -#: ../../docs/contributing/development/editor/creating_icons.rst:4 -msgid "Editor icons" -msgstr "" - -#: ../../docs/contributing/development/editor/creating_icons.rst:6 -msgid "" -"When a new class is created and exposed to scripting, the editor's interface " -"will display it with a default icon representing the base class it inherits " -"from. In most cases, it's still recommended to create icons for new classes " -"to improve the user experience." -msgstr "" - -#: ../../docs/contributing/development/editor/creating_icons.rst:12 -msgid "Creating icons" -msgstr "" - -#: ../../docs/contributing/development/editor/creating_icons.rst:14 -msgid "" -"To create new icons, you first need a vector graphics editor installed. For " -"instance, you can use the open source `Inkscape `_ " -"editor." -msgstr "" - -#: ../../docs/contributing/development/editor/creating_icons.rst:17 -msgid "Clone the ``godot`` repository containing all the editor icons:" -msgstr "" - -#: ../../docs/contributing/development/editor/creating_icons.rst:23 -msgid "" -"The icons must be created in a vector graphics editor in SVG format. There " -"are two main requirements to follow:" -msgstr "" - -#: ../../docs/contributing/development/editor/creating_icons.rst:26 -msgid "" -"Icons must be 16×16. In Inkscape, you can configure the document size in " -"**File > Document Properties**." -msgstr "" - -#: ../../docs/contributing/development/editor/creating_icons.rst:28 -msgid "" -"Lines should be snapped to pixels whenever possible to remain crisp at lower " -"DPI. You can create a 16×16 grid in Inkscape to make this easier." -msgstr "" - -#: ../../docs/contributing/development/editor/creating_icons.rst:31 -msgid "" -"Once you're satisfied with the icon's design, save the icon in the cloned " -"repository's ``editor/icons`` folder. The icon name should match the " -"intended name in a case-sensitive manner. For example, to create an icon for " -"CPUParticles2D, name the file ``CPUParticles2D.svg``." -msgstr "" - -#: ../../docs/contributing/development/editor/creating_icons.rst:37 -msgid "Color conversion for light editor themes" -msgstr "" - -#: ../../docs/contributing/development/editor/creating_icons.rst:39 -msgid "" -"If the user has configured their editor to use a light theme, Godot will " -"convert the icon's colors based on a `set of predefined color mappings " -"`__. This is to ensure the icon always displays with a " -"sufficient contrast rate. Try to restrict your icon's color palette to " -"colors found in the list above. Otherwise, your icon may become difficult to " -"read on a light background." -msgstr "" - -#: ../../docs/contributing/development/editor/creating_icons.rst:47 -msgid "Icon optimization" -msgstr "" - -#: ../../docs/contributing/development/editor/creating_icons.rst:49 -msgid "" -"Because the editor renders SVGs once at load time, they need to be small in " -"size so they can be efficiently parsed. Editor icons must be first optimized " -"before being added to the engine, to do so:" -msgstr "" - -#: ../../docs/contributing/development/editor/creating_icons.rst:53 -msgid "" -"Install `svgcleaner `__ by " -"downloading a binary from its `Releases tab `__ and placing it into a location in your " -"``PATH`` environment variable." -msgstr "" - -#: ../../docs/contributing/development/editor/creating_icons.rst:58 -msgid "" -"Run the command below, replacing ``svg_source.svg`` with the path to your " -"SVG file (which can be a relative or absolute path):" -msgstr "" - -#: ../../docs/contributing/development/editor/creating_icons.rst:65 -msgid "" -"The ``--multipass`` switch improves compression, so make sure to include it. " -"The optimized icon will be saved to ``svg_optimized.svg``. You can also " -"change the destination parameter to any relative or absolute path you'd like." -msgstr "" - -#: ../../docs/contributing/development/editor/creating_icons.rst:71 -msgid "" -"While this optimization step won't impact the icon's quality noticeably, it " -"will still remove editor-only information such as guides. Therefore, it's " -"recommended to keep the source SVG around if you need to make further " -"changes." -msgstr "" - -#: ../../docs/contributing/development/editor/creating_icons.rst:77 -msgid "Integrating and sharing the icons" -msgstr "" - -#: ../../docs/contributing/development/editor/creating_icons.rst:79 -msgid "" -"If you're contributing to the engine itself, you should make a pull request " -"to add optimized icons to ``editor/icons`` in the main repository. Recompile " -"the engine to make it pick up new icons for classes." -msgstr "" - -#: ../../docs/contributing/development/editor/creating_icons.rst:83 -msgid "" -"It's also possible to create custom icons within a module. If you're " -"creating your own module and don't plan to integrate it with Godot, you " -"don't need to make a separate pull request for your icons to be available " -"within the editor as they can be self-contained." -msgstr "" - -#: ../../docs/contributing/development/editor/creating_icons.rst:88 -msgid "" -"For specific instructions on how to create module icons, refer to :ref:" -"`Creating custom module icons`." -msgstr "" - -#: ../../docs/contributing/development/editor/creating_icons.rst:94 -msgid "If icons don't appear in the editor, make sure that:" -msgstr "" - -#: ../../docs/contributing/development/editor/creating_icons.rst:96 -msgid "" -"Each icon's filename matches the naming requirement as described previously." -msgstr "" - -#: ../../docs/contributing/development/editor/creating_icons.rst:98 -msgid "" -"``modules/svg`` is enabled (it should be enabled by default). Without it, " -"icons won't appear in the editor at all." -msgstr "" - -#: ../../docs/contributing/development/editor/creating_icons.rst:104 -msgid "" -"`editor/icons `__" -msgstr "" - -#: ../../docs/contributing/development/editor/editor_style_guide.rst:4 -msgid "Editor style guide" -msgstr "" - -#: ../../docs/contributing/development/editor/editor_style_guide.rst:9 -msgid "Thanks for your interest in contributing to the Godot editor!" -msgstr "" - -#: ../../docs/contributing/development/editor/editor_style_guide.rst:11 -msgid "" -"This page describes the grammar and writing style used throughout the Godot " -"editor. Following this style guide will help your contribution get merged " -"faster since there will be fewer review steps required." -msgstr "" - -#: ../../docs/contributing/development/editor/editor_style_guide.rst:16 -msgid "Writing style" -msgstr "" - -#: ../../docs/contributing/development/editor/editor_style_guide.rst:18 -msgid "" -"**Write messages (errors, warnings, ...) as full sentences.** They should " -"start with an uppercase letter and end with a period." -msgstr "" - -#: ../../docs/contributing/development/editor/editor_style_guide.rst:20 -msgid "" -"**Try to keep sentences short.** This makes it more likely that their " -"translations will be short as well, which is a good thing to avoid UI bugs." -msgstr "" - -#: ../../docs/contributing/development/editor/editor_style_guide.rst:22 -msgid "" -"**Use contractions.** For example, use \"isn't\" instead of \"is not\". An " -"exception to this rule can be made when you specifically want to emphasize " -"one of the contraction's words." -msgstr "" - -#: ../../docs/contributing/development/editor/editor_style_guide.rst:25 -msgid "" -"**Use double quotes in messages** (``\"\"``) instead of single quotes " -"(``''``). Double quotes should be used to quote user input, file paths and " -"possibly other things depending on the context." -msgstr "" - -#: ../../docs/contributing/development/editor/editor_style_guide.rst:31 -msgid "" -"Try to follow the :ref:`doc_docs_writing_guidelines` in addition to the " -"guidelines outlined above." -msgstr "" - -#: ../../docs/contributing/development/editor/editor_style_guide.rst:35 -msgid "Button and menu texts" -msgstr "" - -#: ../../docs/contributing/development/editor/editor_style_guide.rst:37 -msgid "Capitalize text in buttons and menu actions:" -msgstr "" - -#: ../../docs/contributing/development/editor/editor_style_guide.rst:39 -msgid "**Good:** *Open Editor Data Folder*" -msgstr "" - -#: ../../docs/contributing/development/editor/editor_style_guide.rst:40 -msgid "**Bad:** *Open editor data folder*" -msgstr "" - -#: ../../docs/contributing/development/editor/editor_style_guide.rst:42 -msgid "" -"If a menu action opens a modal dialog, suffix it with an ellipsis (``...``)." -msgstr "" - -#: ../../docs/contributing/development/editor/editor_style_guide.rst:44 -msgid "**Good:** *Editor Settings...*" -msgstr "" - -#: ../../docs/contributing/development/editor/editor_style_guide.rst:45 -msgid "**Bad:** *Editor Settings*" -msgstr "" - -#: ../../docs/contributing/development/editor/editor_style_guide.rst:48 -msgid "Inspector sections" -msgstr "" - -#: ../../docs/contributing/development/editor/editor_style_guide.rst:50 -msgid "" -"In general, don't create sections that contain less than 3 items. Sections " -"that contain few items make it difficult to navigate the inspector, while " -"missing the benefits of using sections such as folding." -msgstr "" - -#: ../../docs/contributing/development/editor/editor_style_guide.rst:54 -msgid "" -"There are some valid exceptions for this, such as material features in :ref:" -"`class_StandardMaterial3D`." -msgstr "" - -#: ../../docs/contributing/development/editor/editor_style_guide.rst:57 -msgid "This advice also applies to the Project Settings and Editor Settings." -msgstr "" - -#: ../../docs/contributing/development/editor/editor_style_guide.rst:60 -msgid "Inspector performance hints" -msgstr "" - -#: ../../docs/contributing/development/editor/editor_style_guide.rst:62 -msgid "" -"Enum properties that noticeably impact performance should have a performance " -"hint associated. The hint should refer to the *absolute* performance impact, " -"rather than being relative to the other options provided in the enum. Here " -"are some examples taken from the Godot editor:" -msgstr "" - -#: ../../docs/contributing/development/editor/editor_style_guide.rst:67 -msgid "**Screen-space antialiasing:** *Disabled (Fastest), FXAA (Fast)*" -msgstr "" - -#: ../../docs/contributing/development/editor/editor_style_guide.rst:68 -msgid "" -"**MSAA quality:** *Disabled (Fastest), 2x (Fast), 4x (Average), 8x (Slow), " -"16x (Slower)*" -msgstr "" - -#: ../../docs/contributing/development/editor/editor_style_guide.rst:70 -msgid "" -"**DirectionalLight mode:** *Orthogonal (Fast), PSSM 2 Splits (Average), PSSM " -"4 Splits (Slow)*" -msgstr "" - -#: ../../docs/contributing/development/editor/editor_style_guide.rst:73 -msgid "" -"For consistency, try to stick to the terms below (from fastest to slowest):" -msgstr "" - -#: ../../docs/contributing/development/editor/editor_style_guide.rst:75 -msgid "*Fastest, Faster, Fast, Average, Slow, Slower, Slowest*" -msgstr "" - -#: ../../docs/contributing/development/editor/editor_style_guide.rst:77 -msgid "" -"Their usage doesn't have to be contiguous. For example, you can use only " -"\"Fast\" and \"Slow\" from the list above." -msgstr "" - -#: ../../docs/contributing/development/editor/editor_style_guide.rst:80 -msgid "" -"If you're adding a new enum, its values should be ordered from the fastest " -"option to the slowest option." -msgstr "" - -#: ../../docs/contributing/development/editor/editor_style_guide.rst:84 -msgid "Tooltips" -msgstr "" - -#: ../../docs/contributing/development/editor/editor_style_guide.rst:86 -msgid "" -"Consider adding tooltips whenever the action performed by a button or menu " -"action isn't obvious. You can also provide additional context or highlight " -"caveats in the tooltip." -msgstr "" - -#: ../../docs/contributing/development/editor/editor_style_guide.rst:90 -msgid "" -"You can do this by calling ``set_tooltip(TTR(\"Text here.\"))`` on the " -"Control-based node in question. If the tooltip is particularly long (more " -"than ~80 characters), wrap it over several lines by adding line breaks using " -"``\\n``." -msgstr "" - -#: ../../docs/contributing/development/editor/editor_style_guide.rst:94 -msgid "" -"Tooltips should follow the writing style described above. In addition to " -"this, use indicative mood instead of imperative mood:" -msgstr "" - -#: ../../docs/contributing/development/editor/editor_style_guide.rst:97 -msgid "**Good:** *Computes global illumination for the selected GIProbe.*" -msgstr "" - -#: ../../docs/contributing/development/editor/editor_style_guide.rst:98 -msgid "**Bad:** *Compute global illumination for the selected GIProbe.*" -msgstr "" - #: ../../docs/contributing/development/file_formats/index.rst:2 msgid "Godot file formats" msgstr "" @@ -132660,6 +137138,511 @@ msgid "" "are the Quaternion's coordinates." msgstr "" +#: ../../docs/contributing/development/editor/index.rst:2 +msgid "Editor development" +msgstr "" + +#: ../../docs/contributing/development/editor/introduction_to_editor_development.rst:4 +msgid "Introduction to editor development" +msgstr "" + +#: ../../docs/contributing/development/editor/introduction_to_editor_development.rst:6 +msgid "On this page, you will learn:" +msgstr "" + +#: ../../docs/contributing/development/editor/introduction_to_editor_development.rst:8 +msgid "The **design decisions** behind the Godot editor." +msgstr "" + +#: ../../docs/contributing/development/editor/introduction_to_editor_development.rst:9 +msgid "How to work efficiently on the Godot editor's C++ code." +msgstr "" + +#: ../../docs/contributing/development/editor/introduction_to_editor_development.rst:11 +msgid "" +"This guide is aimed at current or future engine contributors. To create " +"editor plugins in GDScript, see :ref:`doc_making_plugins` instead." +msgstr "" + +#: ../../docs/contributing/development/editor/introduction_to_editor_development.rst:16 +msgid "" +"If you are new to Godot, we recommended you to read :ref:" +"`doc_godot_design_philosophy` before continuing. Since the Godot editor is a " +"Godot project written in C++, much of the engine's philosophy applies to the " +"editor." +msgstr "" + +#: ../../docs/contributing/development/editor/introduction_to_editor_development.rst:22 +msgid "Technical choices" +msgstr "" + +#: ../../docs/contributing/development/editor/introduction_to_editor_development.rst:24 +msgid "" +"The Godot editor is drawn using Godot's renderer and :ref:`UI system " +"`. It does *not* rely on a toolkit such as GTK or Qt. " +"This is similar in spirit to software like Blender. While using toolkits " +"makes it easier to achieve a \"native\" appearance, they are also quite " +"heavy and their licensing is not compatible with Godot's." +msgstr "" + +#: ../../docs/contributing/development/editor/introduction_to_editor_development.rst:30 +msgid "" +"The editor is fully written in C++. It can't contain any GDScript or C# code." +msgstr "" + +#: ../../docs/contributing/development/editor/introduction_to_editor_development.rst:33 +msgid "Directory structure" +msgstr "" + +#: ../../docs/contributing/development/editor/introduction_to_editor_development.rst:35 +msgid "" +"The editor's code is fully self-contained in the `editor/ `__ folder of the Godot source " +"repository." +msgstr "" + +#: ../../docs/contributing/development/editor/introduction_to_editor_development.rst:39 +msgid "" +"Some editor functionality is also implemented via :ref:`modules " +"`. Some of these are only enabled in editor " +"builds to decrease the binary size of export templates. See the `modules/ " +"`__ folder in the " +"Godot source repository." +msgstr "" + +#: ../../docs/contributing/development/editor/introduction_to_editor_development.rst:45 +msgid "Some important files in the editor are:" +msgstr "" + +#: ../../docs/contributing/development/editor/introduction_to_editor_development.rst:47 +msgid "" +"`editor/editor_node.cpp `__: Main editor initialization file. Effectively the " +"\"main scene\" of the editor." +msgstr "" + +#: ../../docs/contributing/development/editor/introduction_to_editor_development.rst:49 +msgid "" +"`editor/project_manager.cpp `__: Main Project Manager initialization " +"file. Effectively the \"main scene\" of the Project Manager." +msgstr "" + +#: ../../docs/contributing/development/editor/introduction_to_editor_development.rst:51 +msgid "" +"`editor/plugins/canvas_item_editor_plugin.cpp `__: The 2D editor viewport and related functionality (toolbar at the " +"top, editing modes, overlaid helpers/panels, …)." +msgstr "" + +#: ../../docs/contributing/development/editor/introduction_to_editor_development.rst:53 +msgid "" +"`editor/plugins/node_3d_editor_plugin.cpp `__: The 3D " +"editor viewport and related functionality (toolbar at the top, editing " +"modes, overlaid panels, …)." +msgstr "" + +#: ../../docs/contributing/development/editor/introduction_to_editor_development.rst:55 +msgid "" +"`editor/plugins/node_3d_editor_gizmos.cpp `__: Where the 3D " +"editor gizmos are defined and drawn. This file doesn't have a 2D counterpart " +"as 2D gizmos are drawn by the nodes themselves." +msgstr "" + +#: ../../docs/contributing/development/editor/introduction_to_editor_development.rst:60 +msgid "Editor dependencies in ``scene/`` files" +msgstr "" + +#: ../../docs/contributing/development/editor/introduction_to_editor_development.rst:62 +msgid "" +"When working on an editor feature, you may have to modify files in Godot's " +"GUI nodes, which you can find in the ``scene/`` folder." +msgstr "" + +#: ../../docs/contributing/development/editor/introduction_to_editor_development.rst:65 +msgid "" +"One rule to keep in mind is that you must **not** introduce new dependencies " +"to ``editor/`` includes in other folders such as ``scene/``. This applies " +"even if you use ``#ifdef TOOLS_ENABLED``." +msgstr "" + +#: ../../docs/contributing/development/editor/introduction_to_editor_development.rst:69 +msgid "" +"To make the codebase easier to follow and more self-contained, the allowed " +"dependency order is:" +msgstr "" + +#: ../../docs/contributing/development/editor/introduction_to_editor_development.rst:72 +msgid "``editor/`` -> ``scene/`` -> ``servers/`` -> ``core/``" +msgstr "" + +#: ../../docs/contributing/development/editor/introduction_to_editor_development.rst:74 +msgid "" +"This means that files in ``editor/`` can depend on includes from ``scene/``, " +"``servers/``, and ``core/``. But, for example, while ``scene/`` can depend " +"on includes from ``servers/`` and ``core/``, it cannot depend on includes " +"from ``editor/``." +msgstr "" + +#: ../../docs/contributing/development/editor/introduction_to_editor_development.rst:78 +msgid "" +"Currently, there are some dependencies to ``editor/`` includes in ``scene/`` " +"files, but `they are in the process of being removed `__." +msgstr "" + +#: ../../docs/contributing/development/editor/introduction_to_editor_development.rst:83 +msgid "Development tips" +msgstr "" + +#: ../../docs/contributing/development/editor/introduction_to_editor_development.rst:85 +msgid "" +"To iterate quickly on the editor, we recommend to set up a test project and :" +"ref:`open it from the command line ` after " +"compiling the editor. This way, you don't have to go through the Project " +"Manager every time you start Godot." +msgstr "" + +#: ../../docs/contributing/development/editor/creating_icons.rst:4 +msgid "Editor icons" +msgstr "" + +#: ../../docs/contributing/development/editor/creating_icons.rst:6 +msgid "" +"When a new class is created and exposed to scripting, the editor's interface " +"will display it with a default icon representing the base class it inherits " +"from. In most cases, it's still recommended to create icons for new classes " +"to improve the user experience." +msgstr "" + +#: ../../docs/contributing/development/editor/creating_icons.rst:12 +msgid "Creating icons" +msgstr "" + +#: ../../docs/contributing/development/editor/creating_icons.rst:14 +msgid "" +"To create new icons, you first need a vector graphics editor installed. For " +"instance, you can use the open source `Inkscape `_ " +"editor." +msgstr "" + +#: ../../docs/contributing/development/editor/creating_icons.rst:17 +msgid "Clone the ``godot`` repository containing all the editor icons:" +msgstr "" + +#: ../../docs/contributing/development/editor/creating_icons.rst:23 +msgid "" +"The icons must be created in a vector graphics editor in SVG format. There " +"are two main requirements to follow:" +msgstr "" + +#: ../../docs/contributing/development/editor/creating_icons.rst:26 +msgid "" +"Icons must be 16×16. In Inkscape, you can configure the document size in " +"**File > Document Properties**." +msgstr "" + +#: ../../docs/contributing/development/editor/creating_icons.rst:28 +msgid "" +"Lines should be snapped to pixels whenever possible to remain crisp at lower " +"DPI. You can create a 16×16 grid in Inkscape to make this easier." +msgstr "" + +#: ../../docs/contributing/development/editor/creating_icons.rst:31 +msgid "" +"Once you're satisfied with the icon's design, save the icon in the cloned " +"repository's ``editor/icons`` folder. The icon name should match the " +"intended name in a case-sensitive manner. For example, to create an icon for " +"CPUParticles2D, name the file ``CPUParticles2D.svg``." +msgstr "" + +#: ../../docs/contributing/development/editor/creating_icons.rst:37 +msgid "Color conversion for light editor themes" +msgstr "" + +#: ../../docs/contributing/development/editor/creating_icons.rst:39 +msgid "" +"If the user has configured their editor to use a light theme, Godot will " +"convert the icon's colors based on a `set of predefined color mappings " +"`__. This is to ensure the icon always displays with a " +"sufficient contrast rate. Try to restrict your icon's color palette to " +"colors found in the list above. Otherwise, your icon may become difficult to " +"read on a light background." +msgstr "" + +#: ../../docs/contributing/development/editor/creating_icons.rst:47 +msgid "Icon optimization" +msgstr "" + +#: ../../docs/contributing/development/editor/creating_icons.rst:49 +msgid "" +"Because the editor renders SVGs once at load time, they need to be small in " +"size so they can be efficiently parsed. Editor icons must be first optimized " +"before being added to the engine, to do so:" +msgstr "" + +#: ../../docs/contributing/development/editor/creating_icons.rst:53 +msgid "" +"Install `svgcleaner `__ by " +"downloading a binary from its `Releases tab `__ and placing it into a location in your " +"``PATH`` environment variable." +msgstr "" + +#: ../../docs/contributing/development/editor/creating_icons.rst:58 +msgid "" +"Run the command below, replacing ``svg_source.svg`` with the path to your " +"SVG file (which can be a relative or absolute path):" +msgstr "" + +#: ../../docs/contributing/development/editor/creating_icons.rst:65 +msgid "" +"The ``--multipass`` switch improves compression, so make sure to include it. " +"The optimized icon will be saved to ``svg_optimized.svg``. You can also " +"change the destination parameter to any relative or absolute path you'd like." +msgstr "" + +#: ../../docs/contributing/development/editor/creating_icons.rst:71 +msgid "" +"While this optimization step won't impact the icon's quality noticeably, it " +"will still remove editor-only information such as guides. Therefore, it's " +"recommended to keep the source SVG around if you need to make further " +"changes." +msgstr "" + +#: ../../docs/contributing/development/editor/creating_icons.rst:77 +msgid "Integrating and sharing the icons" +msgstr "" + +#: ../../docs/contributing/development/editor/creating_icons.rst:79 +msgid "" +"If you're contributing to the engine itself, you should make a pull request " +"to add optimized icons to ``editor/icons`` in the main repository. Recompile " +"the engine to make it pick up new icons for classes." +msgstr "" + +#: ../../docs/contributing/development/editor/creating_icons.rst:83 +msgid "" +"It's also possible to create custom icons within a module. If you're " +"creating your own module and don't plan to integrate it with Godot, you " +"don't need to make a separate pull request for your icons to be available " +"within the editor as they can be self-contained." +msgstr "" + +#: ../../docs/contributing/development/editor/creating_icons.rst:88 +msgid "" +"For specific instructions on how to create module icons, refer to :ref:" +"`Creating custom module icons`." +msgstr "" + +#: ../../docs/contributing/development/editor/creating_icons.rst:94 +msgid "If icons don't appear in the editor, make sure that:" +msgstr "" + +#: ../../docs/contributing/development/editor/creating_icons.rst:96 +msgid "" +"Each icon's filename matches the naming requirement as described previously." +msgstr "" + +#: ../../docs/contributing/development/editor/creating_icons.rst:98 +msgid "" +"``modules/svg`` is enabled (it should be enabled by default). Without it, " +"icons won't appear in the editor at all." +msgstr "" + +#: ../../docs/contributing/development/editor/creating_icons.rst:104 +msgid "" +"`editor/icons `__" +msgstr "" + +#: ../../docs/contributing/development/editor/editor_style_guide.rst:4 +msgid "Editor style guide" +msgstr "" + +#: ../../docs/contributing/development/editor/editor_style_guide.rst:9 +msgid "Thanks for your interest in contributing to the Godot editor!" +msgstr "" + +#: ../../docs/contributing/development/editor/editor_style_guide.rst:11 +msgid "" +"This page describes the grammar and writing style used throughout the Godot " +"editor. Following this style guide will help your contribution get merged " +"faster since there will be fewer review steps required." +msgstr "" + +#: ../../docs/contributing/development/editor/editor_style_guide.rst:16 +msgid "Writing style" +msgstr "" + +#: ../../docs/contributing/development/editor/editor_style_guide.rst:18 +msgid "" +"**Write messages (errors, warnings, ...) as full sentences.** They should " +"start with an uppercase letter and end with a period." +msgstr "" + +#: ../../docs/contributing/development/editor/editor_style_guide.rst:20 +msgid "" +"**Try to keep sentences short.** This makes it more likely that their " +"translations will be short as well, which is a good thing to avoid UI bugs." +msgstr "" + +#: ../../docs/contributing/development/editor/editor_style_guide.rst:22 +msgid "" +"**Use contractions.** For example, use \"isn't\" instead of \"is not\". An " +"exception to this rule can be made when you specifically want to emphasize " +"one of the contraction's words." +msgstr "" + +#: ../../docs/contributing/development/editor/editor_style_guide.rst:25 +msgid "" +"**Use double quotes in messages** (``\"\"``) instead of single quotes " +"(``''``). Double quotes should be used to quote user input, file paths and " +"possibly other things depending on the context." +msgstr "" + +#: ../../docs/contributing/development/editor/editor_style_guide.rst:31 +msgid "" +"Try to follow the :ref:`doc_docs_writing_guidelines` in addition to the " +"guidelines outlined above." +msgstr "" + +#: ../../docs/contributing/development/editor/editor_style_guide.rst:35 +msgid "Button and menu texts" +msgstr "" + +#: ../../docs/contributing/development/editor/editor_style_guide.rst:37 +msgid "Capitalize text in buttons and menu actions:" +msgstr "" + +#: ../../docs/contributing/development/editor/editor_style_guide.rst:39 +msgid "**Good:** *Open Editor Data Folder*" +msgstr "" + +#: ../../docs/contributing/development/editor/editor_style_guide.rst:40 +msgid "**Bad:** *Open editor data folder*" +msgstr "" + +#: ../../docs/contributing/development/editor/editor_style_guide.rst:42 +msgid "" +"If a menu action opens a modal dialog, suffix it with an ellipsis (``...``)." +msgstr "" + +#: ../../docs/contributing/development/editor/editor_style_guide.rst:44 +msgid "**Good:** *Editor Settings...*" +msgstr "" + +#: ../../docs/contributing/development/editor/editor_style_guide.rst:45 +msgid "**Bad:** *Editor Settings*" +msgstr "" + +#: ../../docs/contributing/development/editor/editor_style_guide.rst:48 +msgid "Inspector sections" +msgstr "" + +#: ../../docs/contributing/development/editor/editor_style_guide.rst:50 +msgid "" +"In general, don't create sections that contain less than 3 items. Sections " +"that contain few items make it difficult to navigate the inspector, while " +"missing the benefits of using sections such as folding." +msgstr "" + +#: ../../docs/contributing/development/editor/editor_style_guide.rst:54 +msgid "" +"There are some valid exceptions for this, such as material features in :ref:" +"`class_StandardMaterial3D`." +msgstr "" + +#: ../../docs/contributing/development/editor/editor_style_guide.rst:57 +msgid "This advice also applies to the Project Settings and Editor Settings." +msgstr "" + +#: ../../docs/contributing/development/editor/editor_style_guide.rst:60 +msgid "Inspector performance hints" +msgstr "" + +#: ../../docs/contributing/development/editor/editor_style_guide.rst:62 +msgid "" +"Enum properties that noticeably impact performance should have a performance " +"hint associated. The hint should refer to the *absolute* performance impact, " +"rather than being relative to the other options provided in the enum. Here " +"are some examples taken from the Godot editor:" +msgstr "" + +#: ../../docs/contributing/development/editor/editor_style_guide.rst:67 +msgid "**Screen-space antialiasing:** *Disabled (Fastest), FXAA (Fast)*" +msgstr "" + +#: ../../docs/contributing/development/editor/editor_style_guide.rst:68 +msgid "" +"**MSAA quality:** *Disabled (Fastest), 2x (Fast), 4x (Average), 8x (Slow), " +"16x (Slower)*" +msgstr "" + +#: ../../docs/contributing/development/editor/editor_style_guide.rst:70 +msgid "" +"**DirectionalLight mode:** *Orthogonal (Fast), PSSM 2 Splits (Average), PSSM " +"4 Splits (Slow)*" +msgstr "" + +#: ../../docs/contributing/development/editor/editor_style_guide.rst:73 +msgid "" +"For consistency, try to stick to the terms below (from fastest to slowest):" +msgstr "" + +#: ../../docs/contributing/development/editor/editor_style_guide.rst:75 +msgid "*Fastest, Faster, Fast, Average, Slow, Slower, Slowest*" +msgstr "" + +#: ../../docs/contributing/development/editor/editor_style_guide.rst:77 +msgid "" +"Their usage doesn't have to be contiguous. For example, you can use only " +"\"Fast\" and \"Slow\" from the list above." +msgstr "" + +#: ../../docs/contributing/development/editor/editor_style_guide.rst:80 +msgid "" +"If you're adding a new enum, its values should be ordered from the fastest " +"option to the slowest option." +msgstr "" + +#: ../../docs/contributing/development/editor/editor_style_guide.rst:84 +msgid "Tooltips" +msgstr "" + +#: ../../docs/contributing/development/editor/editor_style_guide.rst:86 +msgid "" +"Consider adding tooltips whenever the action performed by a button or menu " +"action isn't obvious. You can also provide additional context or highlight " +"caveats in the tooltip." +msgstr "" + +#: ../../docs/contributing/development/editor/editor_style_guide.rst:90 +msgid "" +"You can do this by calling ``set_tooltip(TTR(\"Text here.\"))`` on the " +"Control-based node in question. If the tooltip is particularly long (more " +"than ~80 characters), wrap it over several lines by adding line breaks using " +"``\\n``." +msgstr "" + +#: ../../docs/contributing/development/editor/editor_style_guide.rst:94 +msgid "" +"Tooltips should follow the writing style described above. In addition to " +"this, use indicative mood instead of imperative mood:" +msgstr "" + +#: ../../docs/contributing/development/editor/editor_style_guide.rst:97 +msgid "**Good:** *Computes global illumination for the selected GIProbe.*" +msgstr "" + +#: ../../docs/contributing/development/editor/editor_style_guide.rst:98 +msgid "**Bad:** *Compute global illumination for the selected GIProbe.*" +msgstr "" + #: ../../docs/contributing/documentation/index.rst:4 msgid "Writing documentation" msgstr "" @@ -135808,101 +140791,94 @@ msgid "" msgstr "" #: ../../docs/community/channels.rst:13 -msgid "Q&A" +msgid "Forums" msgstr "" #: ../../docs/community/channels.rst:15 -msgid "`Official Godot Questions & Answers `_" +msgid "`Official Godot Forum `_" msgstr "" -#: ../../docs/community/channels.rst:18 -msgid "Rocket.Chat" +#: ../../docs/community/channels.rst:16 +msgid "`Community Forum `_" msgstr "" -#: ../../docs/community/channels.rst:20 +#: ../../docs/community/channels.rst:19 +msgid "Chats" +msgstr "" + +#: ../../docs/community/channels.rst:21 msgid "`Godot Contributors Chat `_" msgstr "" -#: ../../docs/community/channels.rst:23 -msgid "IRC on Libera.Chat" -msgstr "" - -#: ../../docs/community/channels.rst:27 -msgid "" -"As of January 2021, core developer chat has moved to the Godot Contributors " -"Chat platform listed above." -msgstr "" - -#: ../../docs/community/channels.rst:29 -msgid "" -"`General: #godotengine `_" -msgstr "" - -#: ../../docs/community/channels.rst:31 -msgid "" -"IRC is less active than Discord. Please stick around to get an answer, as it " -"may take several hours for someone to see and answer your questions." -msgstr "" - -#: ../../docs/community/channels.rst:35 -msgid "Other chats" -msgstr "" - -#: ../../docs/community/channels.rst:37 +#: ../../docs/community/channels.rst:22 msgid "`Discord `_" msgstr "" -#: ../../docs/community/channels.rst:38 +#: ../../docs/community/channels.rst:23 msgid "" "`Matrix (IRC compatible) `_" msgstr "" -#: ../../docs/community/channels.rst:41 -msgid "Language-based communities" -msgstr "" - -#: ../../docs/community/channels.rst:43 +#: ../../docs/community/channels.rst:24 msgid "" -"See the `User groups `_ page " -"of the website for a list of local communities." +"`IRC (#godotengine on Libera.Chat) `_" msgstr "" -#: ../../docs/community/channels.rst:47 -msgid "Social networks" +#: ../../docs/community/channels.rst:28 +msgid "" +"As of January 2021, core developer chat has moved to the Godot Contributors " +"Chat platform listed above. IRC is less active. Please stick around to get " +"an answer, as it may take several hours for someone to see and answer your " +"questions." msgstr "" -#: ../../docs/community/channels.rst:49 +#: ../../docs/community/channels.rst:33 +msgid "Social networks and other sites" +msgstr "" + +#: ../../docs/community/channels.rst:35 msgid "`GitHub `_" msgstr "" -#: ../../docs/community/channels.rst:50 +#: ../../docs/community/channels.rst:36 msgid "`Facebook group `_" msgstr "" -#: ../../docs/community/channels.rst:51 +#: ../../docs/community/channels.rst:37 msgid "" "`Twitter `_ (see also the `#GodotEngine " "`_ hashtag)" msgstr "" -#: ../../docs/community/channels.rst:53 +#: ../../docs/community/channels.rst:39 msgid "`Reddit `_" msgstr "" -#: ../../docs/community/channels.rst:54 +#: ../../docs/community/channels.rst:40 msgid "`YouTube `_" msgstr "" -#: ../../docs/community/channels.rst:55 +#: ../../docs/community/channels.rst:41 msgid "`Steam `_" msgstr "" -#: ../../docs/community/channels.rst:58 -msgid "Forum" +#: ../../docs/community/channels.rst:42 +msgid "`itch.io `_" msgstr "" -#: ../../docs/community/channels.rst:60 -msgid "`Godot Forums `_" +#: ../../docs/community/channels.rst:43 +msgid "`linkin.bio `_" +msgstr "" + +#: ../../docs/community/channels.rst:46 +msgid "Language-based communities" +msgstr "" + +#: ../../docs/community/channels.rst:48 +msgid "" +"See the `User groups `_ page " +"of the website for a list of local communities." msgstr "" #: ../../docs/community/tutorials.rst:4 @@ -135933,22 +140909,12 @@ msgstr "" #: ../../docs/community/tutorials.rst:13 msgid "" "The Godot video tutorials by `GDQuest `_, `Game from Scratch `_ " -"and `KidsCanCode `_ are well-regarded in the community and often recommended as a " -"gentle introduction to beginners." +"UCxboW7x0jZqFdvMdCFKTMsQ/playlists>`_ are well-regarded in the community and " +"often recommended as a gentle introduction to beginners." msgstr "" #: ../../docs/community/tutorials.rst:15 msgid "" -"If you're interested in a complete introduction to programming using Godot " -"and GDScript, the unofficial `Godot Tutorials `_ YouTube channel is a good place to start." -msgstr "" - -#: ../../docs/community/tutorials.rst:17 -msgid "" "GDQuest's *Learn GDScript From Zero* is a free and open source interactive " "tutorial for absolute beginners to learn to program with Godot's GDScript " "language. It is available as a `desktop application `_." msgstr "" -#: ../../docs/community/tutorials.rst:19 +#: ../../docs/community/tutorials.rst:17 msgid "" "Some tutorials mentioned below provide more advanced tutorials, e.g. on 3D " "or shaders." msgstr "" -#: ../../docs/community/tutorials.rst:22 +#: ../../docs/community/tutorials.rst:20 msgid "Video tutorials" msgstr "" +#: ../../docs/community/tutorials.rst:22 +msgid "" +"`BornCG `_ (2D and 3D, GDScript)" +msgstr "" + +#: ../../docs/community/tutorials.rst:23 +msgid "" +"`Clear Code `_ (2D, GDScript, " +"Programming Basics)" +msgstr "" + #: ../../docs/community/tutorials.rst:24 msgid "" -"`Godot Tutorials `_ (2D, GDScript, Programming Basics)." +"`FencerDevLog `_ (2D, 3D, GDScript, " +"Shaders)" msgstr "" #: ../../docs/community/tutorials.rst:25 msgid "" -"`Emilio `_ (2D, " -"GDScript)." +"`FinePointCGI `_ " +"(2D, 3D, GDScript and C#)" msgstr "" #: ../../docs/community/tutorials.rst:26 msgid "" -"`FinePointCGI `_ " -"(2D, 3D, GDScript and C#)." +"`GDQuest `_ (2D and 3D, GDScript and C#)" msgstr "" #: ../../docs/community/tutorials.rst:27 msgid "" -"`GDQuest `_ (2D and 3D, GDScript and C#)." +"`Game Dev Artisan `_ (2D, GDScript)" msgstr "" #: ../../docs/community/tutorials.rst:28 msgid "" "`Game Development Center `_ " -"(2D, networked multiplayer, GDScript)." +"(2D, networked multiplayer, GDScript)" msgstr "" #: ../../docs/community/tutorials.rst:29 msgid "" "`Game Endeavor `_ (2D, GDScript)." +"videos>`_ (2D, GDScript)" msgstr "" #: ../../docs/community/tutorials.rst:30 -msgid "" -"`Game from Scratch `_ (2D and 3D, " -"GDScript and C#)." +msgid "`Gwizz `_ (2D, GDScript)" msgstr "" #: ../../docs/community/tutorials.rst:31 msgid "" -"`HeartBeast `_ (2D, GDScript)." +"`Godotneers `_ (2D, Shaders, GDScript)" msgstr "" #: ../../docs/community/tutorials.rst:32 -msgid "" -"`KidsCanCode `__ (2D and 3D, GDScript)." +msgid "`HeartBeast `_ (2D, GDScript)" msgstr "" #: ../../docs/community/tutorials.rst:33 msgid "" -"`Mister Taft Creates `_ (2D, GDScript)." +"`KidsCanCode `__ (2D and 3D, GDScript)" msgstr "" #: ../../docs/community/tutorials.rst:34 -msgid "" -"`Miziziziz `_ (2D and 3D, GDScript)." +msgid "`Maker Tech `_ (2D, GDScript)" msgstr "" #: ../../docs/community/tutorials.rst:35 -msgid "" -"`P1X / Krzysztof Jankowski `_ (3D)." +msgid "`Pigdev `_ (2D, GDScript)" msgstr "" #: ../../docs/community/tutorials.rst:36 msgid "" -"`Pigdev `_ (2D, GDScript)." +"`Queble `_ (2D, GDScript)" msgstr "" #: ../../docs/community/tutorials.rst:37 -msgid "" -"`Steincodes `__ (2D, " -"GDScript)." -msgstr "" - -#: ../../docs/community/tutorials.rst:38 -msgid "" -"`TheBuffED `_ (2D, GDScript)." -msgstr "" - -#: ../../docs/community/tutorials.rst:39 -msgid "" -"`Code with Tom `_ (2D and 3D, GDScript)." +msgid "`Quiver `_ (2D, GDScript)" msgstr "" #: ../../docs/community/tutorials.rst:40 -msgid "" -"`BornCG `_ (2D and 3D, GDScript)." -msgstr "" - -#: ../../docs/community/tutorials.rst:41 -msgid "" -"`TheGuideKnight `_ (2D, GDScript)." +msgid "Text tutorials" msgstr "" #: ../../docs/community/tutorials.rst:42 -msgid "" -"`GDScript Dude `_ " -"(GDScript)." +msgid "`FinepointCGI website by Mitch `__" msgstr "" #: ../../docs/community/tutorials.rst:43 -msgid "`Garbaj `_ (3D, GDScript)." +msgid "`GDScript website by Andrew Wilkes `__" msgstr "" #: ../../docs/community/tutorials.rst:44 msgid "" -"`Kasper Frandsen `_ (3D, Shaders)." -msgstr "" - -#: ../../docs/community/tutorials.rst:45 -msgid "" -"`bitbrain `_ (2D, GDScript)." -msgstr "" - -#: ../../docs/community/tutorials.rst:46 -msgid "`Gwizz `_ (2D, GDScript)." -msgstr "" - -#: ../../docs/community/tutorials.rst:47 -msgid "`Quiver `_ (2D, GDScript)." -msgstr "" - -#: ../../docs/community/tutorials.rst:48 -msgid "" -"`Maker Tech `_ (2D, GDScript)." -msgstr "" - -#: ../../docs/community/tutorials.rst:49 -msgid "" -"`Clear Code `_ (2D, GDScript, " -"Programming Basics)." -msgstr "" - -#: ../../docs/community/tutorials.rst:50 -msgid "" -"`Game Dev Artisan `_ (2D, GDScript)." -msgstr "" - -#: ../../docs/community/tutorials.rst:51 -msgid "" -"`FencerDevLog `_ (2D, 3D, GDScript, " -"Shaders)." -msgstr "" - -#: ../../docs/community/tutorials.rst:54 -msgid "Text tutorials" -msgstr "" - -#: ../../docs/community/tutorials.rst:56 -msgid "`FinepointCGI website by Mitch `__" -msgstr "" - -#: ../../docs/community/tutorials.rst:57 -msgid "`GDScript website by Andrew Wilkes `__" -msgstr "" - -#: ../../docs/community/tutorials.rst:58 -msgid "" "`Godot Recipes by KidsCanCode `__" msgstr "" -#: ../../docs/community/tutorials.rst:59 +#: ../../docs/community/tutorials.rst:45 msgid "" "`Godot Tutorials by SomethingLikeGames `__" msgstr "" -#: ../../docs/community/tutorials.rst:60 +#: ../../docs/community/tutorials.rst:46 msgid "`Game Dev Artisan website `__" msgstr "" -#: ../../docs/community/tutorials.rst:61 +#: ../../docs/community/tutorials.rst:47 msgid "" "`Night Quest Games Blog `__" msgstr "" -#: ../../docs/community/tutorials.rst:64 +#: ../../docs/community/tutorials.rst:50 msgid "Devlogs" msgstr "" -#: ../../docs/community/tutorials.rst:66 -msgid "" -"`Andrea Catania (Physics & AI) `_" -msgstr "" - -#: ../../docs/community/tutorials.rst:67 +#: ../../docs/community/tutorials.rst:52 msgid "" "`Bastiaan Olij (AR & VR) `_" msgstr "" -#: ../../docs/community/tutorials.rst:68 +#: ../../docs/community/tutorials.rst:53 +msgid "`bitbrain `_" +msgstr "" + +#: ../../docs/community/tutorials.rst:54 msgid "`DevDuck (2D) `_" msgstr "" -#: ../../docs/community/tutorials.rst:73 +#: ../../docs/community/tutorials.rst:59 msgid "" "`awesome-godot: A curated list of free/libre plugins, scripts and add-ons " "`_" msgstr "" -#: ../../docs/community/tutorials.rst:74 +#: ../../docs/community/tutorials.rst:60 +msgid "`Godot Asset Library `_" +msgstr "" + +#: ../../docs/community/tutorials.rst:61 +msgid "" +"`Godot Shaders: A community-driven shader library `_" +msgstr "" + +#: ../../docs/community/tutorials.rst:62 msgid "" "`Zeef Godot Engine: A curated directory of resources by Andre Schmitz " "`_"