From 36b62d0d10ca25bd911d650da42a938cd61f3c28 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Verschelde?= Date: Tue, 21 Nov 2023 12:56:52 +0100 Subject: [PATCH] Sync Sphinx and Weblate templates with current docs --- docs | 2 +- .../about/complying_with_licenses.pot | 4 +- sphinx/templates/about/docs_changelog.pot | 4 +- sphinx/templates/about/faq.pot | 463 +- sphinx/templates/about/introduction.pot | 6 +- sphinx/templates/about/list_of_features.pot | 1388 +- sphinx/templates/about/release_policy.pot | 2 +- sphinx/templates/about/troubleshooting.pot | 86 +- .../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 | 4 +- sphinx/templates/community/tutorials.pot | 58 +- ...best_practices_for_engine_contributors.pot | 2 +- .../development/code_style_guidelines.pot | 18 +- .../compiling/compiling_for_android.pot | 14 +- .../compiling/compiling_for_ios.pot | 2 +- .../compiling/compiling_for_linuxbsd.pot | 2 +- .../compiling/compiling_for_macos.pot | 4 +- .../compiling/compiling_for_uwp.pot | 33 - .../compiling/compiling_for_web.pot | 2 +- .../compiling/compiling_for_windows.pot | 38 +- .../compiling/compiling_with_dotnet.pot | 2 +- .../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 | 42 +- .../introduction_to_the_buildsystem.pot | 274 +- .../compiling/optimizing_for_size.pot | 309 +- .../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 | 26 +- .../common_engine_methods_and_macros.pot | 2 +- .../core_and_modules/core_types.pot | 2 +- .../core_and_modules/custom_audiostreams.pot | 4 +- .../core_and_modules/custom_godot_servers.pot | 2 +- .../custom_modules_in_cpp.pot | 2 +- .../custom_platform_ports.pot | 76 +- .../custom_resource_format_loaders.pot | 2 +- .../godot_architecture_diagram.pot | 2 +- .../development/core_and_modules/index.pot | 2 +- .../inheritance_class_tree.pot | 2 +- .../internal_rendering_architecture.pot | 2 +- .../core_and_modules/object_class.pot | 20 +- .../core_and_modules/unit_testing.pot | 20 +- .../core_and_modules/variant_class.pot | 2 +- .../development/cpp_usage_guidelines.pot | 2 +- .../development/debugging/index.pot | 2 +- .../development/debugging/macos_debug.pot | 8 +- .../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 | 10 +- .../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 | 4 +- .../contributing/ways_to_contribute.pot | 4 +- .../workflow/bisecting_regressions.pot | 2 +- .../workflow/bug_triage_guidelines.pot | 4 +- .../templates/contributing/workflow/index.pot | 2 +- .../workflow/pr_review_guidelines.pot | 2 +- .../contributing/workflow/pr_workflow.pot | 2 +- .../workflow/testing_pull_requests.pot | 2 +- .../first_2d_game/01.project_setup.pot | 4 +- .../first_2d_game/02.player_scene.pot | 16 +- .../first_2d_game/03.coding_the_player.pot | 104 +- .../first_2d_game/04.creating_the_enemy.pot | 40 +- .../first_2d_game/05.the_main_game_scene.pot | 36 +- .../first_2d_game/06.heads_up_display.pot | 58 +- .../first_2d_game/07.finishing-up.pot | 28 +- .../getting_started/first_2d_game/index.pot | 2 +- .../first_3d_game/01.game_setup.pot | 2 +- .../first_3d_game/02.player_input.pot | 2 +- .../first_3d_game/03.player_movement_code.pot | 8 +- .../first_3d_game/04.mob_scene.pot | 2 +- .../first_3d_game/05.spawning_mobs.pot | 2 +- .../first_3d_game/06.jump_and_squash.pot | 68 +- .../first_3d_game/07.killing_player.pot | 28 +- .../first_3d_game/08.score_and_replay.pot | 2 +- .../first_3d_game/09.adding_animations.pot | 98 +- .../first_3d_game/going_further.pot | 2 +- .../getting_started/first_3d_game/index.pot | 2 +- .../introduction/first_look_at_the_editor.pot | 4 +- .../introduction/godot_design_philosophy.pot | 64 +- .../getting_started/introduction/index.pot | 8 +- .../introduction/introduction_to_godot.pot | 2 +- .../introduction/key_concepts_overview.pot | 4 +- .../introduction/learning_new_features.pot | 4 +- .../getting_started/step_by_step/index.pot | 2 +- .../step_by_step/instancing.pot | 116 +- .../step_by_step/nodes_and_scenes.pot | 8 +- .../step_by_step/scripting_first_script.pot | 114 +- .../step_by_step/scripting_languages.pot | 22 +- .../step_by_step/scripting_player_input.pot | 56 +- .../getting_started/step_by_step/signals.pot | 6 +- sphinx/templates/index.pot | 2 +- sphinx/templates/sphinx.pot | 2 +- .../tutorials/2d/2d_antialiasing.pot | 2 +- .../tutorials/2d/2d_lights_and_shadows.pot | 2 +- sphinx/templates/tutorials/2d/2d_meshes.pot | 2 +- sphinx/templates/tutorials/2d/2d_movement.pot | 2 +- .../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 | 74 +- sphinx/templates/tutorials/2d/index.pot | 2 +- .../tutorials/2d/particle_systems_2d.pot | 435 +- .../templates/tutorials/2d/using_tilemaps.pot | 266 +- .../templates/tutorials/2d/using_tilesets.pot | 46 +- .../tutorials/3d/3d_antialiasing.pot | 4 +- .../tutorials/3d/3d_rendering_limitations.pot | 4 +- sphinx/templates/tutorials/3d/3d_text.pot | 2 +- sphinx/templates/tutorials/3d/csg_tools.pot | 8 +- .../3d/environment_and_post_processing.pot | 470 +- .../faking_global_illumination.pot | 2 +- .../3d/global_illumination/index.pot | 2 +- .../introduction_to_global_illumination.pot | 2 +- .../global_illumination/reflection_probes.pot | 103 +- .../global_illumination/using_lightmap_gi.pot | 224 +- .../3d/global_illumination/using_sdfgi.pot | 2 +- .../3d/global_illumination/using_voxel_gi.pot | 2 +- .../tutorials/3d/high_dynamic_range.pot | 4 +- sphinx/templates/tutorials/3d/index.pot | 2 +- .../tutorials/3d/introduction_to_3d.pot | 106 +- .../tutorials/3d/lights_and_shadows.pot | 194 +- 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 | 80 +- .../tutorials/3d/particles/index.pot | 14 +- .../particles/process_material_properties.pot | 432 +- .../tutorials/3d/particles/properties.pot | 78 +- .../tutorials/3d/particles/subemitters.pot | 2 +- .../tutorials/3d/particles/trails.pot | 4 +- .../tutorials/3d/particles/turbulence.pot | 2 +- .../3d/physical_light_and_camera_units.pot | 2 +- .../3d/procedural_geometry/arraymesh.pot | 2 +- .../3d/procedural_geometry/immediatemesh.pot | 36 +- .../3d/procedural_geometry/index.pot | 78 +- .../3d/procedural_geometry/meshdatatool.pot | 2 +- .../3d/procedural_geometry/surfacetool.pot | 2 +- .../tutorials/3d/resolution_scaling.pot | 2 +- .../tutorials/3d/standard_material_3d.pot | 746 +- .../templates/tutorials/3d/using_decals.pot | 6 +- .../templates/tutorials/3d/using_gridmaps.pot | 2 +- .../3d/using_multi_mesh_instance.pot | 2 +- .../tutorials/3d/using_transforms.pot | 62 +- .../tutorials/3d/variable_rate_shading.pot | 2 +- .../tutorials/3d/visibility_ranges.pot | 194 +- .../templates/tutorials/3d/volumetric_fog.pot | 2 +- .../tutorials/animation/2d_skeletons.pot | 4 +- .../animation/animation_track_types.pot | 2 +- .../tutorials/animation/animation_tree.pot | 2 +- .../tutorials/animation/creating_movies.pot | 84 +- .../tutorials/animation/cutout_animation.pot | 2 +- .../templates/tutorials/animation/index.pot | 2 +- .../tutorials/animation/introduction.pot | 2 +- .../tutorials/animation/playing_videos.pot | 134 +- .../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 | 8 +- .../assets_pipeline/import_process.pot | 2 +- .../importing_3d_scenes/available_formats.pot | 233 + .../import_configuration.pot | 512 + .../importing_3d_scenes/index.pot | 33 + .../model_export_considerations.pot | 93 + .../node_type_customization.pot | 170 + .../importing_audio_samples.pot | 8 +- .../assets_pipeline/importing_images.pot | 544 +- .../assets_pipeline/importing_scenes.pot | 897 - .../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 | 188 +- .../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 | 4 +- .../autoloads_versus_internal_nodes.pot | 2 +- .../best_practices/data_preferences.pot | 2 +- .../best_practices/godot_interfaces.pot | 40 +- .../best_practices/godot_notifications.pot | 22 +- .../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 | 20 +- .../best_practices/scene_organization.pot | 4 +- .../best_practices/scenes_versus_scripts.pot | 80 +- .../version_control_systems.pot | 2 +- .../best_practices/what_are_godot_classes.pot | 2 +- .../editor/command_line_tutorial.pot | 2 +- .../tutorials/editor/customizing_editor.pot | 2 +- .../tutorials/editor/default_key_mapping.pot | 44 +- .../tutorials/editor/external_editor.pot | 36 +- sphinx/templates/tutorials/editor/index.pot | 2 +- .../tutorials/editor/inspector_dock.pot | 2 +- .../editor/managing_editor_features.pot | 2 +- .../tutorials/editor/project_manager.pot | 54 +- .../tutorials/editor/project_settings.pot | 2 +- .../editor/using_the_android_editor.pot | 22 +- .../tutorials/editor/using_the_web_editor.pot | 2 +- ...tom_build.pot => android_gradle_build.pot} | 52 +- .../changing_application_icon_for_windows.pot | 2 +- .../export/exporting_for_android.pot | 24 +- .../exporting_for_dedicated_servers.pot | 4 +- .../tutorials/export/exporting_for_ios.pot | 10 +- .../tutorials/export/exporting_for_linux.pot | 4 +- .../tutorials/export/exporting_for_macos.pot | 20 +- .../tutorials/export/exporting_for_uwp.pot | 33 - .../tutorials/export/exporting_for_web.pot | 194 +- .../export/exporting_for_windows.pot | 10 +- .../tutorials/export/exporting_pcks.pot | 2 +- .../tutorials/export/exporting_projects.pot | 2 +- .../tutorials/export/feature_tags.pot | 180 +- 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 | 6 +- sphinx/templates/tutorials/i18n/locales.pot | 2 +- .../i18n/localization_using_gettext.pot | 2 +- .../tutorials/i18n/pseudolocalization.pot | 2 +- .../inputs/controllers_gamepads_joysticks.pot | 2 +- .../tutorials/inputs/custom_mouse_cursor.pot | 12 +- .../inputs/handling_quit_requests.pot | 2 +- sphinx/templates/tutorials/inputs/index.pot | 2 +- .../tutorials/inputs/input_examples.pot | 2 +- .../templates/tutorials/inputs/inputevent.pot | 18 +- .../inputs/mouse_and_input_coordinates.pot | 4 +- .../tutorials/io/background_loading.pot | 2 +- .../tutorials/io/binary_serialization_api.pot | 4 +- sphinx/templates/tutorials/io/data_paths.pot | 2 +- sphinx/templates/tutorials/io/index.pot | 2 +- .../io/runtime_file_loading_and_saving.pot | 241 + .../templates/tutorials/io/saving_games.pot | 4 +- .../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 | 108 +- .../templates/tutorials/math/vector_math.pot | 4 +- .../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 | 1023 + .../migrating/upgrading_to_godot_4.pot | 718 +- .../templates/tutorials/navigation/index.pot | 2 +- .../navigation_connecting_navmesh.pot | 6 +- .../navigation/navigation_debug_tools.pot | 68 +- ...navigation_different_actor_area_access.pot | 6 +- .../navigation_different_actor_locomotion.pot | 2 +- .../navigation_different_actor_types.pot | 2 +- .../navigation/navigation_introduction_2d.pot | 154 +- .../navigation/navigation_introduction_3d.pot | 112 +- .../navigation_optimizing_performance.pot | 8 +- .../navigation_using_navigationagents.pot | 16 +- .../navigation_using_navigationlayers.pot | 12 +- .../navigation_using_navigationlinks.pot | 4 +- .../navigation_using_navigationmaps.pot | 16 +- .../navigation_using_navigationmeshes.pot | 114 +- .../navigation_using_navigationobstacles.pot | 2 +- ...ation_using_navigationpathqueryobjects.pot | 2 +- .../navigation_using_navigationpaths.pot | 14 +- .../navigation_using_navigationregions.pot | 10 +- .../navigation_using_navigationservers.pot | 82 +- .../networking/high_level_multiplayer.pot | 92 +- .../networking/http_client_class.pot | 2 +- .../networking/http_request_class.pot | 40 +- .../templates/tutorials/networking/index.pot | 2 +- .../tutorials/networking/ssl_certificates.pot | 2 +- .../templates/tutorials/networking/webrtc.pot | 14 +- .../tutorials/networking/websocket.pot | 2 +- .../performance/cpu_optimization.pot | 2 +- .../performance/general_optimization.pot | 2 +- .../performance/gpu_optimization.pot | 4 +- .../templates/tutorials/performance/index.pot | 2 +- .../performance/optimizing_3d_performance.pot | 2 +- .../performance/thread_safe_apis.pot | 2 +- .../tutorials/performance/using_multimesh.pot | 2 +- .../performance/using_multiple_threads.pot | 2 +- .../tutorials/performance/using_servers.pot | 22 +- .../animating_thousands_of_fish.pot | 2 +- .../controlling_thousands_of_fish.pot | 2 +- .../performance/vertex_animation/index.pot | 2 +- .../tutorials/physics/collision_shapes_2d.pot | 8 +- .../tutorials/physics/collision_shapes_3d.pot | 24 +- sphinx/templates/tutorials/physics/index.pot | 2 +- .../physics/kinematic_character_2d.pot | 2 +- .../physics/large_world_coordinates.pot | 2 +- .../physics/physics_introduction.pot | 6 +- .../tutorials/physics/ragdoll_system.pot | 2 +- .../tutorials/physics/ray-casting.pot | 30 +- .../tutorials/physics/rigid_body.pot | 12 +- .../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 | 150 +- .../platform/android/android_library.pot | 265 + .../platform/android/android_plugin.pot | 482 +- .../tutorials/platform/android/index.pot | 6 +- .../templates/tutorials/platform/consoles.pot | 4 +- 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 | 8 +- .../plugins/editor/import_plugins.pot | 18 +- .../tutorials/plugins/editor/index.pot | 2 +- .../plugins/editor/inspector_plugins.pot | 2 +- .../plugins/editor/installing_plugins.pot | 2 +- .../editor/making_main_screen_plugins.pot | 4 +- .../plugins/editor/making_plugins.pot | 4 +- .../plugins/editor/visual_shader_plugins.pot | 2 +- sphinx/templates/tutorials/plugins/index.pot | 2 +- .../plugins/running_code_in_the_editor.pot | 103 +- .../templates/tutorials/rendering/index.pot | 2 +- .../tutorials/rendering/jitter_stutter.pot | 52 +- .../rendering/multiple_resolutions.pot | 258 +- .../tutorials/rendering/viewports.pot | 186 +- .../scripting/c_sharp/c_sharp_basics.pot | 194 +- .../scripting/c_sharp/c_sharp_collections.pot | 2 +- .../scripting/c_sharp/c_sharp_differences.pot | 1305 +- .../scripting/c_sharp/c_sharp_exports.pot | 166 +- .../scripting/c_sharp/c_sharp_features.pot | 10 +- .../c_sharp/c_sharp_global_classes.pot | 2 +- .../scripting/c_sharp/c_sharp_signals.pot | 2 +- .../scripting/c_sharp/c_sharp_style_guide.pot | 2 +- .../scripting/c_sharp/c_sharp_variant.pot | 2 +- .../scripting/c_sharp/diagnostics/GD0001.pot | 4 +- .../scripting/c_sharp/diagnostics/GD0002.pot | 4 +- .../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 | 89 + .../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 | 4 +- .../scripting/c_sharp/diagnostics/GD0303.pot | 2 +- .../scripting/c_sharp/diagnostics/GD0401.pot | 2 +- .../scripting/c_sharp/diagnostics/GD0402.pot | 2 +- .../scripting/c_sharp/diagnostics/index.pot | 2 +- .../tutorials/scripting/c_sharp/index.pot | 60 +- .../scripting/change_scenes_manually.pot | 2 +- .../scripting/creating_script_templates.pot | 2 +- .../scripting/cross_language_scripting.pot | 44 +- .../debug/custom_performance_monitors.pot | 13 +- .../scripting/debug/debugger_panel.pot | 4 +- .../tutorials/scripting/debug/index.pot | 2 +- .../debug/overview_of_debugging_tools.pot | 4 +- .../scripting/debug/the_profiler.pot | 2 +- .../scripting/evaluating_expressions.pot | 4 +- .../tutorials/scripting/filesystem.pot | 2 +- .../gdextension/gdextension_cpp_example.pot | 152 +- .../tutorials/scripting/gdextension/index.pot | 2 +- .../gdextension/what_is_gdextension.pot | 70 +- .../scripting/gdscript/gdscript_advanced.pot | 2 +- .../scripting/gdscript/gdscript_basics.pot | 1742 +- .../gdscript_documentation_comments.pot | 98 +- .../scripting/gdscript/gdscript_exports.pot | 150 +- .../gdscript/gdscript_format_string.pot | 146 +- .../gdscript/gdscript_styleguide.pot | 168 +- .../tutorials/scripting/gdscript/index.pot | 2 +- .../scripting/gdscript/static_typing.pot | 316 +- .../scripting/gdscript/warning_system.pot | 38 +- .../templates/tutorials/scripting/groups.pot | 2 +- .../scripting/how_to_read_the_godot_api.pot | 2 +- .../scripting/idle_and_physics_processing.pot | 4 +- .../templates/tutorials/scripting/index.pot | 2 +- .../scripting/instancing_with_signals.pot | 2 +- .../scripting/nodes_and_scene_instances.pot | 2 +- .../scripting/overridable_functions.pot | 12 +- .../tutorials/scripting/pausing_games.pot | 2 +- .../tutorials/scripting/resources.pot | 74 +- .../tutorials/scripting/scene_tree.pot | 56 +- .../scripting/scene_unique_nodes.pot | 2 +- .../scripting/singletons_autoload.pot | 2 +- .../shaders/advanced_postprocessing.pot | 4 +- .../tutorials/shaders/compute_shaders.pot | 2 +- .../converting_glsl_to_godot_shaders.pot | 2 +- .../shaders/custom_postprocessing.pot | 38 +- sphinx/templates/tutorials/shaders/index.pot | 2 +- .../shaders/introduction_to_shaders.pot | 2 +- .../tutorials/shaders/making_trees.pot | 6 +- .../shaders/screen-reading_shaders.pot | 56 +- .../tutorials/shaders/shader_materials.pot | 2 +- .../shader_reference/canvas_item_shader.pot | 238 +- .../shaders/shader_reference/fog_shader.pot | 2 +- .../shaders/shader_reference/index.pot | 2 +- .../shader_reference/particle_shader.pot | 2 +- .../shader_reference/shader_preprocessor.pot | 114 +- .../shader_reference/shading_language.pot | 898 +- .../shaders/shader_reference/sky_shader.pot | 190 +- .../shader_reference/spatial_shader.pot | 636 +- .../tutorials/shaders/shaders_style_guide.pot | 134 +- .../shaders/using_viewport_as_texture.pot | 2 +- .../tutorials/shaders/visual_shaders.pot | 2 +- .../shaders/your_first_shader/index.pot | 2 +- .../your_first_2d_shader.pot | 2 +- .../your_first_3d_shader.pot | 2 +- .../your_second_3d_shader.pot | 4 +- .../tutorials/ui/bbcode_in_richtextlabel.pot | 567 +- .../tutorials/ui/control_node_gallery.pot | 2 +- .../tutorials/ui/custom_gui_controls.pot | 6 +- .../templates/tutorials/ui/gui_containers.pot | 44 +- .../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 | 484 +- .../tutorials/ui/gui_using_theme_editor.pot | 2 +- sphinx/templates/tutorials/ui/index.pot | 4 +- .../tutorials/ui/size_and_anchors.pot | 2 +- .../tutorials/xr/basic_xr_locomotion.pot | 2 +- .../tutorials/xr/deploying_to_android.pot | 98 +- sphinx/templates/tutorials/xr/index.pot | 2 +- .../tutorials/xr/introducing_xr_tools.pot | 2 +- .../tutorials/xr/openxr_hand_tracking.pot | 4 +- .../tutorials/xr/openxr_passthrough.pot | 2 +- .../templates/tutorials/xr/setting_up_xr.pot | 8 +- .../templates/tutorials/xr/xr_action_map.pot | 2 +- .../templates/tutorials/xr/xr_room_scale.pot | 2 +- templates_list.txt | 14 +- weblate/docs.pot | 22603 +++++++++------- 465 files changed, 27578 insertions(+), 19835 deletions(-) delete mode 100644 sphinx/templates/contributing/development/compiling/compiling_for_uwp.pot create mode 100644 sphinx/templates/tutorials/assets_pipeline/importing_3d_scenes/available_formats.pot create mode 100644 sphinx/templates/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.pot create mode 100644 sphinx/templates/tutorials/assets_pipeline/importing_3d_scenes/index.pot create mode 100644 sphinx/templates/tutorials/assets_pipeline/importing_3d_scenes/model_export_considerations.pot create mode 100644 sphinx/templates/tutorials/assets_pipeline/importing_3d_scenes/node_type_customization.pot delete mode 100644 sphinx/templates/tutorials/assets_pipeline/importing_scenes.pot rename sphinx/templates/tutorials/export/{android_custom_build.pot => android_gradle_build.pot} (53%) delete mode 100644 sphinx/templates/tutorials/export/exporting_for_uwp.pot create mode 100644 sphinx/templates/tutorials/io/runtime_file_loading_and_saving.pot create mode 100644 sphinx/templates/tutorials/migrating/upgrading_to_godot_4.2.pot create mode 100644 sphinx/templates/tutorials/platform/android/android_library.pot create mode 100644 sphinx/templates/tutorials/scripting/c_sharp/diagnostics/GD0107.pot diff --git a/docs b/docs index 950c8b9a4d..f959b46ff0 160000 --- a/docs +++ b/docs @@ -1 +1 @@ -Subproject commit 950c8b9a4d625f2852729bc8d3eb0cf1c20f3ebf +Subproject commit f959b46ff0fcaffad25f93f39581930883932929 diff --git a/sphinx/templates/about/complying_with_licenses.pot b/sphinx/templates/about/complying_with_licenses.pot index c96b8b8dfa..8ede09fcf4 100644 --- a/sphinx/templates/about/complying_with_licenses.pot +++ b/sphinx/templates/about/complying_with_licenses.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -148,7 +148,7 @@ msgid "Output log" 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 and UWP)." +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)." msgstr "" #: ../../docs/about/complying_with_licenses.rst:109 diff --git a/sphinx/templates/about/docs_changelog.pot b/sphinx/templates/about/docs_changelog.pot index 2608c2c24e..427a2fe058 100644 --- a/sphinx/templates/about/docs_changelog.pot +++ b/sphinx/templates/about/docs_changelog.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -437,7 +437,7 @@ msgid "Project workflow" msgstr "" #: ../../docs/about/docs_changelog.rst:238 -msgid ":ref:`doc_android_custom_build`" +msgid ":ref:`doc_android_gradle_build`" msgstr "" #: ../../docs/about/docs_changelog.rst:243 diff --git a/sphinx/templates/about/faq.pot b/sphinx/templates/about/faq.pot index dc1d90879a..42b7322a1f 100644 --- a/sphinx/templates/about/faq.pot +++ b/sphinx/templates/about/faq.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -53,7 +53,7 @@ msgid "Logos and icons are generally under the same Creative Commons license. No msgstr "" #: ../../docs/about/faq.rst:30 -msgid "For full details, look at the `COPYRIGHT.txt `_ as well as the `LICENSE.txt `_ and `LOGO_LICENSE.txt `_ files in the Godot repository." +msgid "For full details, look at the `COPYRIGHT.txt `_ as well as the `LICENSE.txt `_ and `LOGO_LICENSE.txt `_ files in the Godot repository." msgstr "" #: ../../docs/about/faq.rst:35 @@ -69,13 +69,14 @@ msgid "**For the editor:**" msgstr "" #: ../../docs/about/faq.rst:42 -#: ../../docs/about/faq.rst:203 +#: ../../docs/about/faq.rst:50 +#: ../../docs/about/faq.rst:226 msgid "Windows" msgstr "" #: ../../docs/about/faq.rst:43 #: ../../docs/about/faq.rst:51 -#: ../../docs/about/faq.rst:214 +#: ../../docs/about/faq.rst:237 msgid "macOS" msgstr "" @@ -96,10 +97,6 @@ msgstr "" msgid "**For exporting your games:**" msgstr "" -#: ../../docs/about/faq.rst:50 -msgid "Windows (and UWP)" -msgstr "" - #: ../../docs/about/faq.rst:53 msgid "Android" msgstr "" @@ -128,370 +125,366 @@ msgstr "" msgid "For more on this, see the sections on :ref:`exporting ` and :ref:`compiling Godot yourself `." msgstr "" -#: ../../docs/about/faq.rst:72 +#: ../../docs/about/faq.rst:73 +msgid "Godot 3 also had support for Universal Windows Platform (UWP). This platform port was removed in Godot 4 due to lack of maintenance, and it being deprecated by Microsoft. It is still available in the current stable release of Godot 3 for interested users." +msgstr "" + +#: ../../docs/about/faq.rst:79 msgid "Which programming languages are supported in Godot?" msgstr "" -#: ../../docs/about/faq.rst:74 +#: ../../docs/about/faq.rst:81 msgid "The officially supported languages for Godot are GDScript, C#, and C++. See the subcategories for each language in the :ref:`scripting ` section." msgstr "" -#: ../../docs/about/faq.rst:77 +#: ../../docs/about/faq.rst:84 msgid "If you are just starting out with either Godot or game development in general, GDScript is the recommended language to learn and use since it is native to Godot. While scripting languages tend to be less performant than lower-level languages in the long run, for prototyping, developing Minimum Viable Products (MVPs), and focusing on Time-To-Market (TTM), GDScript will provide a fast, friendly, and capable way of developing your games." msgstr "" -#: ../../docs/about/faq.rst:84 -msgid "Note that C# support is still relatively new, and as such, you may encounter some issues along the way. C# support is also currently missing on Android, iOS and web platforms. Our friendly and hard-working development community is always ready to tackle new problems as they arise, but since this is an open source project, we recommend that you first do some due diligence yourself. Searching through discussions on `open issues `__ is a great way to start your troubleshooting." -msgstr "" - -#: ../../docs/about/faq.rst:93 -msgid "As for new languages, support is possible via third parties with GDExtensions. (See the question about plugins below). Work is currently underway, for example, on unofficial bindings for Godot to `Python `_ and `Nim `_." +#: ../../docs/about/faq.rst:91 +msgid "Note that C# support is still relatively new, and as such, you may encounter some issues along the way. C# support is also currently missing on the web platform. Our friendly and hard-working development community is always ready to tackle new problems as they arise, but since this is an open source project, we recommend that you first do some due diligence yourself. Searching through discussions on `open issues `__ is a great way to start your troubleshooting." msgstr "" #: ../../docs/about/faq.rst:100 +msgid "As for new languages, support is possible via third parties with GDExtensions. (See the question about plugins below). Work is currently underway, for example, on unofficial bindings for Godot to `Python `_ and `Nim `_." +msgstr "" + +#: ../../docs/about/faq.rst:107 msgid "What is GDScript and why should I use it?" msgstr "" -#: ../../docs/about/faq.rst:102 +#: ../../docs/about/faq.rst:109 msgid "GDScript is Godot's integrated scripting language. It was built from the ground up to maximize Godot's potential in the least amount of code, affording both novice and expert developers alike to capitalize on Godot's strengths as fast as possible. If you've ever written anything in a language like Python before, then you'll feel right at home. For examples and a complete overview of the power GDScript offers you, check out the :ref:`GDScript scripting guide `." msgstr "" -#: ../../docs/about/faq.rst:109 +#: ../../docs/about/faq.rst:116 msgid "There are several reasons to use GDScript, especially when you are prototyping, in alpha/beta stages of your project, or are not creating the next AAA title. The most salient reason is the overall **reduction of complexity**." msgstr "" -#: ../../docs/about/faq.rst:113 +#: ../../docs/about/faq.rst:120 msgid "The original intent of creating a tightly integrated, custom scripting language for Godot was two-fold: first, it reduces the amount of time necessary to get up and running with Godot, giving developers a rapid way of exposing themselves to the engine with a focus on productivity; second, it reduces the overall burden of maintenance, attenuates the dimensionality of issues, and allows the developers of the engine to focus on squashing bugs and improving features related to the engine core, rather than spending a lot of time trying to get a small set of incremental features working across a large set of languages." msgstr "" -#: ../../docs/about/faq.rst:121 +#: ../../docs/about/faq.rst:128 msgid "Since Godot is an open source project, it was imperative from the start to prioritize a more integrated and seamless experience over attracting additional users by supporting more familiar programming languages, especially when supporting those more familiar languages would result in a worse experience. We understand if you would rather use another language in Godot (see the list of supported options above). That being said, if you haven't given GDScript a try, try it for **three days**. Just like Godot, once you see how powerful it is and rapid your development becomes, we think GDScript will grow on you." msgstr "" -#: ../../docs/about/faq.rst:130 +#: ../../docs/about/faq.rst:137 msgid "More information about getting comfortable with GDScript or dynamically typed languages can be found in the :ref:`doc_gdscript_more_efficiently` tutorial." msgstr "" -#: ../../docs/about/faq.rst:134 +#: ../../docs/about/faq.rst:141 msgid "What were the motivations behind creating GDScript?" msgstr "" -#: ../../docs/about/faq.rst:136 +#: ../../docs/about/faq.rst:143 msgid "In the early days, the engine used the `Lua `__ scripting language. Lua can be fast thanks to LuaJIT, but creating bindings to an object-oriented system (by using fallbacks) was complex and slow and took an enormous amount of code. After some experiments with `Python `__, that also proved difficult to embed." msgstr "" -#: ../../docs/about/faq.rst:142 +#: ../../docs/about/faq.rst:149 msgid "The main reasons for creating a custom scripting language for Godot were:" msgstr "" -#: ../../docs/about/faq.rst:144 +#: ../../docs/about/faq.rst:151 msgid "Poor threading support in most script VMs, and Godot uses threads (Lua, Python, Squirrel, JavaScript, ActionScript, etc.)." msgstr "" -#: ../../docs/about/faq.rst:146 +#: ../../docs/about/faq.rst:153 msgid "Poor class-extending support in most script VMs, and adapting to the way Godot works is highly inefficient (Lua, Python, JavaScript)." msgstr "" -#: ../../docs/about/faq.rst:148 +#: ../../docs/about/faq.rst:155 msgid "Many existing languages have horrible interfaces for binding to C++, resulting in a large amount of code, bugs, bottlenecks, and general inefficiency (Lua, Python, Squirrel, JavaScript, etc.). We wanted to focus on a great engine, not a great number of integrations." msgstr "" -#: ../../docs/about/faq.rst:152 -msgid "No native vector types (vector3, matrix4, etc.), resulting in highly reduced performance when using custom types (Lua, Python, Squirrel, JavaScript, ActionScript, etc.)." +#: ../../docs/about/faq.rst:159 +msgid "No native vector types (Vector3, Transform3D, etc.), resulting in highly reduced performance when using custom types (Lua, Python, Squirrel, JavaScript, ActionScript, etc.)." msgstr "" -#: ../../docs/about/faq.rst:155 +#: ../../docs/about/faq.rst:162 msgid "Garbage collector results in stalls or unnecessarily large memory usage (Lua, Python, JavaScript, ActionScript, etc.)." msgstr "" -#: ../../docs/about/faq.rst:157 +#: ../../docs/about/faq.rst:164 msgid "Difficulty integrating with the code editor for providing code completion, live editing, etc. (all of them)." msgstr "" -#: ../../docs/about/faq.rst:160 +#: ../../docs/about/faq.rst:167 msgid "GDScript was designed to curtail the issues above, and more." msgstr "" -#: ../../docs/about/faq.rst:163 +#: ../../docs/about/faq.rst:170 msgid "What 3D model formats does Godot support?" msgstr "" -#: ../../docs/about/faq.rst:165 +#: ../../docs/about/faq.rst:172 msgid "You can find detailed information on supported formats, how to export them from your 3D modeling software, and how to import them for Godot in the :ref:`doc_importing_3d_scenes` documentation." msgstr "" -#: ../../docs/about/faq.rst:170 +#: ../../docs/about/faq.rst:177 msgid "Will [insert closed SDK such as FMOD, GameWorks, etc.] be supported in Godot?" msgstr "" -#: ../../docs/about/faq.rst:172 +#: ../../docs/about/faq.rst:179 msgid "The aim of Godot is to create a free and open source MIT-licensed engine that is modular and extendable. There are no plans for the core engine development community to support any third-party, closed-source/proprietary SDKs, as integrating with these would go against Godot's ethos." msgstr "" -#: ../../docs/about/faq.rst:177 +#: ../../docs/about/faq.rst:184 msgid "That said, because Godot is open source and modular, nothing prevents you or anyone else interested in adding those libraries as a module and shipping your game with them, as either open- or closed-source." msgstr "" -#: ../../docs/about/faq.rst:181 +#: ../../docs/about/faq.rst:188 msgid "To see how support for your SDK of choice could still be provided, look at the Plugins question below." msgstr "" -#: ../../docs/about/faq.rst:184 +#: ../../docs/about/faq.rst:191 msgid "If you know of a third-party SDK that is not supported by Godot but that offers free and open source integration, consider starting the integration work yourself. Godot is not owned by one person; it belongs to the community, and it grows along with ambitious community contributors like you." msgstr "" -#: ../../docs/about/faq.rst:190 -msgid "How do I install the Godot editor on my system (for desktop integration)?" -msgstr "" - -#: ../../docs/about/faq.rst:192 -msgid "Since you don't need to actually install Godot on your system to run it, this means desktop integration is not performed automatically. There are two ways to overcome this. You can install Godot from `Steam `__ (all platforms), `Scoop `__ (Windows), `Homebrew `__ (macOS) or `Flathub `__ (Linux). This will automatically perform the required steps for desktop integration." -msgstr "" - -#: ../../docs/about/faq.rst:200 -msgid "Alternatively, you can manually perform the steps that an installer would do for you:" -msgstr "" - -#: ../../docs/about/faq.rst:205 -msgid "Move the Godot executable to a stable location (i.e. outside of your Downloads folder), so you don't accidentally move it and break the shortcut in the future." -msgstr "" - -#: ../../docs/about/faq.rst:207 -msgid "Right-click the Godot executable and choose **Create Shortcut**." -msgstr "" - -#: ../../docs/about/faq.rst:208 -msgid "Move the created shortcut to ``%APPDATA%\\Microsoft\\Windows\\Start Menu\\Programs``. This is the user-wide location for shortcuts that will appear in the Start menu. You can also pin Godot in the task bar by right-clicking the executable and choosing **Pin to Task Bar**." -msgstr "" - -#: ../../docs/about/faq.rst:216 -msgid "Drag the extracted Godot application to ``/Applications/Godot.app``, then drag it to the Dock if desired. Spotlight will be able to find Godot as long as it's in ``/Applications`` or ``~/Applications``." -msgstr "" - -#: ../../docs/about/faq.rst:221 -msgid "Linux" -msgstr "" - -#: ../../docs/about/faq.rst:223 -msgid "Move the Godot binary to a stable location (i.e. outside of your Downloads folder), so you don't accidentally move it and break the shortcut in the future." -msgstr "" - -#: ../../docs/about/faq.rst:225 -msgid "Rename and move the Godot binary to a location present in your ``PATH`` environment variable. This is typically ``/usr/local/bin/godot`` or ``/usr/bin/godot``. Doing this requires administrator privileges, but this also allows you to :ref:`run the Godot editor from a terminal ` by entering ``godot``." -msgstr "" - -#: ../../docs/about/faq.rst:231 -msgid "If you cannot move the Godot editor binary to a protected location, you can keep the binary somewhere in your home directory, and modify the ``Path=`` line in the ``.desktop`` file linked below to contain the full *absolute* path to the Godot binary." -msgstr "" - -#: ../../docs/about/faq.rst:236 -msgid "Save `this .desktop file `__ to ``$HOME/.local/share/applications/``. If you have administrator privileges, you can also save the ``.desktop`` file to ``/usr/local/share/applications`` to make the shortcut available for all users." -msgstr "" - -#: ../../docs/about/faq.rst:242 -msgid "Is the Godot editor a portable application?" -msgstr "" - -#: ../../docs/about/faq.rst:244 -msgid "In its default configuration, Godot is *semi-portable*. Its executable can run from any location (including non-writable locations) and never requires administrator privileges." -msgstr "" - -#: ../../docs/about/faq.rst:248 -msgid "However, configuration files will be written to the user-wide configuration or data directory. This is usually a good approach, but this means configuration files will not carry across machines if you copy the folder containing the Godot executable. See :ref:`doc_data_paths` for more information." -msgstr "" - -#: ../../docs/about/faq.rst:253 -msgid "If *true* portable operation is desired (e.g. for use on an USB stick), follow the steps in :ref:`doc_data_paths_self_contained_mode`." -msgstr "" - -#: ../../docs/about/faq.rst:257 -msgid "Why does Godot use Vulkan or OpenGL instead of Direct3D?" -msgstr "" - -#: ../../docs/about/faq.rst:259 -msgid "Godot aims for cross-platform compatibility and open standards first and foremost. OpenGL and Vulkan are the technologies that are both open and available on (nearly) all platforms. Thanks to this design decision, a project developed with Godot on Windows will run out of the box on Linux, macOS, and more." -msgstr "" - -#: ../../docs/about/faq.rst:265 -msgid "Since Godot only has a few people working on its renderer, we would prefer having fewer rendering backends to maintain. On top of that, using a single API on all platforms allows for greater consistency with fewer platform-specific issues." -msgstr "" - -#: ../../docs/about/faq.rst:270 -msgid "In the long term, we may develop a Direct3D 12 renderer for Godot (mainly for Xbox), but Vulkan and OpenGL will remain the default rendering backends on all platforms, including Windows." -msgstr "" - -#: ../../docs/about/faq.rst:275 -msgid "Why does Godot aim to keep its core feature set small?" -msgstr "" - -#: ../../docs/about/faq.rst:277 -msgid "Godot intentionally does not include features that can be implemented by add-ons unless they are used very often. One example of something not used often is advanced artificial intelligence functionality." -msgstr "" - -#: ../../docs/about/faq.rst:281 -msgid "There are several reasons for this:" -msgstr "" - -#: ../../docs/about/faq.rst:283 -msgid "**Code maintenance and surface for bugs.** Every time we accept new code in the Godot repository, existing contributors often take the responsibility of maintaining it. Some contributors don't always stick around after getting their code merged, which can make it difficult for us to maintain the code in question. This can lead to poorly maintained features with bugs that are never fixed. On top of that, the \"API surface\" that needs to be tested and checked for regressions keeps increasing over time." -msgstr "" - -#: ../../docs/about/faq.rst:291 -msgid "**Ease of contribution.** By keeping the codebase small and tidy, it can remain fast and easy to compile from source. This makes it easier for new contributors to get started with Godot, without requiring them to purchase high-end hardware." -msgstr "" - -#: ../../docs/about/faq.rst:296 -msgid "**Keeping the binary size small for the editor.** Not everyone has a fast Internet connection. Ensuring that everyone can download the Godot editor, extract it and run it in less than 5 minutes makes Godot more accessible to developers in all countries." -msgstr "" - -#: ../../docs/about/faq.rst:301 -msgid "**Keeping the binary size small for export templates.** This directly impacts the size of projects exported with Godot. On mobile and web platforms, keeping file sizes low is important to ensure fast installation and loading on underpowered devices. Again, there are many countries where high-speed Internet is not readily available. To add to this, strict data usage caps are often in effect in those countries." -msgstr "" - -#: ../../docs/about/faq.rst:308 -msgid "For all the reasons above, we have to be selective of what we can accept as core functionality in Godot. This is why we are aiming to move some core functionality to officially supported add-ons in future versions of Godot. In terms of binary size, this also has the advantage of making you pay only for what you actually use in your project. (In the meantime, you can :ref:`compile custom export templates with unused features disabled ` to optimize the distribution size of your project.)" -msgstr "" - -#: ../../docs/about/faq.rst:317 -msgid "How should assets be created to handle multiple resolutions and aspect ratios?" -msgstr "" - -#: ../../docs/about/faq.rst:319 -msgid "This question pops up often and it's probably thanks to the misunderstanding created by Apple when they originally doubled the resolution of their devices. It made people think that having the same assets in different resolutions was a good idea, so many continued towards that path. That originally worked to a point and only for Apple devices, but then several Android and Apple devices with different resolutions and aspect ratios were created, with a very wide range of sizes and DPIs." -msgstr "" - -#: ../../docs/about/faq.rst:327 -msgid "The most common and proper way to achieve this is to, instead, use a single base resolution for the game and only handle different screen aspect ratios. This is mostly needed for 2D, as in 3D it's just a matter of Camera XFov or YFov." -msgstr "" - -#: ../../docs/about/faq.rst:331 -msgid "Choose a single base resolution for your game. Even if there are devices that go up to 2K and devices that go down to 400p, regular hardware scaling in your device will take care of this at little or no performance cost. The most common choices are either near 1080p (1920x1080) or 720p (1280x720). Keep in mind the higher the resolution, the larger your assets, the more memory they will take and the longer the time it will take for loading." -msgstr "" - -#: ../../docs/about/faq.rst:339 -msgid "Use the stretch options in Godot; 2D stretching while keeping aspect ratios works best. Check the :ref:`doc_multiple_resolutions` tutorial on how to achieve this." -msgstr "" - -#: ../../docs/about/faq.rst:343 -msgid "Determine a minimum resolution and then decide if you want your game to stretch vertically or horizontally for different aspect ratios, or if there is one aspect ratio and you want black bars to appear instead. This is also explained in :ref:`doc_multiple_resolutions`." -msgstr "" - -#: ../../docs/about/faq.rst:348 -msgid "For user interfaces, use the :ref:`anchoring ` to determine where controls should stay and move. If UIs are more complex, consider learning about Containers." -msgstr "" - -#: ../../docs/about/faq.rst:352 -msgid "And that's it! Your game should work in multiple resolutions." -msgstr "" - -#: ../../docs/about/faq.rst:354 -msgid "If there is a desire to make your game also work on ancient devices with tiny screens (fewer than 300 pixels in width), you can use the export option to shrink images, and set that build to be used for certain screen sizes in the App Store or Google Play." -msgstr "" - -#: ../../docs/about/faq.rst:360 +#: ../../docs/about/faq.rst:197 msgid "How can I extend Godot?" msgstr "" -#: ../../docs/about/faq.rst:362 +#: ../../docs/about/faq.rst:199 msgid "For extending Godot, like creating Godot Editor plugins or adding support for additional languages, take a look at :ref:`EditorPlugins ` and tool scripts." msgstr "" -#: ../../docs/about/faq.rst:366 +#: ../../docs/about/faq.rst:203 msgid "Also, see the official blog post on GDExtension, a way to develop native extensions for Godot:" msgstr "" -#: ../../docs/about/faq.rst:368 +#: ../../docs/about/faq.rst:205 msgid "`Introducing GDNative's successor, GDExtension `_" msgstr "" -#: ../../docs/about/faq.rst:370 -msgid "You can also take a look at the GDScript implementation, the Godot modules, as well as the `unofficial Python support `_ for Godot. This would be a good starting point to see how another third-party library integrates with Godot." +#: ../../docs/about/faq.rst:207 +msgid "You can also take a look at the GDScript implementation, the Godot modules, as well as the `Jolt physics engine integration `__ for Godot. This would be a good starting point to see how another third-party library integrates with Godot." +msgstr "" + +#: ../../docs/about/faq.rst:213 +msgid "How do I install the Godot editor on my system (for desktop integration)?" +msgstr "" + +#: ../../docs/about/faq.rst:215 +msgid "Since you don't need to actually install Godot on your system to run it, this means desktop integration is not performed automatically. There are two ways to overcome this. You can install Godot from `Steam `__ (all platforms), `Scoop `__ (Windows), `Homebrew `__ (macOS) or `Flathub `__ (Linux). This will automatically perform the required steps for desktop integration." +msgstr "" + +#: ../../docs/about/faq.rst:223 +msgid "Alternatively, you can manually perform the steps that an installer would do for you:" +msgstr "" + +#: ../../docs/about/faq.rst:228 +msgid "Move the Godot executable to a stable location (i.e. outside of your Downloads folder), so you don't accidentally move it and break the shortcut in the future." +msgstr "" + +#: ../../docs/about/faq.rst:230 +msgid "Right-click the Godot executable and choose **Create Shortcut**." +msgstr "" + +#: ../../docs/about/faq.rst:231 +msgid "Move the created shortcut to ``%APPDATA%\\Microsoft\\Windows\\Start Menu\\Programs``. This is the user-wide location for shortcuts that will appear in the Start menu. You can also pin Godot in the task bar by right-clicking the executable and choosing **Pin to Task Bar**." +msgstr "" + +#: ../../docs/about/faq.rst:239 +msgid "Drag the extracted Godot application to ``/Applications/Godot.app``, then drag it to the Dock if desired. Spotlight will be able to find Godot as long as it's in ``/Applications`` or ``~/Applications``." +msgstr "" + +#: ../../docs/about/faq.rst:244 +msgid "Linux" +msgstr "" + +#: ../../docs/about/faq.rst:246 +msgid "Move the Godot binary to a stable location (i.e. outside of your Downloads folder), so you don't accidentally move it and break the shortcut in the future." +msgstr "" + +#: ../../docs/about/faq.rst:248 +msgid "Rename and move the Godot binary to a location present in your ``PATH`` environment variable. This is typically ``/usr/local/bin/godot`` or ``/usr/bin/godot``. Doing this requires administrator privileges, but this also allows you to :ref:`run the Godot editor from a terminal ` by entering ``godot``." +msgstr "" + +#: ../../docs/about/faq.rst:254 +msgid "If you cannot move the Godot editor binary to a protected location, you can keep the binary somewhere in your home directory, and modify the ``Path=`` line in the ``.desktop`` file linked below to contain the full *absolute* path to the Godot binary." +msgstr "" + +#: ../../docs/about/faq.rst:259 +msgid "Save `this .desktop file `__ to ``$HOME/.local/share/applications/``. If you have administrator privileges, you can also save the ``.desktop`` file to ``/usr/local/share/applications`` to make the shortcut available for all users." +msgstr "" + +#: ../../docs/about/faq.rst:265 +msgid "Is the Godot editor a portable application?" +msgstr "" + +#: ../../docs/about/faq.rst:267 +msgid "In its default configuration, Godot is *semi-portable*. Its executable can run from any location (including non-writable locations) and never requires administrator privileges." +msgstr "" + +#: ../../docs/about/faq.rst:271 +msgid "However, configuration files will be written to the user-wide configuration or data directory. This is usually a good approach, but this means configuration files will not carry across machines if you copy the folder containing the Godot executable. See :ref:`doc_data_paths` for more information." +msgstr "" + +#: ../../docs/about/faq.rst:276 +msgid "If *true* portable operation is desired (e.g. for use on an USB stick), follow the steps in :ref:`doc_data_paths_self_contained_mode`." +msgstr "" + +#: ../../docs/about/faq.rst:280 +msgid "Why does Godot use Vulkan or OpenGL instead of Direct3D?" +msgstr "" + +#: ../../docs/about/faq.rst:282 +msgid "Godot aims for cross-platform compatibility and open standards first and foremost. OpenGL and Vulkan are the technologies that are both open and available on (nearly) all platforms. Thanks to this design decision, a project developed with Godot on Windows will run out of the box on Linux, macOS, and more." +msgstr "" + +#: ../../docs/about/faq.rst:288 +msgid "Since Godot only has a few people working on its renderer, we would prefer having fewer rendering backends to maintain. On top of that, using a single API on all platforms allows for greater consistency with fewer platform-specific issues." +msgstr "" + +#: ../../docs/about/faq.rst:293 +msgid "In the long term, we may develop a Direct3D 12 renderer for Godot (mainly for Xbox), but Vulkan and OpenGL will remain the default rendering backends on all platforms, including Windows." +msgstr "" + +#: ../../docs/about/faq.rst:298 +msgid "Why does Godot aim to keep its core feature set small?" +msgstr "" + +#: ../../docs/about/faq.rst:300 +msgid "Godot intentionally does not include features that can be implemented by add-ons unless they are used very often. One example of something not used often is advanced artificial intelligence functionality." +msgstr "" + +#: ../../docs/about/faq.rst:304 +msgid "There are several reasons for this:" +msgstr "" + +#: ../../docs/about/faq.rst:306 +msgid "**Code maintenance and surface for bugs.** Every time we accept new code in the Godot repository, existing contributors often take the responsibility of maintaining it. Some contributors don't always stick around after getting their code merged, which can make it difficult for us to maintain the code in question. This can lead to poorly maintained features with bugs that are never fixed. On top of that, the \"API surface\" that needs to be tested and checked for regressions keeps increasing over time." +msgstr "" + +#: ../../docs/about/faq.rst:314 +msgid "**Ease of contribution.** By keeping the codebase small and tidy, it can remain fast and easy to compile from source. This makes it easier for new contributors to get started with Godot, without requiring them to purchase high-end hardware." +msgstr "" + +#: ../../docs/about/faq.rst:319 +msgid "**Keeping the binary size small for the editor.** Not everyone has a fast Internet connection. Ensuring that everyone can download the Godot editor, extract it and run it in less than 5 minutes makes Godot more accessible to developers in all countries." +msgstr "" + +#: ../../docs/about/faq.rst:324 +msgid "**Keeping the binary size small for export templates.** This directly impacts the size of projects exported with Godot. On mobile and web platforms, keeping file sizes low is important to ensure fast installation and loading on underpowered devices. Again, there are many countries where high-speed Internet is not readily available. To add to this, strict data usage caps are often in effect in those countries." +msgstr "" + +#: ../../docs/about/faq.rst:331 +msgid "For all the reasons above, we have to be selective of what we can accept as core functionality in Godot. This is why we are aiming to move some core functionality to officially supported add-ons in future versions of Godot. In terms of binary size, this also has the advantage of making you pay only for what you actually use in your project. (In the meantime, you can :ref:`compile custom export templates with unused features disabled ` to optimize the distribution size of your project.)" +msgstr "" + +#: ../../docs/about/faq.rst:340 +msgid "How should assets be created to handle multiple resolutions and aspect ratios?" +msgstr "" + +#: ../../docs/about/faq.rst:342 +msgid "This question pops up often and it's probably thanks to the misunderstanding created by Apple when they originally doubled the resolution of their devices. It made people think that having the same assets in different resolutions was a good idea, so many continued towards that path. That originally worked to a point and only for Apple devices, but then several Android and Apple devices with different resolutions and aspect ratios were created, with a very wide range of sizes and DPIs." +msgstr "" + +#: ../../docs/about/faq.rst:350 +msgid "The most common and proper way to achieve this is to, instead, use a single base resolution for the game and only handle different screen aspect ratios. This is mostly needed for 2D, as in 3D, it's just a matter of camera vertical or horizontal FOV." +msgstr "" + +#: ../../docs/about/faq.rst:355 +msgid "Choose a single base resolution for your game. Even if there are devices that go up to 1440p and devices that go down to 400p, regular hardware scaling in your device will take care of this at little or no performance cost. The most common choices are either near 1080p (1920x1080) or 720p (1280x720). Keep in mind the higher the resolution, the larger your assets, the more memory they will take and the longer the time it will take for loading." +msgstr "" + +#: ../../docs/about/faq.rst:363 +msgid "Use the stretch options in Godot; canvas items stretching while keeping aspect ratios works best. Check the :ref:`doc_multiple_resolutions` tutorial on how to achieve this." +msgstr "" + +#: ../../docs/about/faq.rst:367 +msgid "Determine a minimum resolution and then decide if you want your game to stretch vertically or horizontally for different aspect ratios, or if there is one aspect ratio and you want black bars to appear instead. This is also explained in :ref:`doc_multiple_resolutions`." +msgstr "" + +#: ../../docs/about/faq.rst:372 +msgid "For user interfaces, use the :ref:`anchoring ` to determine where controls should stay and move. If UIs are more complex, consider learning about Containers." msgstr "" #: ../../docs/about/faq.rst:376 +msgid "And that's it! Your game should work in multiple resolutions." +msgstr "" + +#: ../../docs/about/faq.rst:379 msgid "When is the next release of Godot out?" msgstr "" -#: ../../docs/about/faq.rst:378 +#: ../../docs/about/faq.rst:381 msgid "When it's ready! See :ref:`doc_release_policy_when_is_next_release_out` for more information." msgstr "" -#: ../../docs/about/faq.rst:382 +#: ../../docs/about/faq.rst:385 msgid "Which Godot version should I use for a new project?" msgstr "" -#: ../../docs/about/faq.rst:384 +#: ../../docs/about/faq.rst:387 msgid "We recommend using Godot 4.x for new projects, but depending on the feature set you need, it may be better to use 3.x instead. See :ref:`doc_release_policy_which_version_should_i_use` for more information." msgstr "" -#: ../../docs/about/faq.rst:389 +#: ../../docs/about/faq.rst:392 msgid "Should I upgrade my project to use new Godot versions?" msgstr "" -#: ../../docs/about/faq.rst:391 +#: ../../docs/about/faq.rst:394 msgid "Some new versions are safer to upgrade to than others. In general, whether you should upgrade depends on your project's circumstances. See :ref:`doc_release_policy_should_i_upgrade_my_project` for more information." msgstr "" -#: ../../docs/about/faq.rst:396 +#: ../../docs/about/faq.rst:399 msgid "I would like to contribute! How can I get started?" msgstr "" -#: ../../docs/about/faq.rst:398 +#: ../../docs/about/faq.rst:401 msgid "Awesome! As an open source project, Godot thrives off of the innovation and the ambition of developers like you." msgstr "" -#: ../../docs/about/faq.rst:401 +#: ../../docs/about/faq.rst:404 msgid "The best way to start contributing to Godot is by using it and reporting any `issues `_ that you might experience. A good bug report with clear reproduction steps helps your fellow contributors fix bugs quickly and efficiently. You can also report issues you find in the `online documentation `_." msgstr "" -#: ../../docs/about/faq.rst:407 +#: ../../docs/about/faq.rst:410 msgid "If you feel ready to submit your first PR, pick any issue that resonates with you from one of the links above and try your hand at fixing it. You will need to learn how to compile the engine from sources, or how to build the documentation. You also need to get familiar with Git, a version control system that Godot developers use." msgstr "" -#: ../../docs/about/faq.rst:412 +#: ../../docs/about/faq.rst:415 msgid "We explain how to work with the engine source, how to edit the documentation, and what other ways to contribute are there in our :ref:`documentation for contributors `." msgstr "" -#: ../../docs/about/faq.rst:416 +#: ../../docs/about/faq.rst:419 msgid "I have a great idea for Godot. How can I share it?" msgstr "" -#: ../../docs/about/faq.rst:418 +#: ../../docs/about/faq.rst:421 msgid "We are always looking for suggestions about how to improve the engine. User feedback is the main driving force behind our decision-making process, and limitations that you might face while working on your project are a great data point for us when considering engine enhancements." msgstr "" -#: ../../docs/about/faq.rst:423 +#: ../../docs/about/faq.rst:426 msgid "If you experience a usability problem or are missing a feature in the current version of Godot, start by discussing it with our `community `_. There may be other, perhaps better, ways to achieve the desired result that community members could suggest. And you can learn if other users experience the same issue, and figure out a good solution together." msgstr "" -#: ../../docs/about/faq.rst:429 +#: ../../docs/about/faq.rst:432 msgid "If you come up with a well-defined idea for the engine, feel free to open a `proposal issue `_. Try to be specific and concrete while describing your problem and your proposed solution — only actionable proposals can be considered. It is not required, but if you want to implement it yourself, that's always appreciated!" msgstr "" -#: ../../docs/about/faq.rst:435 +#: ../../docs/about/faq.rst:438 msgid "If you only have a general idea without specific details, you can open a `proposal discussion `_. These can be anything you want, and allow for a free-form discussion in search of a solution. Once you find one, a proposal issue can be opened." msgstr "" -#: ../../docs/about/faq.rst:440 +#: ../../docs/about/faq.rst:443 msgid "Please, read the `readme `_ document before creating a proposal to learn more about the process." msgstr "" -#: ../../docs/about/faq.rst:446 +#: ../../docs/about/faq.rst:449 msgid "Is it possible to use Godot to create non-game applications?" msgstr "" -#: ../../docs/about/faq.rst:448 +#: ../../docs/about/faq.rst:451 msgid "Yes! Godot features an extensive built-in UI system, and its small distribution size can make it a suitable alternative to frameworks like Electron or Qt." msgstr "" -#: ../../docs/about/faq.rst:451 +#: ../../docs/about/faq.rst:454 msgid "When creating a non-game application, make sure to enable :ref:`low-processor mode ` in the Project Settings to decrease CPU and GPU usage." msgstr "" -#: ../../docs/about/faq.rst:455 -msgid "That said, we wouldn't recommend using Godot to create a *mobile* application since low-processor mode isn't supported on mobile platforms yet." -msgstr "" - #: ../../docs/about/faq.rst:458 msgid "Check out `Material Maker `__ and `Pixelorama `__ for examples of open source applications made with Godot." msgstr "" @@ -561,7 +554,7 @@ msgid "Why does Godot not use STL (Standard Template Library)?" msgstr "" #: ../../docs/about/faq.rst:531 -msgid "Like many other libraries (Qt as an example), Godot does not make use of STL. We believe STL is a great general-purpose library, but we had special requirements for Godot." +msgid "Like many other libraries (Qt as an example), Godot does not make use of STL (with a few exceptions such as threading primitives). We believe STL is a great general-purpose library, but we had special requirements for Godot." msgstr "" #: ../../docs/about/faq.rst:535 @@ -593,66 +586,58 @@ msgid "We believe games should not crash, no matter what. If an unexpected situa msgstr "" #: ../../docs/about/faq.rst:555 -msgid "Additionally, exceptions significantly increase the binary size for the executable." +msgid "Additionally, exceptions significantly increase the binary size for the executable and result in increased compile times." msgstr "" #: ../../docs/about/faq.rst:559 -msgid "Why does Godot not enforce RTTI?" -msgstr "" - -#: ../../docs/about/faq.rst:561 -msgid "Godot provides its own type-casting system, which can optionally use RTTI internally. Disabling RTTI in Godot means considerably smaller binary sizes can be achieved, at a little performance cost." -msgstr "" - -#: ../../docs/about/faq.rst:566 msgid "Does Godot use an ECS (Entity Component System)?" msgstr "" -#: ../../docs/about/faq.rst:568 +#: ../../docs/about/faq.rst:561 msgid "Godot does **not** use an ECS and relies on inheritance instead. While there is no universally better approach, we found that using an inheritance-based approach resulted in better usability while still being fast enough for most use cases." msgstr "" -#: ../../docs/about/faq.rst:572 +#: ../../docs/about/faq.rst:565 msgid "That said, nothing prevents you from making use of composition in your project by creating child Nodes with individual scripts. These nodes can then be added and removed at run-time to dynamically add and remove behaviors." msgstr "" -#: ../../docs/about/faq.rst:576 +#: ../../docs/about/faq.rst:569 msgid "More information about Godot's design choices can be found in `this article `__." msgstr "" -#: ../../docs/about/faq.rst:580 +#: ../../docs/about/faq.rst:573 msgid "Why does Godot not force users to implement DOD (Data-Oriented Design)?" msgstr "" -#: ../../docs/about/faq.rst:582 +#: ../../docs/about/faq.rst:575 msgid "While Godot internally attempts to use cache coherency as much as possible, we believe users don't need to be forced to use DOD practices." msgstr "" -#: ../../docs/about/faq.rst:585 +#: ../../docs/about/faq.rst:578 msgid "DOD is mostly a cache coherency optimization that can only provide significant performance improvements when dealing with dozens of thousands of objects which are processed every frame with little modification. That is, if you are moving a few hundred sprites or enemies per frame, DOD won't result in a meaningful improvement in performance. In such a case, you should consider a different approach to optimization." msgstr "" -#: ../../docs/about/faq.rst:592 +#: ../../docs/about/faq.rst:585 msgid "The vast majority of games do not need this and Godot provides handy helpers to do the job for most cases when you do." msgstr "" -#: ../../docs/about/faq.rst:595 +#: ../../docs/about/faq.rst:588 msgid "If a game needs to process such a large amount of objects, our recommendation is to use C++ and GDExtensions for performance-heavy tasks and GDScript (or C#) for the rest of the game." msgstr "" -#: ../../docs/about/faq.rst:600 +#: ../../docs/about/faq.rst:593 msgid "How can I support Godot development or contribute?" msgstr "" -#: ../../docs/about/faq.rst:602 +#: ../../docs/about/faq.rst:595 msgid "See :ref:`doc_ways_to_contribute`." msgstr "" -#: ../../docs/about/faq.rst:605 +#: ../../docs/about/faq.rst:598 msgid "Who is working on Godot? How can I contact you?" msgstr "" -#: ../../docs/about/faq.rst:607 +#: ../../docs/about/faq.rst:600 msgid "See the corresponding page on the `Godot website `_." msgstr "" diff --git a/sphinx/templates/about/introduction.pot b/sphinx/templates/about/introduction.pot index 52f82b10ca..e511878c7f 100644 --- a/sphinx/templates/about/introduction.pot +++ b/sphinx/templates/about/introduction.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -33,11 +33,11 @@ msgid "Before you start" msgstr "" #: ../../docs/about/introduction.rst:23 -msgid "The :ref:`Tutorials and resources ` page lists video tutorials contributed by the community. If you prefer video to text, consider checking them out. Otherwise, :ref:`Getting Started ` is a great starting point." +msgid "The :ref:`Tutorials and resources ` page lists video tutorials contributed by the community. If you prefer video to text, consider checking them out. Otherwise, :ref:`Getting Started ` is a great starting point." 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 `Q&A `_." 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 c1f8cc62fc..1c80dede67 100644 --- a/sphinx/templates/about/list_of_features.pot +++ b/sphinx/templates/about/list_of_features.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -25,7 +25,7 @@ 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 (4.0). Some of these features may not be available in the `LTS release series (3.x) `__." +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 @@ -84,1535 +84,1571 @@ msgstr "" 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:41 +#: ../../docs/about/list_of_features.rst:42 +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 msgid "Editor" msgstr "" -#: ../../docs/about/list_of_features.rst:43 -#: ../../docs/about/list_of_features.rst:459 +#: ../../docs/about/list_of_features.rst:50 +#: ../../docs/about/list_of_features.rst:486 msgid "**Features:**" msgstr "" -#: ../../docs/about/list_of_features.rst:45 +#: ../../docs/about/list_of_features.rst:52 msgid "Scene tree editor." msgstr "" -#: ../../docs/about/list_of_features.rst:46 +#: ../../docs/about/list_of_features.rst:53 msgid "Built-in script editor." msgstr "" -#: ../../docs/about/list_of_features.rst:47 +#: ../../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:49 +#: ../../docs/about/list_of_features.rst:56 msgid "GDScript :ref:`debugger `." msgstr "" -#: ../../docs/about/list_of_features.rst:51 +#: ../../docs/about/list_of_features.rst:58 msgid "No support for debugging in threads yet." msgstr "" -#: ../../docs/about/list_of_features.rst:52 +#: ../../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:54 +#: ../../docs/about/list_of_features.rst:61 msgid "Performance monitoring tools, including :ref:`custom performance monitors `." msgstr "" -#: ../../docs/about/list_of_features.rst:56 +#: ../../docs/about/list_of_features.rst:63 msgid "Live script reloading." msgstr "" -#: ../../docs/about/list_of_features.rst:57 +#: ../../docs/about/list_of_features.rst:64 msgid "Live scene editing." msgstr "" -#: ../../docs/about/list_of_features.rst:59 +#: ../../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:61 +#: ../../docs/about/list_of_features.rst:68 msgid "Remote inspector." msgstr "" -#: ../../docs/about/list_of_features.rst:63 +#: ../../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:65 +#: ../../docs/about/list_of_features.rst:72 msgid "Live camera replication." msgstr "" -#: ../../docs/about/list_of_features.rst:67 +#: ../../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:69 +#: ../../docs/about/list_of_features.rst:76 msgid "Built-in offline class reference documentation." msgstr "" -#: ../../docs/about/list_of_features.rst:70 +#: ../../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:72 +#: ../../docs/about/list_of_features.rst:79 msgid "**Plugins:**" msgstr "" -#: ../../docs/about/list_of_features.rst:74 +#: ../../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:76 +#: ../../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:78 +#: ../../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:82 +#: ../../docs/about/list_of_features.rst:89 msgid "Rendering" msgstr "" -#: ../../docs/about/list_of_features.rst:84 +#: ../../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:86 +#: ../../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:89 +#: ../../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:92 +#: ../../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:97 +#: ../../docs/about/list_of_features.rst:104 msgid "2D graphics" msgstr "" -#: ../../docs/about/list_of_features.rst:99 +#: ../../docs/about/list_of_features.rst:106 msgid "Sprite, polygon and line rendering." msgstr "" -#: ../../docs/about/list_of_features.rst:101 +#: ../../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:104 +#: ../../docs/about/list_of_features.rst:111 msgid "AnimatedSprite2D as a helper for creating animated sprites." msgstr "" -#: ../../docs/about/list_of_features.rst:105 +#: ../../docs/about/list_of_features.rst:112 msgid "Parallax layers." msgstr "" -#: ../../docs/about/list_of_features.rst:107 +#: ../../docs/about/list_of_features.rst:114 msgid "Pseudo-3D support including preview in the editor." msgstr "" -#: ../../docs/about/list_of_features.rst:109 +#: ../../docs/about/list_of_features.rst:116 msgid ":ref:`2D lighting ` with normal maps and specular maps." msgstr "" -#: ../../docs/about/list_of_features.rst:111 +#: ../../docs/about/list_of_features.rst:118 msgid "Point (omni/spot) and directional 2D lights." msgstr "" -#: ../../docs/about/list_of_features.rst:112 +#: ../../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:113 +#: ../../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:117 +#: ../../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:120 +#: ../../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:122 +#: ../../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:124 +#: ../../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:125 +#: ../../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:126 +#: ../../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:128 +#: ../../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:129 +#: ../../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:130 +#: ../../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:131 +#: ../../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:135 +#: ../../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:137 -#: ../../docs/about/list_of_features.rst:314 +#: ../../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:140 -msgid "2D tools" -msgstr "" - -#: ../../docs/about/list_of_features.rst:142 -msgid ":ref:`TileMaps ` for 2D tile-based level design." -msgstr "" - -#: ../../docs/about/list_of_features.rst:143 -msgid "2D camera with built-in smoothing and drag margins." -msgstr "" - -#: ../../docs/about/list_of_features.rst:144 -msgid "Path2D node to represent a path in 2D space." -msgstr "" - -#: ../../docs/about/list_of_features.rst:146 -#: ../../docs/about/list_of_features.rst:372 -msgid "Can be drawn in the editor or generated procedurally." -msgstr "" - -#: ../../docs/about/list_of_features.rst:147 -msgid "PathFollow2D node to make nodes follow a Path2D." +#: ../../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 ":ref:`2D geometry helper class `." +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 physics" +msgid "2D camera with built-in smoothing and drag margins." msgstr "" -#: ../../docs/about/list_of_features.rst:154 -#: ../../docs/about/list_of_features.rst:382 -msgid "**Physics bodies:**" +#: ../../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:393 +msgid "Can be drawn in the editor or generated procedurally." msgstr "" #: ../../docs/about/list_of_features.rst:156 -#: ../../docs/about/list_of_features.rst:384 -msgid "Static bodies." -msgstr "" - -#: ../../docs/about/list_of_features.rst:157 -#: ../../docs/about/list_of_features.rst:385 -msgid "Animatable bodies (for objects moving only by script or animation, such as doors and platforms)." +msgid "PathFollow2D node to make nodes follow a Path2D." msgstr "" #: ../../docs/about/list_of_features.rst:158 -#: ../../docs/about/list_of_features.rst:386 -msgid "Rigid bodies." -msgstr "" - -#: ../../docs/about/list_of_features.rst:159 -#: ../../docs/about/list_of_features.rst:387 -msgid "Character bodies." -msgstr "" - -#: ../../docs/about/list_of_features.rst:160 -#: ../../docs/about/list_of_features.rst:389 -msgid "Joints." +msgid ":ref:`2D geometry helper class `." msgstr "" #: ../../docs/about/list_of_features.rst:161 -#: ../../docs/about/list_of_features.rst:392 -msgid "Areas to detect bodies entering or leaving it." +msgid "2D physics" msgstr "" #: ../../docs/about/list_of_features.rst:163 -#: ../../docs/about/list_of_features.rst:394 -msgid "**Collision detection:**" +#: ../../docs/about/list_of_features.rst:403 +msgid "**Physics bodies:**" msgstr "" #: ../../docs/about/list_of_features.rst:165 -msgid "Built-in shapes: line, box, circle, capsule, world boundary (infinite plane)." +#: ../../docs/about/list_of_features.rst:405 +msgid "Static bodies." msgstr "" #: ../../docs/about/list_of_features.rst:166 -msgid "Collision polygons (can be drawn manually or generated from a sprite in the editor)." +#: ../../docs/about/list_of_features.rst:406 +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:407 +msgid "Rigid bodies." +msgstr "" + +#: ../../docs/about/list_of_features.rst:168 +#: ../../docs/about/list_of_features.rst:408 +msgid "Character bodies." msgstr "" #: ../../docs/about/list_of_features.rst:169 -msgid "3D graphics" +#: ../../docs/about/list_of_features.rst:410 +msgid "Joints." msgstr "" -#: ../../docs/about/list_of_features.rst:171 -msgid "HDR rendering with sRGB." +#: ../../docs/about/list_of_features.rst:170 +#: ../../docs/about/list_of_features.rst:413 +msgid "Areas to detect bodies entering or leaving it." msgstr "" #: ../../docs/about/list_of_features.rst:172 -msgid "Perspective, orthographic and frustum-offset cameras." +#: ../../docs/about/list_of_features.rst:415 +msgid "**Collision detection:**" msgstr "" -#: ../../docs/about/list_of_features.rst:173 -msgid "When using the Forward+ backend, a depth prepass is used to improve performance in complex scenes by reducing the cost of overdraw." +#: ../../docs/about/list_of_features.rst:174 +msgid "Built-in shapes: line, box, circle, capsule, world boundary (infinite plane)." msgstr "" #: ../../docs/about/list_of_features.rst:175 -msgid ":ref:`doc_variable_rate_shading` on supported GPUs in Forward+ and Forward Mobile." +msgid "Collision polygons (can be drawn manually or generated from a sprite in the editor)." msgstr "" -#: ../../docs/about/list_of_features.rst:177 -msgid "**Physically-based rendering (built-in material features):**" -msgstr "" - -#: ../../docs/about/list_of_features.rst:179 -msgid "Follows the Disney PBR model." +#: ../../docs/about/list_of_features.rst:178 +msgid "3D graphics" msgstr "" #: ../../docs/about/list_of_features.rst:180 -msgid "Supports Burley, Lambert, Lambert Wrap (half-Lambert) and Toon diffuse shading modes." +msgid "HDR rendering with sRGB." msgstr "" #: ../../docs/about/list_of_features.rst:181 -msgid "Supports Schlick-GGX, Toon and Disabled specular shading modes." +msgid "Perspective, orthographic and frustum-offset cameras." msgstr "" #: ../../docs/about/list_of_features.rst:182 -msgid "Uses a roughness-metallic workflow with support for ORM textures." -msgstr "" - -#: ../../docs/about/list_of_features.rst:183 -msgid "Uses horizon specular occlusion (Filament model) to improve material appearance." +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 -msgid "Normal mapping." -msgstr "" - -#: ../../docs/about/list_of_features.rst:185 -msgid "Parallax/relief mapping with automatic level of detail based on distance." +msgid ":ref:`doc_variable_rate_shading` on supported GPUs in Forward+ and Forward Mobile." msgstr "" #: ../../docs/about/list_of_features.rst:186 -msgid "Detail mapping for the albedo and normal maps." -msgstr "" - -#: ../../docs/about/list_of_features.rst:187 -msgid "Sub-surface scattering and transmittance." +msgid "**Physically-based rendering (built-in material features):**" msgstr "" #: ../../docs/about/list_of_features.rst:188 -msgid "Screen-space refraction with support for material roughness (resulting in blurry refraction)." +msgid "Follows the Disney PBR model." msgstr "" #: ../../docs/about/list_of_features.rst:189 -msgid "Proximity fade (soft particles) and distance fade." +msgid "Supports Burley, Lambert, Lambert Wrap (half-Lambert) and Toon diffuse shading modes." msgstr "" #: ../../docs/about/list_of_features.rst:190 -msgid "Distance fade can use alpha blending or dithering to avoid going through the transparent pipeline." +msgid "Supports Schlick-GGX, Toon and Disabled specular shading modes." +msgstr "" + +#: ../../docs/about/list_of_features.rst:191 +msgid "Uses a roughness-metallic workflow with support for ORM textures." msgstr "" #: ../../docs/about/list_of_features.rst:192 -msgid "Dithering can be determined on a per-pixel or per-object basis." +msgid "Uses horizon specular occlusion (Filament model) to improve material appearance." +msgstr "" + +#: ../../docs/about/list_of_features.rst:193 +msgid "Normal mapping." msgstr "" #: ../../docs/about/list_of_features.rst:194 -msgid "**Real-time lighting:**" +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 "Directional lights (sun/moon). Up to 4 per scene." +msgid "Sub-surface scattering and transmittance." msgstr "" #: ../../docs/about/list_of_features.rst:197 -msgid "Omnidirectional lights." +msgid "Screen-space refraction with support for material roughness (resulting in blurry refraction)." msgstr "" #: ../../docs/about/list_of_features.rst:198 -msgid "Spot lights with adjustable cone angle and attenuation." +msgid "Proximity fade (soft particles) and distance fade." msgstr "" #: ../../docs/about/list_of_features.rst:199 -msgid "Specular energy can be adjusted on a per-light basis." -msgstr "" - -#: ../../docs/about/list_of_features.rst:200 -msgid "Adjustable light \"size\" for fake area lights (will also make shadows blurrier)." +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:270 -msgid "Optional distance fade system to fade distant lights and their shadows, improving performance." +msgid "Dithering can be determined on a per-pixel or per-object basis." msgstr "" -#: ../../docs/about/list_of_features.rst:202 -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." +#: ../../docs/about/list_of_features.rst:203 +msgid "**Real-time lighting:**" msgstr "" #: ../../docs/about/list_of_features.rst:205 -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." +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." +msgstr "" + +#: ../../docs/about/list_of_features.rst:208 +msgid "Specular, indirect light, and volumetric fog energy can be adjusted on a per-light basis." msgstr "" #: ../../docs/about/list_of_features.rst:209 -msgid "**Shadow mapping:**" +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 +msgid "Optional distance fade system to fade distant lights and their shadows, improving performance." msgstr "" #: ../../docs/about/list_of_features.rst:211 -msgid "*DirectionalLight:* Orthogonal (fastest), PSSM 2-split and 4-split. Supports blending between splits." +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:213 -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:215 -msgid "*SpotLight:* Single texture. Supports colored projector textures." -msgstr "" - -#: ../../docs/about/list_of_features.rst:216 -msgid "Shadow normal offset bias and shadow pancaking to decrease the amount of visible shadow acne and peter-panning." +#: ../../docs/about/list_of_features.rst:214 +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 -msgid "PCSS-like shadow blur based on the light size and distance from the surface the shadow is cast on." +msgid "**Shadow mapping:**" msgstr "" #: ../../docs/about/list_of_features.rst:220 -msgid "Adjustable shadow blur on a per-light basis." +msgid "*DirectionalLight:* Orthogonal (fastest), PSSM 2-split and 4-split. Supports blending between splits." msgstr "" #: ../../docs/about/list_of_features.rst:222 -msgid "**Global illumination with indirect lighting:**" +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 -msgid "Baked lightmaps (fast, but can't be updated at run-time)." +msgid "*SpotLight:* Single texture. Supports colored projector textures." msgstr "" -#: ../../docs/about/list_of_features.rst:226 -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/list_of_features.rst:225 +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 +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." +msgstr "" + +#: ../../docs/about/list_of_features.rst:231 +msgid "**Global illumination with indirect lighting:**" +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." +msgstr "" + +#: ../../docs/about/list_of_features.rst:238 msgid "Supports lighting dynamic objects using automatic and manually placed probes." msgstr "" -#: ../../docs/about/list_of_features.rst:230 +#: ../../docs/about/list_of_features.rst:239 msgid "Optionally supports directional lighting and rough reflections based on spherical harmonics." msgstr "" -#: ../../docs/about/list_of_features.rst:232 +#: ../../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." msgstr "" -#: ../../docs/about/list_of_features.rst:236 -msgid "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:239 -msgid "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:242 -msgid "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:244 -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)." +msgid "Supports GPU-based :ref:`denoising ` with JNLM, or CPU/GPU-based denoising with OIDN." msgstr "" #: ../../docs/about/list_of_features.rst:247 -msgid "**Reflections:**" -msgstr "" - -#: ../../docs/about/list_of_features.rst:249 -msgid "Voxel-based reflections (when using GI probes) and SDF-based reflections (when using signed distance field GI)." +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 -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:253 -msgid "Screen-space reflections with support for material roughness." +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 -msgid "Reflection techniques can be mixed together for greater accuracy or scalability." +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:255 -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/list_of_features.rst:257 +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:258 -msgid "When using the Forward Mobile backend, up to 8 reflection probes can be displayed per mesh resource." +#: ../../docs/about/list_of_features.rst:260 +msgid "**Reflections:**" msgstr "" -#: ../../docs/about/list_of_features.rst:261 -msgid "**Decals:**" -msgstr "" - -#: ../../docs/about/list_of_features.rst:263 -msgid "Supports albedo, emissive, :abbr:`ORM (Occlusion Roughness Metallic)` and normal mapping." -msgstr "" - -#: ../../docs/about/list_of_features.rst:264 -msgid "Texture channels are smoothly overlaid on top of the underlying material, with support for normal/ORM-only decals." +#: ../../docs/about/list_of_features.rst:262 +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 -msgid "Support for normal fade to fade the decal depending on its incidence angle." +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:267 -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." +#: ../../docs/about/list_of_features.rst:268 +msgid "Screen-space reflections with support for material roughness." msgstr "" #: ../../docs/about/list_of_features.rst:269 -msgid "Support for nearest, bilinear, trilinear or anisotropic texture filtering (configured globally)." +msgid "Reflection techniques can be mixed together for greater accuracy or scalability." msgstr "" -#: ../../docs/about/list_of_features.rst:271 -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/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." msgstr "" -#: ../../docs/about/list_of_features.rst:274 -msgid "When using the Forward Mobile backend, up to 8 decals can be displayed per mesh resource." +#: ../../docs/about/list_of_features.rst:273 +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:277 -msgid "**Sky:**" +#: ../../docs/about/list_of_features.rst:276 +msgid "**Decals:**" msgstr "" -#: ../../docs/about/list_of_features.rst:279 -msgid "Panorama sky (using an HDRI)." +#: ../../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 "Procedural sky and Physically-based sky that respond to the DirectionalLights in the scene." -msgstr "" - -#: ../../docs/about/list_of_features.rst:281 -msgid "Support for :ref:`custom sky shaders `, which can be animated." +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 -msgid "The radiance map used for ambient and specular light can be updated in real-time depending on the quality settings chosen." +msgid "Support for normal fade to fade the decal depending on its incidence angle." +msgstr "" + +#: ../../docs/about/list_of_features.rst:283 +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 -msgid "**Fog:**" +msgid "Support for nearest, bilinear, trilinear or anisotropic texture filtering (configured globally)." msgstr "" #: ../../docs/about/list_of_features.rst:287 -msgid "Exponential depth fog." -msgstr "" - -#: ../../docs/about/list_of_features.rst:288 -msgid "Exponential height fog." -msgstr "" - -#: ../../docs/about/list_of_features.rst:289 -msgid "Support for automatic fog color depending on the sky color (aerial perspective)." +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 -msgid "Support for sun scattering in the fog." +msgid "When using the Forward Mobile backend, up to 8 decals can be displayed per mesh resource." msgstr "" -#: ../../docs/about/list_of_features.rst:292 -msgid "**Volumetric fog:**" -msgstr "" - -#: ../../docs/about/list_of_features.rst:294 -msgid "Global :ref:`volumetric fog ` that reacts to lights and shadows." +#: ../../docs/about/list_of_features.rst:293 +msgid "**Sky:**" msgstr "" #: ../../docs/about/list_of_features.rst:295 -msgid "Volumetric fog can take indirect light into account when using VoxelGI or SDFGI." +msgid "Panorama sky (using an HDRI)." msgstr "" #: ../../docs/about/list_of_features.rst:296 -msgid "Fog volume nodes that can be placed to add fog to specific areas (or remove fog from specific areas)." +msgid "Procedural sky and Physically-based sky that respond to the DirectionalLights in the scene." msgstr "" #: ../../docs/about/list_of_features.rst:297 -msgid "Each fog volume can have its own custom shader." +msgid "Support for :ref:`custom sky shaders `, which can be animated." msgstr "" #: ../../docs/about/list_of_features.rst:298 -msgid "Can be used together with traditional fog." +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:300 -msgid "**Particles:**" +#: ../../docs/about/list_of_features.rst:301 +msgid "**Fog:**" msgstr "" -#: ../../docs/about/list_of_features.rst:302 -msgid "GPU-based particles with support for subemitters (2D + 3D), trails (2D + 3D), attractors (3D only) and collision (2D + 3D)." +#: ../../docs/about/list_of_features.rst:303 +msgid "Exponential depth fog." +msgstr "" + +#: ../../docs/about/list_of_features.rst:304 +msgid "Exponential height fog." msgstr "" #: ../../docs/about/list_of_features.rst:305 -msgid "3D particle attractor shapes supported: box, sphere and 3D vector fields." +msgid "Support for automatic fog color depending on the sky color (aerial perspective)." msgstr "" #: ../../docs/about/list_of_features.rst:306 -msgid "3D particle collision shapes supported: box, sphere, baked signed distance field and real-time heightmap (suited for open world weather effects)." +msgid "Support for sun scattering in the fog." msgstr "" -#: ../../docs/about/list_of_features.rst:308 -msgid "2D particle collision is handled using a signed distance field generated in real-time based on :ref:`class_LightOccluder2D` nodes in the scene." +#: ../../docs/about/list_of_features.rst:307 +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:310 -msgid "Trails can use the built-in ribbon trail and tube trail meshes, or custom meshes with skeletons." +#: ../../docs/about/list_of_features.rst:309 +msgid "Support for making specific materials ignore fog." msgstr "" -#: ../../docs/about/list_of_features.rst:312 -msgid "Support for custom particle shaders with manual emission." +#: ../../docs/about/list_of_features.rst:311 +msgid "**Volumetric fog:**" msgstr "" -#: ../../docs/about/list_of_features.rst:316 -msgid "**Post-processing:**" +#: ../../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 "Tonemapping (Linear, Reinhard, Filmic, ACES)." -msgstr "" - -#: ../../docs/about/list_of_features.rst:319 -msgid "Automatic exposure adjustments based on viewport brightness (and manual exposure override)." +msgid "Can be used together with traditional fog." msgstr "" #: ../../docs/about/list_of_features.rst:320 -msgid "Near and far depth of field with adjustable bokeh simulation (box, hexagon, circle)." -msgstr "" - -#: ../../docs/about/list_of_features.rst:321 -msgid "Screen-space ambient occlusion (SSAO) at half or full resolution." +msgid "**Particles:**" msgstr "" #: ../../docs/about/list_of_features.rst:322 -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:324 -msgid "Glow can have a colored dirt map texture, acting as a lens dirt effect." +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 "Color correction using a one-dimensional ramp or a 3D LUT texture." +msgid "3D particle attractor shapes supported: box, sphere and 3D vector fields." msgstr "" #: ../../docs/about/list_of_features.rst:326 -msgid "Roughness limiter to reduce the impact of specular aliasing." +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:327 -msgid "Brightness, contrast and saturation adjustments." +#: ../../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:329 -msgid "**Texture filtering:**" -msgstr "" - -#: ../../docs/about/list_of_features.rst:331 -msgid "Nearest, bilinear, trilinear or anisotropic filtering." +#: ../../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 "Filtering options are defined on a per-use basis, not a per-texture basis." -msgstr "" - -#: ../../docs/about/list_of_features.rst:334 -msgid "**Texture compression:**" +msgid "Support for custom particle shaders with manual emission." msgstr "" #: ../../docs/about/list_of_features.rst:336 -msgid "Basis Universal (slow, but results in smaller files)." -msgstr "" - -#: ../../docs/about/list_of_features.rst:337 -msgid "BPTC for high-quality compression (not supported on macOS)." +msgid "**Post-processing:**" msgstr "" #: ../../docs/about/list_of_features.rst:338 -msgid "ETC2 (not supported on macOS)." +msgid "Tonemapping (Linear, Reinhard, Filmic, ACES)." msgstr "" #: ../../docs/about/list_of_features.rst:339 -msgid "S3TC (not supported on mobile/Web platforms)." +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 "**Anti-aliasing:**" +msgid "Screen-space ambient occlusion (SSAO) at half or full resolution." msgstr "" -#: ../../docs/about/list_of_features.rst:343 -msgid "Temporal :ref:`antialiasing ` (TAA)." +#: ../../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 "Multi-sample antialiasing (MSAA), for both :ref:`doc_2d_antialiasing` and :ref:`doc_3d_antialiasing`." +msgid "Glow can have a colored dirt map texture, acting as a lens dirt effect." msgstr "" #: ../../docs/about/list_of_features.rst:345 -msgid "Fast approximate antialiasing (FXAA)." +msgid "Glow can be :ref:`used as a screen-space blur effect `." msgstr "" #: ../../docs/about/list_of_features.rst:346 -msgid "Super-sample antialiasing (SSAA) using bilinear 3D scaling and a 3D resolution scale above 1.0." +msgid "Color correction using a one-dimensional ramp or a 3D LUT texture." msgstr "" #: ../../docs/about/list_of_features.rst:347 -msgid "Alpha antialiasing, MSAA alpha to coverage and alpha hashing on a per-material basis." +msgid "Roughness limiter to reduce the impact of specular aliasing." msgstr "" -#: ../../docs/about/list_of_features.rst:349 -msgid "**Resolution scaling:**" +#: ../../docs/about/list_of_features.rst:348 +msgid "Brightness, contrast and saturation adjustments." msgstr "" -#: ../../docs/about/list_of_features.rst:351 -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." +#: ../../docs/about/list_of_features.rst:350 +msgid "**Texture filtering:**" msgstr "" -#: ../../docs/about/list_of_features.rst:354 -msgid "Resolution scaling uses bilinear filtering or AMD FidelityFX Super Resolution 1.0 (FSR)." +#: ../../docs/about/list_of_features.rst:352 +msgid "Nearest, bilinear, trilinear or anisotropic filtering." msgstr "" -#: ../../docs/about/list_of_features.rst:356 -msgid "Texture mipmap LOD bias is adjusted automatically to improve quality at lower resolution scales. It can also be modified with a manual offset." +#: ../../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 "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 `." +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 "3D tools" +msgid "Temporal :ref:`antialiasing ` (TAA)." +msgstr "" + +#: ../../docs/about/list_of_features.rst:365 +msgid "Multi-sample antialiasing (MSAA), for both :ref:`doc_2d_antialiasing` and :ref:`doc_3d_antialiasing`." msgstr "" #: ../../docs/about/list_of_features.rst:366 -msgid "Built-in meshes: cube, cylinder/cone, (hemi)sphere, prism, plane, quad, torus, ribbon, tube." +msgid "Fast approximate antialiasing (FXAA)." msgstr "" #: ../../docs/about/list_of_features.rst:367 -msgid ":ref:`GridMaps ` for 3D tile-based level design." +msgid "Super-sample antialiasing (SSAA) using bilinear 3D scaling and a 3D resolution scale above 1.0." msgstr "" #: ../../docs/about/list_of_features.rst:368 -msgid ":ref:`Constructive solid geometry ` (intended for prototyping)." -msgstr "" - -#: ../../docs/about/list_of_features.rst:369 -msgid "Tools for :ref:`procedural geometry generation `." +msgid "Alpha antialiasing, MSAA alpha to coverage and alpha hashing on a per-material basis." msgstr "" #: ../../docs/about/list_of_features.rst:370 -msgid "Path3D node to represent a path in 3D space." +msgid "**Resolution scaling:**" msgstr "" -#: ../../docs/about/list_of_features.rst:373 -msgid "PathFollow3D node to make nodes follow a Path3D." +#: ../../docs/about/list_of_features.rst:372 +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:375 -msgid ":ref:`3D geometry helper class `." +msgid "Resolution scaling uses bilinear filtering or AMD FidelityFX Super Resolution 1.0 (FSR)." msgstr "" -#: ../../docs/about/list_of_features.rst:376 -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." +#: ../../docs/about/list_of_features.rst:377 +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:380 -msgid "3D physics" +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:385 +msgid "3D tools" +msgstr "" + +#: ../../docs/about/list_of_features.rst:387 +msgid "Built-in meshes: cube, cylinder/cone, (hemi)sphere, prism, plane, quad, torus, ribbon, tube." msgstr "" #: ../../docs/about/list_of_features.rst:388 -msgid "Vehicle bodies (intended for arcade physics, not simulation)." +msgid ":ref:`GridMaps ` for 3D tile-based level design." +msgstr "" + +#: ../../docs/about/list_of_features.rst:389 +msgid ":ref:`Constructive solid geometry ` (intended for prototyping)." msgstr "" #: ../../docs/about/list_of_features.rst:390 -msgid "Soft bodies." +msgid "Tools for :ref:`procedural geometry generation `." msgstr "" #: ../../docs/about/list_of_features.rst:391 -msgid "Ragdolls." +msgid "Path3D node to represent a path in 3D space." +msgstr "" + +#: ../../docs/about/list_of_features.rst:394 +msgid "PathFollow3D node to make nodes follow a Path3D." msgstr "" #: ../../docs/about/list_of_features.rst:396 -msgid "Built-in shapes: cuboid, sphere, capsule, cylinder, world boundary (infinite plane)." +msgid ":ref:`3D geometry helper class `." msgstr "" #: ../../docs/about/list_of_features.rst:397 -msgid "Generate triangle collision shapes for any mesh from the editor." -msgstr "" - -#: ../../docs/about/list_of_features.rst:398 -msgid "Generate one or several convex collision shapes for any mesh from the editor." +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:401 -msgid "Shaders" +msgid "3D physics" msgstr "" -#: ../../docs/about/list_of_features.rst:403 -msgid "*2D:* Custom vertex, fragment, and light shaders." -msgstr "" - -#: ../../docs/about/list_of_features.rst:404 -msgid "*3D:* Custom vertex, fragment, light, and sky shaders." -msgstr "" - -#: ../../docs/about/list_of_features.rst:405 -msgid "Text-based shaders using a :ref:`shader language inspired by GLSL `." -msgstr "" - -#: ../../docs/about/list_of_features.rst:406 -msgid "Visual shader editor." -msgstr "" - -#: ../../docs/about/list_of_features.rst:408 -msgid "Support for visual shader plugins." +#: ../../docs/about/list_of_features.rst:409 +msgid "Vehicle bodies (intended for arcade physics, not simulation)." msgstr "" #: ../../docs/about/list_of_features.rst:411 -msgid "Scripting" +msgid "Soft bodies." msgstr "" -#: ../../docs/about/list_of_features.rst:413 -msgid "**General:**" -msgstr "" - -#: ../../docs/about/list_of_features.rst:415 -msgid "Object-oriented design pattern with scripts extending nodes." -msgstr "" - -#: ../../docs/about/list_of_features.rst:416 -msgid "Signals and groups for communicating between scripts." +#: ../../docs/about/list_of_features.rst:412 +msgid "Ragdolls." msgstr "" #: ../../docs/about/list_of_features.rst:417 -msgid "Support for :ref:`cross-language scripting `." +msgid "Built-in shapes: cuboid, sphere, capsule, cylinder, world boundary (infinite plane)." msgstr "" #: ../../docs/about/list_of_features.rst:418 -msgid "Many 2D, 3D and 4D linear algebra data types such as vectors and transforms." +msgid "Generate triangle collision shapes for any mesh from the editor." msgstr "" -#: ../../docs/about/list_of_features.rst:420 -msgid ":ref:`GDScript: `" +#: ../../docs/about/list_of_features.rst:419 +msgid "Generate one or several convex collision shapes for any mesh from the editor." msgstr "" #: ../../docs/about/list_of_features.rst:422 -msgid ":ref:`High-level interpreted language ` with :ref:`optional static typing `." +msgid "Shaders" msgstr "" #: ../../docs/about/list_of_features.rst:424 -msgid "Syntax inspired by Python. However, GDScript is **not** based on Python." +msgid "*2D:* Custom vertex, fragment, and light shaders." msgstr "" #: ../../docs/about/list_of_features.rst:425 -msgid "Syntax highlighting is provided on GitHub." +msgid "*3D:* Custom vertex, fragment, light, and sky shaders." msgstr "" #: ../../docs/about/list_of_features.rst:426 -msgid ":ref:`Use threads ` to perform asynchronous actions or make use of multiple processor cores." +msgid "Text-based shaders using a :ref:`shader language inspired by GLSL `." +msgstr "" + +#: ../../docs/about/list_of_features.rst:427 +msgid "Visual shader editor." msgstr "" #: ../../docs/about/list_of_features.rst:429 -msgid ":ref:`C#: `" -msgstr "" - -#: ../../docs/about/list_of_features.rst:431 -msgid "Packaged in a separate binary to keep file sizes and dependencies down." +msgid "Support for visual shader plugins." msgstr "" #: ../../docs/about/list_of_features.rst:432 -msgid "Uses .NET 6." +msgid "Scripting" msgstr "" #: ../../docs/about/list_of_features.rst:434 -msgid "Full support for the C# 10.0 syntax and features." +msgid "**General:**" msgstr "" #: ../../docs/about/list_of_features.rst:436 -msgid "Supports Windows, Linux and macOS. Mobile/web platforms are currently unsupported. To use C# on mobile/web platforms, use Godot 3 instead." +msgid "Object-oriented design pattern with scripts extending nodes." +msgstr "" + +#: ../../docs/about/list_of_features.rst:437 +msgid "Signals and groups for communicating between scripts." msgstr "" #: ../../docs/about/list_of_features.rst:438 -msgid "Using an external editor is recommended to benefit from IDE functionality." +msgid "Support for :ref:`cross-language scripting `." msgstr "" -#: ../../docs/about/list_of_features.rst:440 -msgid "**GDExtension (C, C++, Rust, D, ...):**" +#: ../../docs/about/list_of_features.rst:439 +msgid "Many 2D, 3D and 4D linear algebra data types such as vectors and transforms." msgstr "" -#: ../../docs/about/list_of_features.rst:442 -msgid "When you need it, link to native libraries for higher performance and third-party integrations." +#: ../../docs/about/list_of_features.rst:441 +msgid ":ref:`GDScript: `" msgstr "" -#: ../../docs/about/list_of_features.rst:444 -msgid "For scripting game logic, GDScript or C# are recommended if their performance is suitable." +#: ../../docs/about/list_of_features.rst:443 +msgid ":ref:`High-level interpreted language ` with :ref:`optional static typing `." +msgstr "" + +#: ../../docs/about/list_of_features.rst:445 +msgid "Syntax inspired by Python. However, GDScript is **not** based on Python." +msgstr "" + +#: ../../docs/about/list_of_features.rst:446 +msgid "Syntax highlighting is provided on GitHub." msgstr "" #: ../../docs/about/list_of_features.rst:447 -msgid "Official GDExtension bindings for `C `__ and `C++ `__." +msgid ":ref:`Use threads ` to perform asynchronous actions or make use of multiple processor cores." msgstr "" #: ../../docs/about/list_of_features.rst:450 -msgid "Use any build system and language features you wish." +msgid ":ref:`C#: `" msgstr "" #: ../../docs/about/list_of_features.rst:452 -msgid "Actively developed GDExtension bindings for `D `__, `Haxe `__, `Python `__, and `Rust `__ bindings provided by the community. (Some of these bindings may be experimental and not production-ready)." +msgid "Packaged in a separate binary to keep file sizes and dependencies down." +msgstr "" + +#: ../../docs/about/list_of_features.rst:453 +msgid "Supports .NET 6 and higher." +msgstr "" + +#: ../../docs/about/list_of_features.rst:455 +msgid "Full support for the C# 10.0 syntax and features." msgstr "" #: ../../docs/about/list_of_features.rst:457 -msgid "Audio" +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:460 +msgid "On the Android platform only some architectures are supported: ``arm64`` and ``x64``." msgstr "" #: ../../docs/about/list_of_features.rst:461 -msgid "Mono, stereo, 5.1 and 7.1 output." +msgid "On the iOS platform only some architectures are supported: ``arm64``." msgstr "" #: ../../docs/about/list_of_features.rst:462 -msgid "Non-positional and positional playback in 2D and 3D." +msgid "The web platform is currently unsupported. To use C# on that platform, consider Godot 3 instead." msgstr "" -#: ../../docs/about/list_of_features.rst:464 -msgid "Optional Doppler effect in 2D and 3D." +#: ../../docs/about/list_of_features.rst:465 +msgid "Using an external editor is recommended to benefit from IDE functionality." msgstr "" -#: ../../docs/about/list_of_features.rst:466 -msgid "Support for re-routable :ref:`audio buses ` and effects with dozens of effects included." -msgstr "" - -#: ../../docs/about/list_of_features.rst:468 -msgid "Support for polyphony (playing several sounds from a single AudioStreamPlayer node)." +#: ../../docs/about/list_of_features.rst:467 +msgid "**GDExtension (C, C++, Rust, D, ...):**" msgstr "" #: ../../docs/about/list_of_features.rst:469 -msgid "Support for random volume and pitch." -msgstr "" - -#: ../../docs/about/list_of_features.rst:470 -msgid "Support for real-time pitch scaling." +msgid "When you need it, link to native libraries for higher performance and third-party integrations." msgstr "" #: ../../docs/about/list_of_features.rst:471 -msgid "Support for sequential/random sample selection, including repetition prevention when using random sample selection." -msgstr "" - -#: ../../docs/about/list_of_features.rst:473 -msgid "Listener2D and Listener3D nodes to listen from a position different than the camera." +msgid "For scripting game logic, GDScript or C# are recommended if their performance is suitable." msgstr "" #: ../../docs/about/list_of_features.rst:474 -msgid "Support for :ref:`procedural audio generation `." +msgid "Official GDExtension bindings for `C `__ and `C++ `__." msgstr "" -#: ../../docs/about/list_of_features.rst:475 -msgid "Audio input to record microphones." +#: ../../docs/about/list_of_features.rst:477 +msgid "Use any build system and language features you wish." msgstr "" -#: ../../docs/about/list_of_features.rst:476 -msgid "MIDI input." -msgstr "" - -#: ../../docs/about/list_of_features.rst:478 -msgid "No support for MIDI output yet." -msgstr "" - -#: ../../docs/about/list_of_features.rst:480 -msgid "**APIs used:**" -msgstr "" - -#: ../../docs/about/list_of_features.rst:482 -msgid "*Windows:* WASAPI." -msgstr "" - -#: ../../docs/about/list_of_features.rst:483 -msgid "*macOS:* CoreAudio." +#: ../../docs/about/list_of_features.rst:479 +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:484 -msgid "*Linux:* PulseAudio or ALSA." +msgid "Audio" msgstr "" -#: ../../docs/about/list_of_features.rst:487 -msgid "Import" +#: ../../docs/about/list_of_features.rst:488 +msgid "Mono, stereo, 5.1 and 7.1 output." msgstr "" #: ../../docs/about/list_of_features.rst:489 -msgid "Support for :ref:`custom import plugins `." +msgid "Non-positional and positional playback in 2D and 3D." msgstr "" #: ../../docs/about/list_of_features.rst:491 -msgid "**Formats:**" +msgid "Optional Doppler effect in 2D and 3D." msgstr "" #: ../../docs/about/list_of_features.rst:493 -msgid "*Images:* See :ref:`doc_importing_images`." +msgid "Support for re-routable :ref:`audio buses ` and effects with dozens of effects included." msgstr "" -#: ../../docs/about/list_of_features.rst:494 -msgid "*Audio:*" +#: ../../docs/about/list_of_features.rst:495 +msgid "Support for polyphony (playing several sounds from a single AudioStreamPlayer node)." msgstr "" #: ../../docs/about/list_of_features.rst:496 -msgid "WAV with optional IMA-ADPCM compression." +msgid "Support for random volume and pitch." msgstr "" #: ../../docs/about/list_of_features.rst:497 -msgid "Ogg Vorbis." +msgid "Support for real-time pitch scaling." msgstr "" #: ../../docs/about/list_of_features.rst:498 -msgid "MP3." +msgid "Support for sequential/random sample selection, including repetition prevention when using random sample selection." msgstr "" #: ../../docs/about/list_of_features.rst:500 -msgid "*3D scenes:* See :ref:`doc_importing_3d_scenes`." +msgid "Listener2D and Listener3D nodes to listen from a position different than the camera." +msgstr "" + +#: ../../docs/about/list_of_features.rst:501 +msgid "Support for :ref:`procedural audio generation `." msgstr "" #: ../../docs/about/list_of_features.rst:502 -msgid "glTF 2.0 *(recommended)*." +msgid "Audio input to record microphones." msgstr "" #: ../../docs/about/list_of_features.rst:503 -msgid "``.blend`` (by calling Blender's glTF export functionality transparently)." -msgstr "" - -#: ../../docs/about/list_of_features.rst:504 -msgid "FBX (by calling `FBX2glTF `__ transparently)." +msgid "MIDI input." msgstr "" #: ../../docs/about/list_of_features.rst:505 -msgid "Collada (.dae)." +msgid "No support for MIDI output yet." msgstr "" -#: ../../docs/about/list_of_features.rst:506 -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:508 -msgid "Support for loading glTF 2.0 scenes at run-time, including from an exported project." +#: ../../docs/about/list_of_features.rst:507 +msgid "**APIs used:**" msgstr "" #: ../../docs/about/list_of_features.rst:509 -msgid "3D meshes use `Mikktspace `__ to generate tangents on import, which ensures consistency with other 3D applications such as Blender." +msgid "*Windows:* WASAPI." msgstr "" -#: ../../docs/about/list_of_features.rst:513 -msgid "Input" +#: ../../docs/about/list_of_features.rst:510 +msgid "*macOS:* CoreAudio." msgstr "" -#: ../../docs/about/list_of_features.rst:515 -msgid ":ref:`Input mapping system ` using hardcoded input events or remappable input actions." +#: ../../docs/about/list_of_features.rst:511 +msgid "*Linux:* PulseAudio or ALSA." +msgstr "" + +#: ../../docs/about/list_of_features.rst:514 +msgid "Import" +msgstr "" + +#: ../../docs/about/list_of_features.rst:516 +msgid "Support for :ref:`custom import plugins `." msgstr "" #: ../../docs/about/list_of_features.rst:518 -msgid "Axis values can be mapped to two different actions with a configurable deadzone." +msgid "**Formats:**" msgstr "" -#: ../../docs/about/list_of_features.rst:519 -msgid "Use the same code to support both keyboards and gamepads." +#: ../../docs/about/list_of_features.rst:520 +msgid "*Images:* See :ref:`doc_importing_images`." msgstr "" #: ../../docs/about/list_of_features.rst:521 -msgid "Keyboard input." +msgid "*Audio:*" msgstr "" #: ../../docs/about/list_of_features.rst:523 -msgid "Keys can be mapped in \"physical\" mode to be independent of the keyboard layout." +msgid "WAV with optional IMA-ADPCM compression." +msgstr "" + +#: ../../docs/about/list_of_features.rst:524 +msgid "Ogg Vorbis." msgstr "" #: ../../docs/about/list_of_features.rst:525 -msgid "Mouse input." +msgid "MP3." msgstr "" #: ../../docs/about/list_of_features.rst:527 -msgid "The mouse cursor can be visible, hidden, captured or confined within the window." +msgid "*3D scenes:* See :ref:`doc_importing_3d_scenes`." msgstr "" -#: ../../docs/about/list_of_features.rst:528 -msgid "When captured, raw input will be used on Windows and Linux to sidestep the OS' mouse acceleration settings." +#: ../../docs/about/list_of_features.rst:529 +msgid "glTF 2.0 *(recommended)*." +msgstr "" + +#: ../../docs/about/list_of_features.rst:530 +msgid "``.blend`` (by calling Blender's glTF export functionality transparently)." msgstr "" #: ../../docs/about/list_of_features.rst:531 -msgid "Gamepad input (up to 8 simultaneous controllers)." +msgid "FBX (by calling `FBX2glTF `__ transparently)." msgstr "" #: ../../docs/about/list_of_features.rst:532 -msgid "Pen/tablet input with pressure support." +msgid "Collada (.dae)." +msgstr "" + +#: ../../docs/about/list_of_features.rst:533 +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:535 -msgid "Navigation" +msgid "Support for loading glTF 2.0 scenes at run-time, including from an exported project." msgstr "" -#: ../../docs/about/list_of_features.rst:537 -msgid "A* algorithm in :ref:`2D ` and :ref:`3D `." -msgstr "" - -#: ../../docs/about/list_of_features.rst:538 -msgid "Navigation meshes with dynamic obstacle avoidance in :ref:`2D ` and :ref:`3D `." +#: ../../docs/about/list_of_features.rst:536 +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:540 -msgid "Generate navigation meshes from the editor or at run-time (including from an exported project)." +msgid "Input" msgstr "" -#: ../../docs/about/list_of_features.rst:543 -msgid "Networking" +#: ../../docs/about/list_of_features.rst:542 +msgid ":ref:`Input mapping system ` using hardcoded input events or remappable input actions." msgstr "" #: ../../docs/about/list_of_features.rst:545 -msgid "Low-level TCP networking using :ref:`class_StreamPeer` and :ref:`class_TCPServer`." +msgid "Axis values can be mapped to two different actions with a configurable deadzone." msgstr "" #: ../../docs/about/list_of_features.rst:546 -msgid "Low-level UDP networking using :ref:`class_PacketPeer` and :ref:`class_UDPServer`." -msgstr "" - -#: ../../docs/about/list_of_features.rst:547 -msgid "Low-level HTTP requests using :ref:`class_HTTPClient`." +msgid "Use the same code to support both keyboards and gamepads." msgstr "" #: ../../docs/about/list_of_features.rst:548 -msgid "High-level HTTP requests using :ref:`class_HTTPRequest`." +msgid "Keyboard input." msgstr "" #: ../../docs/about/list_of_features.rst:550 -msgid "Supports HTTPS out of the box using bundled certificates." +msgid "Keys can be mapped in \"physical\" mode to be independent of the keyboard layout." msgstr "" #: ../../docs/about/list_of_features.rst:552 -msgid ":ref:`High-level multiplayer ` API using UDP and ENet." +msgid "Mouse input." msgstr "" #: ../../docs/about/list_of_features.rst:554 -msgid "Automatic replication using remote procedure calls (RPCs)." +msgid "The mouse cursor can be visible, hidden, captured or confined within the window." msgstr "" #: ../../docs/about/list_of_features.rst:555 -msgid "Supports unreliable, reliable and ordered transfers." -msgstr "" - -#: ../../docs/about/list_of_features.rst:557 -msgid ":ref:`WebSocket ` client and server, available on all platforms." +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:558 -msgid ":ref:`WebRTC ` client and server, available on all platforms." +msgid "Gamepad input (up to 8 simultaneous controllers)." msgstr "" #: ../../docs/about/list_of_features.rst:559 -msgid "Support for :ref:`UPnP ` to sidestep the requirement to forward ports when hosting a server behind a NAT." +msgid "Pen/tablet input with pressure support." msgstr "" -#: ../../docs/about/list_of_features.rst:563 -msgid "Internationalization" +#: ../../docs/about/list_of_features.rst:562 +msgid "Navigation" +msgstr "" + +#: ../../docs/about/list_of_features.rst:564 +msgid "A* algorithm in :ref:`2D ` and :ref:`3D `." msgstr "" #: ../../docs/about/list_of_features.rst:565 -msgid "Full support for Unicode including emoji." +msgid "Navigation meshes with dynamic obstacle avoidance in :ref:`2D ` and :ref:`3D `." msgstr "" -#: ../../docs/about/list_of_features.rst:566 -msgid "Store localization strings using :ref:`CSV ` or :ref:`gettext `." +#: ../../docs/about/list_of_features.rst:567 +msgid "Generate navigation meshes from the editor or at run-time (including from an exported project)." msgstr "" -#: ../../docs/about/list_of_features.rst:569 -msgid "Support for generating gettext POT and PO files from the editor." +#: ../../docs/about/list_of_features.rst:570 +msgid "Networking" msgstr "" -#: ../../docs/about/list_of_features.rst:571 -msgid "Use localized strings in your project automatically in GUI elements or by using the ``tr()`` function." +#: ../../docs/about/list_of_features.rst:572 +msgid "Low-level TCP networking using :ref:`class_StreamPeer` and :ref:`class_TCPServer`." msgstr "" #: ../../docs/about/list_of_features.rst:573 -msgid "Support for pluralization and translation contexts when using gettext translations." +msgid "Low-level UDP networking using :ref:`class_PacketPeer` and :ref:`class_UDPServer`." msgstr "" #: ../../docs/about/list_of_features.rst:574 -msgid "Support for :ref:`bidirectional typesetting `, text shaping and OpenType localized forms." +msgid "Low-level HTTP requests using :ref:`class_HTTPClient`." msgstr "" -#: ../../docs/about/list_of_features.rst:576 -msgid "Automatic UI mirroring for right-to-left locales." +#: ../../docs/about/list_of_features.rst:575 +msgid "High-level HTTP requests using :ref:`class_HTTPRequest`." msgstr "" #: ../../docs/about/list_of_features.rst:577 -msgid "Support for pseudolocalization to test your project for i18n-friendliness." +msgid "Supports HTTPS out of the box using bundled certificates." msgstr "" -#: ../../docs/about/list_of_features.rst:580 -msgid "Windowing and OS integration" +#: ../../docs/about/list_of_features.rst:579 +msgid ":ref:`High-level multiplayer ` API using UDP and ENet." +msgstr "" + +#: ../../docs/about/list_of_features.rst:581 +msgid "Automatic replication using remote procedure calls (RPCs)." msgstr "" #: ../../docs/about/list_of_features.rst:582 -msgid "Spawn multiple independent windows within a single process." -msgstr "" - -#: ../../docs/about/list_of_features.rst:583 -msgid "Move, resize, minimize, and maximize windows spawned by the project." +msgid "Supports unreliable, reliable and ordered transfers." msgstr "" #: ../../docs/about/list_of_features.rst:584 -msgid "Change the window title and icon." +msgid ":ref:`WebSocket ` client and server, available on all platforms." msgstr "" #: ../../docs/about/list_of_features.rst:585 -msgid "Request attention (will cause the title bar to blink on most platforms)." +msgid ":ref:`WebRTC ` client and server, available on all platforms." msgstr "" #: ../../docs/about/list_of_features.rst:586 -msgid "Fullscreen mode." +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:588 -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:591 -msgid "Borderless windows (fullscreen or non-fullscreen)." +#: ../../docs/about/list_of_features.rst:590 +msgid "Internationalization" msgstr "" #: ../../docs/about/list_of_features.rst:592 -msgid "Ability to keep a window always on top." +msgid "Full support for Unicode including emoji." msgstr "" #: ../../docs/about/list_of_features.rst:593 -msgid "Global menu integration on macOS." -msgstr "" - -#: ../../docs/about/list_of_features.rst:594 -msgid "Execute commands in a blocking or non-blocking manner (including running multiple instances of the same project)." +msgid "Store localization strings using :ref:`CSV ` or :ref:`gettext `." msgstr "" #: ../../docs/about/list_of_features.rst:596 -msgid "Open file paths and URLs using default or custom protocol handlers (if registered on the system)." -msgstr "" - -#: ../../docs/about/list_of_features.rst:597 -msgid "Parse custom command line arguments." +msgid "Support for generating gettext POT and PO files from the editor." msgstr "" #: ../../docs/about/list_of_features.rst:598 -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." +msgid "Use localized strings in your project automatically in GUI elements or by using the ``tr()`` function." +msgstr "" + +#: ../../docs/about/list_of_features.rst:600 +msgid "Support for pluralization and translation contexts when using gettext translations." +msgstr "" + +#: ../../docs/about/list_of_features.rst:601 +msgid "Support for :ref:`bidirectional typesetting `, text shaping and OpenType localized forms." +msgstr "" + +#: ../../docs/about/list_of_features.rst:603 +msgid "Automatic UI mirroring for right-to-left locales." msgstr "" #: ../../docs/about/list_of_features.rst:604 -msgid "Mobile" +msgid "Support for pseudolocalization to test your project for i18n-friendliness." msgstr "" -#: ../../docs/about/list_of_features.rst:606 -msgid "In-app purchases on :ref:`Android ` and :ref:`iOS `." +#: ../../docs/about/list_of_features.rst:607 +msgid "Windowing and OS integration" msgstr "" -#: ../../docs/about/list_of_features.rst:608 -msgid "Support for advertisements using third-party modules." +#: ../../docs/about/list_of_features.rst:609 +msgid "Spawn multiple independent windows within a single process." +msgstr "" + +#: ../../docs/about/list_of_features.rst:610 +msgid "Move, resize, minimize, and maximize windows spawned by the project." msgstr "" #: ../../docs/about/list_of_features.rst:611 -msgid "XR support (AR and VR)" +msgid "Change the window title and icon." +msgstr "" + +#: ../../docs/about/list_of_features.rst:612 +msgid "Request attention (will cause the title bar to blink on most platforms)." msgstr "" #: ../../docs/about/list_of_features.rst:613 -msgid "Out of the box :ref:`support for OpenXR `." +msgid "Fullscreen mode." msgstr "" #: ../../docs/about/list_of_features.rst:615 -msgid "Including support for popular headsets like the Meta Quest and the Valve Index." -msgstr "" - -#: ../../docs/about/list_of_features.rst:617 -msgid "Support for ARKit on iOS out of the box." +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:618 -msgid "Support for the OpenVR APIs." +msgid "Borderless windows (fullscreen or non-fullscreen)." +msgstr "" + +#: ../../docs/about/list_of_features.rst:619 +msgid "Ability to keep a window always on top." +msgstr "" + +#: ../../docs/about/list_of_features.rst:620 +msgid "Global menu integration on macOS." msgstr "" #: ../../docs/about/list_of_features.rst:621 -msgid "GUI system" +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:623 -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." +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 "**Nodes:**" +#: ../../docs/about/list_of_features.rst:624 +msgid "Parse custom command line arguments." msgstr "" -#: ../../docs/about/list_of_features.rst:628 -msgid "Buttons." +#: ../../docs/about/list_of_features.rst:625 +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:629 -msgid "Checkboxes, check buttons, radio buttons." -msgstr "" - -#: ../../docs/about/list_of_features.rst:630 -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." +#: ../../docs/about/list_of_features.rst:631 +msgid "Mobile" msgstr "" #: ../../docs/about/list_of_features.rst:633 -msgid "Dropdown menus using :ref:`class_PopupMenu` and :ref:`class_OptionButton`." -msgstr "" - -#: ../../docs/about/list_of_features.rst:634 -msgid "Scrollbars." +msgid "In-app purchases on :ref:`Android ` and :ref:`iOS `." msgstr "" #: ../../docs/about/list_of_features.rst:635 -msgid "Labels." -msgstr "" - -#: ../../docs/about/list_of_features.rst:636 -msgid "RichTextLabel for :ref:`text formatted using BBCode `, with support for animated custom effects." +msgid "Support for advertisements using third-party modules." msgstr "" #: ../../docs/about/list_of_features.rst:638 -msgid "Trees (can also be used to represent tables)." -msgstr "" - -#: ../../docs/about/list_of_features.rst:639 -msgid "Color picker with RGB and HSV modes." +msgid "XR support (AR and VR)" msgstr "" #: ../../docs/about/list_of_features.rst:640 -msgid "Controls can be rotated and scaled." +msgid "Out of the box :ref:`support for OpenXR `." msgstr "" #: ../../docs/about/list_of_features.rst:642 -msgid "**Sizing:**" +msgid "Including support for popular headsets like the Meta Quest and the Valve Index." msgstr "" #: ../../docs/about/list_of_features.rst:644 -msgid "Anchors to keep GUI elements in a specific corner, edge or centered." +msgid "Support for ARKit on iOS out of the box." msgstr "" #: ../../docs/about/list_of_features.rst:645 -msgid "Containers to place GUI elements automatically following certain rules." -msgstr "" - -#: ../../docs/about/list_of_features.rst:647 -msgid ":ref:`Stack ` layouts." +msgid "Support for the OpenVR APIs." msgstr "" #: ../../docs/about/list_of_features.rst:648 -msgid ":ref:`Grid ` layouts." -msgstr "" - -#: ../../docs/about/list_of_features.rst:649 -msgid ":ref:`Flow ` layouts (similar to autowrapping text)." +msgid "GUI system" msgstr "" #: ../../docs/about/list_of_features.rst:650 -msgid ":ref:`Margin `, :ref:`centered ` and :ref:`aspect ratio ` layouts." +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:652 -msgid ":ref:`Draggable splitter ` layouts." +#: ../../docs/about/list_of_features.rst:653 +msgid "**Nodes:**" msgstr "" -#: ../../docs/about/list_of_features.rst:654 -msgid "Scale to :ref:`multiple resolutions ` using the ``canvas_items`` or ``viewport`` stretch modes." +#: ../../docs/about/list_of_features.rst:655 +msgid "Buttons." msgstr "" #: ../../docs/about/list_of_features.rst:656 -msgid "Support any aspect ratio using anchors and the ``expand`` stretch aspect." +msgid "Checkboxes, check buttons, radio buttons." msgstr "" -#: ../../docs/about/list_of_features.rst:658 -msgid "**Theming:**" +#: ../../docs/about/list_of_features.rst:657 +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:660 -msgid "Built-in theme editor." +msgid "Dropdown menus using :ref:`class_PopupMenu` and :ref:`class_OptionButton`." +msgstr "" + +#: ../../docs/about/list_of_features.rst:661 +msgid "Scrollbars." msgstr "" #: ../../docs/about/list_of_features.rst:662 -msgid "Generate a theme based on the current editor theme settings." +msgid "Labels." msgstr "" -#: ../../docs/about/list_of_features.rst:664 -msgid "Procedural vector-based theming using :ref:`class_StyleBoxFlat`." +#: ../../docs/about/list_of_features.rst:663 +msgid "RichTextLabel for :ref:`text formatted using BBCode `, with support for animated custom effects." +msgstr "" + +#: ../../docs/about/list_of_features.rst:665 +msgid "Trees (can also be used to represent tables)." msgstr "" #: ../../docs/about/list_of_features.rst:666 -msgid "Supports rounded/beveled corners, drop shadows, per-border widths and antialiasing." +msgid "Color picker with RGB and HSV modes." msgstr "" -#: ../../docs/about/list_of_features.rst:668 -msgid "Texture-based theming using :ref:`class_StyleBoxTexture`." +#: ../../docs/about/list_of_features.rst:667 +msgid "Controls can be rotated and scaled." msgstr "" -#: ../../docs/about/list_of_features.rst:670 -msgid "Godot's small distribution size can make it a suitable alternative to frameworks like Electron or Qt." +#: ../../docs/about/list_of_features.rst:669 +msgid "**Sizing:**" +msgstr "" + +#: ../../docs/about/list_of_features.rst:671 +msgid "Anchors to keep GUI elements in a specific corner, edge or centered." +msgstr "" + +#: ../../docs/about/list_of_features.rst:672 +msgid "Containers to place GUI elements automatically following certain rules." msgstr "" #: ../../docs/about/list_of_features.rst:674 -msgid "Animation" +msgid ":ref:`Stack ` layouts." +msgstr "" + +#: ../../docs/about/list_of_features.rst:675 +msgid ":ref:`Grid ` layouts." msgstr "" #: ../../docs/about/list_of_features.rst:676 -msgid "Direct kinematics and inverse kinematics." +msgid ":ref:`Flow ` layouts (similar to autowrapping text)." msgstr "" #: ../../docs/about/list_of_features.rst:677 -msgid "Support for animating any property with customizable interpolation." -msgstr "" - -#: ../../docs/about/list_of_features.rst:678 -msgid "Support for calling methods in animation tracks." +msgid ":ref:`Margin `, :ref:`centered ` and :ref:`aspect ratio ` layouts." msgstr "" #: ../../docs/about/list_of_features.rst:679 -msgid "Support for playing sounds in animation tracks." +msgid ":ref:`Draggable splitter ` layouts." msgstr "" -#: ../../docs/about/list_of_features.rst:680 -msgid "Support for Bézier curves in animation." +#: ../../docs/about/list_of_features.rst:681 +msgid "Scale to :ref:`multiple resolutions ` using the ``canvas_items`` or ``viewport`` stretch modes." msgstr "" #: ../../docs/about/list_of_features.rst:683 -msgid "File formats" +msgid "Support any aspect ratio using anchors and the ``expand`` stretch aspect." msgstr "" #: ../../docs/about/list_of_features.rst:685 -msgid "Scenes and resources can be saved in :ref:`text-based ` or binary formats." +msgid "**Theming:**" msgstr "" #: ../../docs/about/list_of_features.rst:687 -msgid "Text-based formats are human-readable and more friendly to version control." +msgid "Built-in theme editor." msgstr "" -#: ../../docs/about/list_of_features.rst:688 -msgid "Binary formats are faster to save/load for large scenes/resources." +#: ../../docs/about/list_of_features.rst:689 +msgid "Generate a theme based on the current editor theme settings." msgstr "" -#: ../../docs/about/list_of_features.rst:690 -msgid "Read and write text or binary files using :ref:`class_FileAccess`." +#: ../../docs/about/list_of_features.rst:691 +msgid "Procedural vector-based theming using :ref:`class_StyleBoxFlat`." msgstr "" -#: ../../docs/about/list_of_features.rst:692 -msgid "Can optionally be compressed or encrypted." -msgstr "" - -#: ../../docs/about/list_of_features.rst:694 -msgid "Read and write :ref:`class_JSON` files." +#: ../../docs/about/list_of_features.rst:693 +msgid "Supports rounded/beveled corners, drop shadows, per-border widths and antialiasing." msgstr "" #: ../../docs/about/list_of_features.rst:695 -msgid "Read and write INI-style configuration files using :ref:`class_ConfigFile`." +msgid "Texture-based theming using :ref:`class_StyleBoxTexture`." msgstr "" #: ../../docs/about/list_of_features.rst:697 -msgid "Can (de)serialize any Godot datatype, including Vector2/3, Color, ..." -msgstr "" - -#: ../../docs/about/list_of_features.rst:699 -msgid "Read XML files using :ref:`class_XMLParser`." -msgstr "" - -#: ../../docs/about/list_of_features.rst:700 -msgid "Read and write ZIP files using :ref:`class_ZIPReader` and :ref:`class_ZIPPacker`." +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:701 -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." +msgid "Animation" msgstr "" #: ../../docs/about/list_of_features.rst:703 -msgid ":ref:`Export additional PCK files` that can be read by the engine to support mods and DLCs." +msgid "Direct kinematics and inverse kinematics." +msgstr "" + +#: ../../docs/about/list_of_features.rst:704 +msgid "Support for animating any property with customizable interpolation." +msgstr "" + +#: ../../docs/about/list_of_features.rst:705 +msgid "Support for calling methods in animation tracks." +msgstr "" + +#: ../../docs/about/list_of_features.rst:706 +msgid "Support for playing sounds in animation tracks." msgstr "" #: ../../docs/about/list_of_features.rst:707 -msgid "Miscellaneous" -msgstr "" - -#: ../../docs/about/list_of_features.rst:709 -msgid ":ref:`Video playback ` with built-in support for Ogg Theora." +msgid "Support for Bézier curves in animation." msgstr "" #: ../../docs/about/list_of_features.rst:710 -msgid ":ref:`Movie Maker mode ` to record videos from a running project with synchronized audio and perfect frame pacing." +msgid "File formats" msgstr "" #: ../../docs/about/list_of_features.rst:712 -msgid ":ref:`Low-level access to servers ` which allows bypassing the scene tree's overhead when needed." +msgid "Scenes and resources can be saved in :ref:`text-based ` or binary formats." msgstr "" #: ../../docs/about/list_of_features.rst:714 -msgid ":ref:`Command line interface ` for automation." +msgid "Text-based formats are human-readable and more friendly to version control." msgstr "" -#: ../../docs/about/list_of_features.rst:716 -msgid "Export and deploy projects using continuous integration platforms." +#: ../../docs/about/list_of_features.rst:715 +msgid "Binary formats are faster to save/load for large scenes/resources." msgstr "" #: ../../docs/about/list_of_features.rst:717 -msgid "`Shell completion scripts `__ are available for Bash, zsh and fish." +msgid "Read and write text or binary files using :ref:`class_FileAccess`." msgstr "" #: ../../docs/about/list_of_features.rst:719 -msgid "Print colored text to standard output on all platforms using :ref:`print_rich `." +msgid "Can optionally be compressed or encrypted." +msgstr "" + +#: ../../docs/about/list_of_features.rst:721 +msgid "Read and write :ref:`class_JSON` files." msgstr "" #: ../../docs/about/list_of_features.rst:722 -msgid "Support for :ref:`C++ modules ` statically linked into the engine binary." +msgid "Read and write INI-style configuration files using :ref:`class_ConfigFile`." msgstr "" #: ../../docs/about/list_of_features.rst:724 -msgid "Engine and editor written in C++17." +msgid "Can (de)serialize any Godot datatype, including Vector2/3, Color, ..." msgstr "" #: ../../docs/about/list_of_features.rst:726 -msgid "Can be :ref:`compiled ` using GCC, Clang and MSVC. MinGW is also supported." +msgid "Read XML files using :ref:`class_XMLParser`." msgstr "" -#: ../../docs/about/list_of_features.rst:728 -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." +#: ../../docs/about/list_of_features.rst:727 +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:732 -msgid "Licensed under the permissive MIT license." +#: ../../docs/about/list_of_features.rst:729 +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:734 -msgid "Open development process with :ref:`contributions welcome `." +#: ../../docs/about/list_of_features.rst:731 +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:735 +msgid "Miscellaneous" +msgstr "" + +#: ../../docs/about/list_of_features.rst:737 +msgid ":ref:`Video playback ` with built-in support for Ogg Theora." msgstr "" #: ../../docs/about/list_of_features.rst:738 +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:740 +msgid ":ref:`Low-level access to servers ` which allows bypassing the scene tree's overhead when needed." +msgstr "" + +#: ../../docs/about/list_of_features.rst:742 +msgid ":ref:`Command line interface ` for automation." +msgstr "" + +#: ../../docs/about/list_of_features.rst:744 +msgid "Export and deploy projects using continuous integration platforms." +msgstr "" + +#: ../../docs/about/list_of_features.rst:745 +msgid "`Shell completion scripts `__ are available for Bash, zsh and fish." +msgstr "" + +#: ../../docs/about/list_of_features.rst:747 +msgid "Print colored text to standard output on all platforms using :ref:`print_rich `." +msgstr "" + +#: ../../docs/about/list_of_features.rst:750 +msgid "Support for :ref:`C++ modules ` statically linked into the engine binary." +msgstr "" + +#: ../../docs/about/list_of_features.rst:752 +msgid "Engine and editor written in C++17." +msgstr "" + +#: ../../docs/about/list_of_features.rst:754 +msgid "Can be :ref:`compiled ` using GCC, Clang and MSVC. MinGW is also supported." +msgstr "" + +#: ../../docs/about/list_of_features.rst:756 +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:760 +msgid "Licensed under the permissive MIT license." +msgstr "" + +#: ../../docs/about/list_of_features.rst:762 +msgid "Open development process with :ref:`contributions welcome `." +msgstr "" + +#: ../../docs/about/list_of_features.rst:766 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 eabe20b203..30c37388b8 100644 --- a/sphinx/templates/about/release_policy.pot +++ b/sphinx/templates/about/release_policy.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "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/troubleshooting.pot b/sphinx/templates/about/troubleshooting.pot index 88f2c8a62a..3e7e0c1d55 100644 --- a/sphinx/templates/about/troubleshooting.pot +++ b/sphinx/templates/about/troubleshooting.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -92,148 +92,152 @@ msgstr "" msgid "If the issue persists after the first startup, this is a `known bug `__ on Windows when you have specific USB peripherals connected. In particular, Corsair's iCUE software seems to cause this bug. Try updating your USB peripherals' drivers to their latest version. If the bug persists, you need to disconnect the specific peripheral before opening the editor. You can then connect the peripheral again." msgstr "" -#: ../../docs/about/troubleshooting.rst:78 -msgid "The Godot editor appears frozen after clicking the system console" -msgstr "" - -#: ../../docs/about/troubleshooting.rst:80 -msgid "When running Godot on Windows with the system console enabled, you can accidentally enable *selection mode* by clicking inside the command window. This Windows-specific behavior pauses the application to let you select text inside the system console. Godot cannot override this system-specific behavior." +#: ../../docs/about/troubleshooting.rst:77 +msgid "Firewall software such as Portmaster may also cause the debug port to be blocked. This causes the project to take a long time to start, while being unable to use debugging features in the editor (such as viewing ``print()`` output). You can work this around by changing the debug port used by the project in the Editor Settings (**Network > Debug > Remote Port**). The default is ``6007``; try another value that is greater than ``1024``, such as ``7007``." msgstr "" #: ../../docs/about/troubleshooting.rst:85 +msgid "The Godot editor appears frozen after clicking the system console" +msgstr "" + +#: ../../docs/about/troubleshooting.rst:87 +msgid "When running Godot on Windows with the system console enabled, you can accidentally enable *selection mode* by clicking inside the command window. This Windows-specific behavior pauses the application to let you select text inside the system console. Godot cannot override this system-specific behavior." +msgstr "" + +#: ../../docs/about/troubleshooting.rst:92 msgid "To solve this, select the system console window and press Enter to leave selection mode." msgstr "" -#: ../../docs/about/troubleshooting.rst:89 +#: ../../docs/about/troubleshooting.rst:96 msgid "The Godot editor's macOS dock icon gets duplicated every time it is manually moved" msgstr "" -#: ../../docs/about/troubleshooting.rst:91 +#: ../../docs/about/troubleshooting.rst:98 msgid "If you open the Godot editor and manually change the position of the dock icon, then restart the editor, you will get a duplicate dock icon all the way to the right of the dock." msgstr "" -#: ../../docs/about/troubleshooting.rst:95 +#: ../../docs/about/troubleshooting.rst:102 msgid "This is due to a design limitation of the macOS dock. The only known way to resolve this would be to merge the project manager and editor into a single process, which means the project manager would no longer spawn a separate process when starting the editor. While using a single process instance would bring several benefits, it isn't planned to be done in the near future due to the complexity of the task." msgstr "" -#: ../../docs/about/troubleshooting.rst:102 +#: ../../docs/about/troubleshooting.rst:109 msgid "To avoid this issue, keep the Godot editor's dock icon at its default location as created by macOS." msgstr "" -#: ../../docs/about/troubleshooting.rst:106 +#: ../../docs/about/troubleshooting.rst:113 msgid "Some text such as \"NO DC\" appears in the top-left corner of the Project Manager and editor window" msgstr "" -#: ../../docs/about/troubleshooting.rst:108 +#: ../../docs/about/troubleshooting.rst:115 msgid "This is caused by the NVIDIA graphics driver injecting an overlay to display information." msgstr "" -#: ../../docs/about/troubleshooting.rst:110 +#: ../../docs/about/troubleshooting.rst:117 msgid "To disable this overlay on Windows, restore your graphics driver settings to the default values in the NVIDIA Control Panel." msgstr "" -#: ../../docs/about/troubleshooting.rst:113 +#: ../../docs/about/troubleshooting.rst:120 msgid "To disable this overlay on Linux, open ``nvidia-settings``, go to **X Screen 0 > OpenGL Settings** then uncheck **Enable Graphics API Visual Indicator**." msgstr "" -#: ../../docs/about/troubleshooting.rst:117 +#: ../../docs/about/troubleshooting.rst:124 msgid "The editor or project appears overly sharp or blurry" msgstr "" -#: ../../docs/about/troubleshooting.rst:123 -#: ../../docs/about/troubleshooting.rst:123 +#: ../../docs/about/troubleshooting.rst:130 +#: ../../docs/about/troubleshooting.rst:130 msgid "Correct appearance (left), oversharpened appearance due to graphics driver sharpening (right)" msgstr "" -#: ../../docs/about/troubleshooting.rst:125 +#: ../../docs/about/troubleshooting.rst:132 msgid "If the editor or project appears overly sharp, this is likely due to image sharpening being forced on all Vulkan or OpenGL applications by your graphics driver. You can disable this behavior in the graphics driver's control panel:" msgstr "" -#: ../../docs/about/troubleshooting.rst:129 +#: ../../docs/about/troubleshooting.rst:136 msgid "**NVIDIA (Windows):** Open the start menu and choose **NVIDIA Control Panel**. Open the **Manage 3D settings** tab on the left. In the list in the middle, scroll to **Image Sharpening** and set it to **Sharpening Off**." msgstr "" -#: ../../docs/about/troubleshooting.rst:132 +#: ../../docs/about/troubleshooting.rst:139 msgid "**AMD (Windows):** Open the start menu and choose **AMD Software**. Click the settings \"cog\" icon in the top-right corner. Go to the **Graphics** tab then disable **Radeon Image Sharpening**." msgstr "" -#: ../../docs/about/troubleshooting.rst:136 +#: ../../docs/about/troubleshooting.rst:143 msgid "If the editor or project appears overly blurry, this is likely due to :abbr:`FXAA (Fast Approximate AntiAliasing)` being forced on all Vulkan or OpenGL applications by your graphics driver." msgstr "" -#: ../../docs/about/troubleshooting.rst:140 +#: ../../docs/about/troubleshooting.rst:147 msgid "**NVIDIA (Windows):** Open the start menu and choose **NVIDIA Control Panel**. Open the **Manage 3D settings** tab on the left. In the list in the middle, scroll to **Fast Approximate Antialiasing** and set it to **Application Controlled**." msgstr "" -#: ../../docs/about/troubleshooting.rst:144 +#: ../../docs/about/troubleshooting.rst:151 msgid "**NVIDIA (Linux):** Open the applications menu and choose **NVIDIA X Server Settings**. Select to **Antialiasing Settings** on the left, then uncheck **Enable FXAA**." msgstr "" -#: ../../docs/about/troubleshooting.rst:147 +#: ../../docs/about/troubleshooting.rst:154 msgid "**AMD (Windows):** Open the start menu and choose **AMD Software**. Click the settings \"cog\" icon in the top-right corner. Go to the **Graphics** tab, scroll to the bottom and click **Advanced** to unfold its settings. Disable **Morphological Anti-Aliasing**." msgstr "" -#: ../../docs/about/troubleshooting.rst:152 +#: ../../docs/about/troubleshooting.rst:159 msgid "Third-party vendor-independent utilities such as vkBasalt may also force sharpening or FXAA on all Vulkan applications. You may want to check their configuration as well." msgstr "" -#: ../../docs/about/troubleshooting.rst:156 +#: ../../docs/about/troubleshooting.rst:163 msgid "After changing options in the graphics driver or third-party utilities, restart Godot to make the changes effective." msgstr "" -#: ../../docs/about/troubleshooting.rst:159 +#: ../../docs/about/troubleshooting.rst:166 msgid "If you still wish to force sharpening or FXAA on other applications, it's recommended to do so on a per-application basis using the application profiles system provided by graphics drivers' control panels." msgstr "" -#: ../../docs/about/troubleshooting.rst:164 +#: ../../docs/about/troubleshooting.rst:171 msgid "The editor or project appears to have washed out colors" msgstr "" -#: ../../docs/about/troubleshooting.rst:166 +#: ../../docs/about/troubleshooting.rst:173 msgid "On Windows, this is usually caused by incorrect OS or monitor settings, as Godot currently does not support :abbr:`HDR (High Dynamic Range)` *output* (even though it may internally render in HDR)." msgstr "" -#: ../../docs/about/troubleshooting.rst:170 +#: ../../docs/about/troubleshooting.rst:177 msgid "As `most displays are not designed to display SDR content in HDR mode `__, it is recommended to disable HDR in the Windows settings when not running applications that use HDR output. On Windows 11, this can be done by pressing :kbd:`Windows + Alt + B` (this shortcut is part of the Xbox Game Bar app). To toggle HDR automatically based on applications currently running, you can use `AutoActions `__." msgstr "" -#: ../../docs/about/troubleshooting.rst:177 +#: ../../docs/about/troubleshooting.rst:184 msgid "If you insist on leaving HDR enabled, it is possible to somewhat improve the result by ensuring the display is configured to use :abbr:`HGIG (HDR Gaming Interest Group)` tonemapping (as opposed to :abbr:`DTM (Dynamic Tone Mapping)`), then `using the Windows HDR calibration app `__. It is also strongly recommended to use Windows 11 instead of Windows 10 when using HDR. The end result will still likely be inferior to disabling HDR on the display, though." msgstr "" -#: ../../docs/about/troubleshooting.rst:184 +#: ../../docs/about/troubleshooting.rst:191 msgid "Support for HDR *output* is planned in a future release." msgstr "" -#: ../../docs/about/troubleshooting.rst:187 +#: ../../docs/about/troubleshooting.rst:194 msgid "The editor/project freezes or displays glitched visuals after resuming the PC from suspend" msgstr "" -#: ../../docs/about/troubleshooting.rst:189 +#: ../../docs/about/troubleshooting.rst:196 msgid "This is a known issue on Linux with NVIDIA graphics when using the proprietary driver. There is no definitive fix yet, as suspend on Linux + NVIDIA is often buggy when OpenGL or Vulkan is involved. The Compatibility rendering method (which uses OpenGL) is generally less prone to suspend-related issues compared to the Forward+ and Forward Mobile rendering methods (which use Vulkan)." msgstr "" -#: ../../docs/about/troubleshooting.rst:195 +#: ../../docs/about/troubleshooting.rst:202 msgid "The NVIDIA driver offers an *experimental* `option to preserve video memory after suspend `__ which may resolve this issue. This option has been reported to work better with more recent NVIDIA driver versions." msgstr "" -#: ../../docs/about/troubleshooting.rst:200 +#: ../../docs/about/troubleshooting.rst:207 msgid "To avoid losing work, save scenes in the editor before putting the PC to sleep." msgstr "" -#: ../../docs/about/troubleshooting.rst:203 +#: ../../docs/about/troubleshooting.rst:210 msgid "The project works when run from the editor, but fails to load some files when running from an exported copy" msgstr "" -#: ../../docs/about/troubleshooting.rst:205 +#: ../../docs/about/troubleshooting.rst:212 msgid "This is usually caused by forgetting to specify a filter for non-resource files in the Export dialog. By default, Godot will only include actual *resources* into the PCK file. Some files commonly used, such as JSON files, are not considered resources. For example, if you load ``test.json`` in the exported project, you need to specify ``*.json`` in the non-resource export filter. See :ref:`doc_exporting_projects_export_mode` for more information." msgstr "" -#: ../../docs/about/troubleshooting.rst:212 +#: ../../docs/about/troubleshooting.rst:219 msgid "Also, note that files and folders whose names begin with a period will never be included in the exported project. This is done to prevent version control folders like ``.git`` from being included in the exported PCK file." msgstr "" -#: ../../docs/about/troubleshooting.rst:216 +#: ../../docs/about/troubleshooting.rst:223 msgid "On Windows, this can also be due to :ref:`case sensitivity ` issues. If you reference a resource in your script with a different case than on the filesystem, loading will fail once you export the project. This is because the virtual PCK filesystem is case-sensitive, while Windows's filesystem is case-insensitive by default." msgstr "" diff --git a/sphinx/templates/community/asset_library/index.pot b/sphinx/templates/community/asset_library/index.pot index c1d6df6d9a..99ffb039f3 100644 --- a/sphinx/templates/community/asset_library/index.pot +++ b/sphinx/templates/community/asset_library/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "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 6553f6698b..07e8694042 100644 --- a/sphinx/templates/community/asset_library/submitting_to_assetlib.pot +++ b/sphinx/templates/community/asset_library/submitting_to_assetlib.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "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 d596420359..767a96dfff 100644 --- a/sphinx/templates/community/asset_library/using_assetlib.pot +++ b/sphinx/templates/community/asset_library/using_assetlib.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "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 da4345ed0e..5389d06baa 100644 --- a/sphinx/templates/community/asset_library/what_is_assetlib.pot +++ b/sphinx/templates/community/asset_library/what_is_assetlib.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "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 06da2eae22..b29ef16cd6 100644 --- a/sphinx/templates/community/channels.pot +++ b/sphinx/templates/community/channels.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+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 "Q&A" msgstr "" #: ../../docs/community/channels.rst:15 -msgid "`Official Godot Questions & Answers `_" +msgid "`Official Godot Questions & Answers `_" msgstr "" #: ../../docs/community/channels.rst:18 diff --git a/sphinx/templates/community/tutorials.pot b/sphinx/templates/community/tutorials.pot index c6fbc26c76..17454bce2c 100644 --- a/sphinx/templates/community/tutorials.pot +++ b/sphinx/templates/community/tutorials.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -152,51 +152,67 @@ msgstr "" msgid "`Maker Tech `_ (2D, GDScript)." msgstr "" -#: ../../docs/community/tutorials.rst:51 -msgid "Text tutorials" +#: ../../docs/community/tutorials.rst:49 +msgid "`Clear Code `_ (2D, GDScript, Programming Basics)." msgstr "" -#: ../../docs/community/tutorials.rst:53 -msgid "`FinepointCGI website by Mitch `__" +#: ../../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 "`GDScript website by Andrew Wilkes `__" -msgstr "" - -#: ../../docs/community/tutorials.rst:55 -msgid "`Godot Recipes by KidsCanCode `__" +msgid "Text tutorials" msgstr "" #: ../../docs/community/tutorials.rst:56 -msgid "`Godot Tutorials by SomethingLikeGames `__" +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 -msgid "Devlogs" +msgid "`Godot Tutorials by SomethingLikeGames `__" msgstr "" -#: ../../docs/community/tutorials.rst:61 -msgid "`Andrea Catania (Physics & AI) `_" -msgstr "" - -#: ../../docs/community/tutorials.rst:62 -msgid "`Bastiaan Olij (AR & VR) `_" +#: ../../docs/community/tutorials.rst:60 +msgid "`Game Dev Artisan website `__" msgstr "" #: ../../docs/community/tutorials.rst:63 -msgid "`DevDuck (2D) `_" +msgid "Devlogs" +msgstr "" + +#: ../../docs/community/tutorials.rst:65 +msgid "`Andrea Catania (Physics & AI) `_" msgstr "" #: ../../docs/community/tutorials.rst:66 +msgid "`Bastiaan Olij (AR & VR) `_" +msgstr "" + +#: ../../docs/community/tutorials.rst:67 +msgid "`DevDuck (2D) `_" +msgstr "" + +#: ../../docs/community/tutorials.rst:70 msgid "Resources" msgstr "" -#: ../../docs/community/tutorials.rst:68 +#: ../../docs/community/tutorials.rst:72 msgid "`awesome-godot: A curated list of free/libre plugins, scripts and add-ons `_" msgstr "" -#: ../../docs/community/tutorials.rst:69 +#: ../../docs/community/tutorials.rst:73 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 0b0758e30e..dbb0ebcd1c 100644 --- a/sphinx/templates/contributing/development/best_practices_for_engine_contributors.pot +++ b/sphinx/templates/contributing/development/best_practices_for_engine_contributors.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "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 b10683f3f7..65cfb27e44 100644 --- a/sphinx/templates/contributing/development/code_style_guidelines.pot +++ b/sphinx/templates/contributing/development/code_style_guidelines.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -53,11 +53,11 @@ msgid "The rules used by clang-format are outlined in the `.clang-format `__" +msgid "Visual Studio: `Clang Power Tools 2022 `__" msgstr "" #: ../../docs/contributing/development/code_style_guidelines.rst:124 @@ -164,7 +164,7 @@ msgid "CLion: Starting from version ``2019.1``, no plugin is required. Instead, msgstr "" #: ../../docs/contributing/development/code_style_guidelines.rst:128 -msgid "(Pull requests welcome to extend this list with tested plugins.)" +msgid "(Pull requests are welcome to extend this list with tested plugins.)" msgstr "" #: ../../docs/contributing/development/code_style_guidelines.rst:133 @@ -264,7 +264,7 @@ msgid "Editor integration" msgstr "" #: ../../docs/contributing/development/code_style_guidelines.rst:309 -msgid "Many IDEs or code editors have beautifier plugins that can be configured to run black automatically, for example each time you save a file. For details you can check `Black editor integration `__." +msgid "Many IDEs or code editors have beautifier plugins that can be configured to run black automatically, for example, each time you save a file. For details, you can check `Black editor integration `__." msgstr "" #: ../../docs/contributing/development/code_style_guidelines.rst:314 diff --git a/sphinx/templates/contributing/development/compiling/compiling_for_android.pot b/sphinx/templates/contributing/development/compiling/compiling_for_android.pot index df48841512..9044022a8c 100644 --- a/sphinx/templates/contributing/development/compiling/compiling_for_android.pot +++ b/sphinx/templates/contributing/development/compiling/compiling_for_android.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -73,11 +73,11 @@ msgid "Gradle (will be downloaded and installed automatically if missing)." msgstr "" #: ../../docs/contributing/development/compiling/compiling_for_android.rst:39 -msgid "JDK 11 (either OpenJDK or Oracle JDK)." +msgid "JDK 17 (either OpenJDK or Oracle JDK)." msgstr "" #: ../../docs/contributing/development/compiling/compiling_for_android.rst:41 -msgid "You can download a build from `ojdkbuild `_." +msgid "You can download a build from `ojdkbuild `_." msgstr "" #: ../../docs/contributing/development/compiling/compiling_for_android.rst:43 @@ -93,7 +93,7 @@ msgid "Setting up the buildsystem" msgstr "" #: ../../docs/contributing/development/compiling/compiling_for_android.rst:54 -msgid "Set the environment variable ``ANDROID_SDK_ROOT`` to point to the Android SDK. If you downloaded the Android command-line tools, this would be the folder where you extracted the contents of the ZIP archive." +msgid "Set the environment variable ``ANDROID_HOME`` to point to the Android SDK. If you downloaded the Android command-line tools, this would be the folder where you extracted the contents of the ZIP archive." msgstr "" #: ../../docs/contributing/development/compiling/compiling_for_android.rst:58 @@ -113,7 +113,7 @@ msgid "To set the environment variable on Windows, press :kbd:`Windows + R`, typ msgstr "" #: ../../docs/contributing/development/compiling/compiling_for_android.rst:77 -msgid "To set the environment variable on Linux or macOS, use ``export ANDROID_SDK_ROOT=/path/to/android-sdk`` where ``/path/to/android-sdk`` points to the root of the SDK directories." +msgid "To set the environment variable on Linux or macOS, use ``export ANDROID_HOME=/path/to/android-sdk`` where ``/path/to/android-sdk`` points to the root of the SDK directories." msgstr "" #: ../../docs/contributing/development/compiling/compiling_for_android.rst:82 @@ -221,7 +221,7 @@ msgid "Compiling the editor is done by calling SCons from the Godot root directo msgstr "" #: ../../docs/contributing/development/compiling/compiling_for_android.rst:227 -msgid "The resulting APK will be located at ``bin/android_editor.apk``." +msgid "The resulting APK will be located at ``bin/android_editor_builds/android_editor-release.apk``." msgstr "" #: ../../docs/contributing/development/compiling/compiling_for_android.rst:230 @@ -249,7 +249,7 @@ msgid "Platform doesn't appear in SCons" msgstr "" #: ../../docs/contributing/development/compiling/compiling_for_android.rst:258 -msgid "Double-check that you've set the ``ANDROID_SDK_ROOT`` environment variable. This is required for the platform to appear in SCons' list of detected platforms. See :ref:`Setting up the buildsystem ` for more information." +msgid "Double-check that you've set the ``ANDROID_HOME`` environment variable. This is required for the platform to appear in SCons' list of detected platforms. See :ref:`Setting up the buildsystem ` for more information." msgstr "" #: ../../docs/contributing/development/compiling/compiling_for_android.rst:265 diff --git a/sphinx/templates/contributing/development/compiling/compiling_for_ios.pot b/sphinx/templates/contributing/development/compiling/compiling_for_ios.pot index 92d2c15a96..b6a4d12f11 100644 --- a/sphinx/templates/contributing/development/compiling/compiling_for_ios.pot +++ b/sphinx/templates/contributing/development/compiling/compiling_for_ios.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/contributing/development/compiling/compiling_for_linuxbsd.pot b/sphinx/templates/contributing/development/compiling/compiling_for_linuxbsd.pot index 3cf9a740a6..279f459ea0 100644 --- a/sphinx/templates/contributing/development/compiling/compiling_for_linuxbsd.pot +++ b/sphinx/templates/contributing/development/compiling/compiling_for_linuxbsd.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "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 11b88181da..df8eeaf91f 100644 --- a/sphinx/templates/contributing/development/compiling/compiling_for_macos.pot +++ b/sphinx/templates/contributing/development/compiling/compiling_for_macos.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -97,7 +97,7 @@ msgid "If you want to use separate editor settings for your own Godot builds and msgstr "" #: ../../docs/contributing/development/compiling/compiling_for_macos.rst:72 -msgid "To create an ``.app`` bundle like in the official builds, you need to use the template located in ``misc/dist/macos_tools.app``. Typically, for an optimized editor binary built with ``target=release_debug``::" +msgid "To create an ``.app`` bundle like in the official builds, you need to use the template located in ``misc/dist/macos_tools.app``. Typically, for an optimized editor binary built with ``dev_build=yes``::" msgstr "" #: ../../docs/contributing/development/compiling/compiling_for_macos.rst:84 diff --git a/sphinx/templates/contributing/development/compiling/compiling_for_uwp.pot b/sphinx/templates/contributing/development/compiling/compiling_for_uwp.pot deleted file mode 100644 index 986a7dd782..0000000000 --- a/sphinx/templates/contributing/development/compiling/compiling_for_uwp.pot +++ /dev/null @@ -1,33 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2014-present Juan Linietsky, Ariel Manzur and the Godot community (CC BY 3.0) -# This file is distributed under the same license as the Godot Engine package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Godot Engine latest\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#: ../../docs/contributing/development/compiling/compiling_for_uwp.rst:4 -msgid "Compiling for Universal Windows Platform" -msgstr "" - -#: ../../docs/contributing/development/compiling/compiling_for_uwp.rst:8 -msgid "Compiling UWP export templates is not implemented in Godot 4. Godot 3 has limited UWP support, but there are many `known issues `__." -msgstr "" - -#: ../../docs/contributing/development/compiling/compiling_for_uwp.rst:12 -msgid "We recommend you use the :ref:`Win32 export ` instead." -msgstr "" - -#: ../../docs/:0 -msgid "Translation status" -msgstr "" diff --git a/sphinx/templates/contributing/development/compiling/compiling_for_web.pot b/sphinx/templates/contributing/development/compiling/compiling_for_web.pot index 4b97178a70..75688cc697 100644 --- a/sphinx/templates/contributing/development/compiling/compiling_for_web.pot +++ b/sphinx/templates/contributing/development/compiling/compiling_for_web.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "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_windows.pot b/sphinx/templates/contributing/development/compiling/compiling_for_windows.pot index dbb51772d9..557032e781 100644 --- a/sphinx/templates/contributing/development/compiling/compiling_for_windows.pot +++ b/sphinx/templates/contributing/development/compiling/compiling_for_windows.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -125,7 +125,7 @@ msgid "To prevent slowdowns caused by continuous virus scanning during compilati msgstr "" #: ../../docs/contributing/development/compiling/compiling_for_windows.rst:107 -msgid "For Windows Defender, hit the :kbd:`Windows` key, type \"Windows Defender Settings\" then hit :kbd:`Enter`. Under **Virus & threat protection**, go to **Virus & threat protection setting** and scroll down to **Exclusions**. Click **Add or remove exclusions** then add the Godot source folder." +msgid "For Windows Defender, hit the :kbd:`Windows` key, type \"Windows Security\" then hit :kbd:`Enter`. Click on **Virus & threat protection** on the left panel. Under **Virus & threat protection settings** click on **Mange Settings** and scroll down to **Exclusions**. Click **Add or remove exclusions** then add the Godot source folder." msgstr "" #: ../../docs/contributing/development/compiling/compiling_for_windows.rst:114 @@ -157,7 +157,7 @@ msgid "When compiling with multiple CPU threads, SCons may warn about pywin32 be msgstr "" #: ../../docs/contributing/development/compiling/compiling_for_windows.rst:142 -msgid "If all goes well, the resulting binary executable will be placed in ``C:\\godot\\bin\\`` with the name ``godot.windows.tools.32.exe`` or ``godot.windows.tools.64.exe``. By default, SCons will build a binary matching your CPU architecture, but this can be overridden using ``arch=x86_64`` or ``arch=x86_32``." +msgid "If all goes well, the resulting binary executable will be placed in ``C:\\godot\\bin\\`` with the name ``godot.windows.editor.x86_32.exe`` or ``godot.windows.editor.x86_64.exe``. By default, SCons will build a binary matching your CPU architecture, but this can be overridden using ``arch=x86_64`` or ``arch=x86_32``." msgstr "" #: ../../docs/contributing/development/compiling/compiling_for_windows.rst:148 @@ -233,50 +233,58 @@ msgid "Before attempting the compilation, SCons will check for the following bin msgstr "" #: ../../docs/contributing/development/compiling/compiling_for_windows.rst:223 -msgid "If the binaries are not located in the ``PATH`` (e.g. ``/usr/bin``), you can define the following environment variables to give a hint to the build system::" +msgid "If the binaries are not located in the ``PATH`` (e.g. ``/usr/bin``), you can define the following environment variable to give a hint to the build system::" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:230 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:229 +msgid "Where ``/path/to/mingw`` is the path containing the ``bin`` directory where ``i686-w64-mingw32-gcc`` and ``x86_64-w64-mingw32-gcc`` are located (e.g. ``/opt/mingw-w64`` if the binaries are located in ``/opt/mingw-w64/bin``)." +msgstr "" + +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:233 msgid "To make sure you are doing things correctly, executing the following in the shell should result in a working compiler (the version output may differ based on your system)::" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:238 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:240 +msgid "When cross-compiling for Windows using MinGW-w64, keep in mind only ``x86_64`` and ``x86_32`` architectures are supported. Be sure to specify the right ``arch=`` option when invoking SCons if building from a different architecture." +msgstr "" + +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:246 msgid "Troubleshooting" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:240 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:248 msgid "Cross-compiling from some Ubuntu versions may lead to `this bug `_, due to a default configuration lacking support for POSIX threading." msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:244 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:252 msgid "You can change that configuration following those instructions, for 64-bit::" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:252 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:260 msgid "And for 32-bit::" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:260 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:268 msgid "Creating Windows export templates" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:262 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:270 msgid "Windows export templates are created by compiling Godot without the editor, with the following flags::" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:270 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:278 msgid "If you plan on replacing the standard export templates, copy these to the following location, replacing ```` with the version identifier (such as ``3.1.1.stable`` or ``3.2.dev``)::" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:276 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:284 msgid "With the following names::" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:283 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:291 msgid "However, if you are using custom modules or custom engine code, you may instead want to configure your binaries as custom export templates here:" msgstr "" -#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:289 +#: ../../docs/contributing/development/compiling/compiling_for_windows.rst:297 msgid "You don't need to copy them in this case, just reference the resulting files in the ``bin\\`` directory of your Godot source folder, so the next time you build, you will automatically have the custom templates referenced." msgstr "" diff --git a/sphinx/templates/contributing/development/compiling/compiling_with_dotnet.pot b/sphinx/templates/contributing/development/compiling/compiling_with_dotnet.pot index d7fb85185d..2dd63f0299 100644 --- a/sphinx/templates/contributing/development/compiling/compiling_with_dotnet.pot +++ b/sphinx/templates/contributing/development/compiling/compiling_with_dotnet.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/contributing/development/compiling/compiling_with_script_encryption_key.pot b/sphinx/templates/contributing/development/compiling/compiling_with_script_encryption_key.pot index 00775e9053..2ef235fc95 100644 --- a/sphinx/templates/contributing/development/compiling/compiling_with_script_encryption_key.pot +++ b/sphinx/templates/contributing/development/compiling/compiling_with_script_encryption_key.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "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 0f7bbccca0..adf065cd5d 100644 --- a/sphinx/templates/contributing/development/compiling/cross-compiling_for_ios_on_linux.pot +++ b/sphinx/templates/contributing/development/compiling/cross-compiling_for_ios_on_linux.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "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 90401f01bc..f996629239 100644 --- a/sphinx/templates/contributing/development/compiling/getting_source.pot +++ b/sphinx/templates/contributing/development/compiling/getting_source.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "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 5c8a4c5cbc..576b49b59f 100644 --- a/sphinx/templates/contributing/development/compiling/index.pot +++ b/sphinx/templates/contributing/development/compiling/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -20,6 +20,46 @@ msgstr "" msgid "Building from source" msgstr "" +#: ../../docs/contributing/development/compiling/index.rst:6 +msgid "Godot prides itself on being very easy to build, by C++ projects' standards. :ref:`Godot uses the SCons build system `, and after the initial setup compiling the engine for your current platform should be as easy as running::" +msgstr "" + +#: ../../docs/contributing/development/compiling/index.rst:12 +msgid "But you will probably need to use at least some of the available options to configure the build to match your specific needs, be it a custom engine fork, a lightweight build stripped of extra modules, or an executable targetting engine development." +msgstr "" + +#: ../../docs/contributing/development/compiling/index.rst:16 +msgid "The articles below should help you navigate configuration options available, as well as prerequisites required to compile Godot exactly the way you need." +msgstr "" + +#: ../../docs/contributing/development/compiling/index.rst:20 +msgid "Basics of building Godot" +msgstr "" + +#: ../../docs/contributing/development/compiling/index.rst:22 +msgid "Let's start with basics, and learn how to get Godot's source code, and then which options to use to compile it regardless of your target platform." +msgstr "" + +#: ../../docs/contributing/development/compiling/index.rst:33 +msgid "Building for target platforms" +msgstr "" + +#: ../../docs/contributing/development/compiling/index.rst:35 +msgid "Below you can find instructions for compiling the engine for your specific target platform. Note that Godot supports cross-compilation, which means you can compile it for a target platform that doesn't match your current platform (say, target Linux while being on Windows). The guides will try their best to cover all possible situations." +msgstr "" + +#: ../../docs/contributing/development/compiling/index.rst:53 +msgid "Other compilation targets and options" +msgstr "" + +#: ../../docs/contributing/development/compiling/index.rst:55 +msgid "Some additional universal compilation options require further setup. Namely, while Godot does have C#/.NET support as a part of its main codebase, it does not get compiled by default to reduce the executable size for users who don't need C# for their projects." +msgstr "" + +#: ../../docs/contributing/development/compiling/index.rst:59 +msgid "Articles below explain how to configure the buildsystem for cases like this, and also cover some optimization techniques." +msgstr "" + #: ../../docs/:0 msgid "Translation status" msgstr "" 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 7cb6fe73b4..1139bd73e5 100644 --- a/sphinx/templates/contributing/development/compiling/introduction_to_the_buildsystem.pot +++ b/sphinx/templates/contributing/development/compiling/introduction_to_the_buildsystem.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -20,368 +20,380 @@ msgstr "" msgid "Introduction to the buildsystem" msgstr "" -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:10 -msgid "Setup" -msgstr "" - -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:12 -msgid ":ref:`Godot uses the SCons build system. ` Please refer to the documentation for:" +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:9 +msgid "Godot is a primarily C++ project and it :ref:`uses the SCons build system. ` We love SCons for how maintainable and easy to set up it makes our buildsystem. And thanks to that compiling Godot from source can be as simple as running::" msgstr "" #: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:15 -msgid ":ref:`doc_compiling_for_android`" -msgstr "" - -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:16 -msgid ":ref:`doc_compiling_for_ios`" -msgstr "" - -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:17 -msgid ":ref:`doc_compiling_for_linuxbsd`" -msgstr "" - -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:18 -msgid ":ref:`doc_compiling_for_macos`" -msgstr "" - -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:19 -msgid ":ref:`doc_compiling_for_uwp`" -msgstr "" - -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:20 -msgid ":ref:`doc_compiling_for_web`" +msgid "This produces an *export template* for your current platform, operating system, and architecture. An export template is a build of the engine that is used for running exported projects. To build the *editor* instead you can run the following command::" msgstr "" #: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:21 -msgid ":ref:`doc_compiling_for_windows`" -msgstr "" - -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:24 -msgid "Platform selection" +msgid "If you plan to debug or develop the engine, then you might want to add another option to the command::" msgstr "" #: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:26 -msgid "Godot's build system will begin by detecting the platforms it can build for. If not detected, the platform will simply not appear on the list of available platforms. The build requirements for each platform are described in the rest of this tutorial section." +msgid "Following sections in the article will explain these and other universal options in more detail. But before you can compile Godot, you need to install a few prerequisites. Please refer to the platform documentation to learn more:" +msgstr "" + +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:30 +msgid ":ref:`doc_compiling_for_android`" msgstr "" #: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:31 -msgid "SCons is invoked by just calling ``scons``. If no platform is specified, SCons will detect the target platform automatically based on the host platform. It will then start building for the target platform right away." +msgid ":ref:`doc_compiling_for_ios`" +msgstr "" + +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:32 +msgid ":ref:`doc_compiling_for_linuxbsd`" +msgstr "" + +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:33 +msgid ":ref:`doc_compiling_for_macos`" +msgstr "" + +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:34 +msgid ":ref:`doc_compiling_for_web`" msgstr "" #: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:35 -msgid "To list the available target platforms, use ``scons platform=list``::" +msgid ":ref:`doc_compiling_for_windows`" +msgstr "" + +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:37 +msgid "These articles cover in great detail both how to setup your environment to compile Godot on a specific platform, and how to compile for that platform. Please feel free to go back and forth between them and this article to reference platform-specific and universal configuration options." +msgstr "" + +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:42 +msgid "Using multi-threading" +msgstr "" + +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:44 +msgid "The build process may take a while, depending on how powerful your system is. By default, Godot's SCons setup is configured to use all CPU threads but one (to keep the system responsive during compilation). If you want to adjust how many CPU threads SCons will use, use the ``-j `` parameter to specify how many threads will be used for the build." msgstr "" #: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:49 -msgid "To build for a platform (for example, ``linuxbsd``), run with the ``platform=`` (or ``p=`` to make it short) argument:" +msgid "Example for using 4 threads::" +msgstr "" + +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:54 +msgid "Platform selection" msgstr "" #: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:56 -msgid "This will start the build process, which will take a while. By default, Godot's SCons setup is configured to use all CPU threads but one (to keep the system responsive during compilation). If you want to adjust how many CPU threads SCons will use, use the ``-j `` parameter to specify how many threads will be used for the build." +msgid "Godot's build system will begin by detecting the platforms it can build for. If not detected, the platform will simply not appear on the list of available platforms. The build requirements for each platform are described in the rest of this tutorial section." msgstr "" -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:62 -msgid "Example for using 4 threads:" +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:61 +msgid "SCons is invoked by just calling ``scons``. If no platform is specified, SCons will detect the target platform automatically based on the host platform. It will then start building for the target platform right away." msgstr "" -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:71 +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:65 +msgid "To list the available target platforms, use ``scons platform=list``::" +msgstr "" + +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:79 +msgid "To build for a platform (for example, ``linuxbsd``), run with the ``platform=`` (or ``p=`` to make it short) argument:" +msgstr "" + +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:89 msgid "Resulting binary" msgstr "" -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:73 +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:91 msgid "The resulting binaries will be placed in the ``bin/`` subdirectory, generally with this naming convention::" msgstr "" -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:78 +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:96 msgid "For the previous build attempt, the result would look like this::" msgstr "" -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:83 +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:101 msgid "This means that the binary is for Linux *or* \\*BSD (*not* both), is not optimized, has the whole editor compiled in, and is meant for 64 bits." msgstr "" -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:86 +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:104 msgid "A Windows binary with the same configuration will look like this:" msgstr "" -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:93 +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:111 msgid "Copy that binary to any location you like, as it contains the Project Manager, editor and all means to execute the game. However, it lacks the data to export it to the different platforms. For that the export templates are needed (which can be either downloaded from `godotengine.org `__, or you can build them yourself)." msgstr "" -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:99 +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:117 msgid "Aside from that, there are a few standard options that can be set in all build targets, and which will be explained below." msgstr "" -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:105 +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:123 msgid "Target" msgstr "" -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:107 +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:125 msgid "Target controls if the editor is contained and debug flags are used. All builds are optimized. Each mode means:" msgstr "" -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:110 -msgid "**editor**: Build with editor, optimized, with debugging code (defines: ``TOOLS_ENABLED``, ``DEBUG_ENABLED``, ``-O2``/``/O2``)" -msgstr "" - -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:111 -msgid "**template_debug**: Build with C++ debugging symbols (defines: ``DEBUG_ENABLED``, ``-O2``/``/O2``)" -msgstr "" - -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:112 -msgid "**template_release**: Build without symbols (defines: ``-O3``/``/O2``)" -msgstr "" - -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:114 -msgid "The editor is enabled by default in all PC targets (Linux, Windows, macOS), disabled for everything else. Disabling the editor produces a binary that can run projects but does not include the editor or the Project Manager." -msgstr "" - -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:123 -msgid "Development and production aliases" -msgstr "" - -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:125 -msgid "When creating builds for development (running debugging/:ref:`profiling ` tools), you often have different goals compared to production builds (making binaries as fast and small as possible)." +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:128 +msgid "``target=editor``: Build with editor, optimized, with debugging code (defines: ``TOOLS_ENABLED``, ``DEBUG_ENABLED``, ``-O2``/``/O2``)" msgstr "" #: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:129 +msgid "``target=template_debug``: Build with C++ debugging symbols (defines: ``DEBUG_ENABLED``, ``-O2``/``/O2``)" +msgstr "" + +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:130 +msgid "``target=template_release``: Build without symbols (defines: ``-O3``/``/O2``)" +msgstr "" + +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:132 +msgid "The editor is enabled by default in all PC targets (Linux, Windows, macOS), disabled for everything else. Disabling the editor produces a binary that can run projects but does not include the editor or the Project Manager." +msgstr "" + +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:141 +msgid "Development and production aliases" +msgstr "" + +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:143 +msgid "When creating builds for development (running debugging/:ref:`profiling ` tools), you often have different goals compared to production builds (making binaries as fast and small as possible)." +msgstr "" + +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:147 msgid "Godot provides two aliases for this purpose:" msgstr "" -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:131 +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:149 msgid "``dev_mode=yes`` is an alias for ``verbose=yes warnings=extra werror=yes tests=yes``. This enables warnings-as-errors behavior (similar to Godot's continuous integration setup) and also builds :ref:`unit tests ` so you can run them locally." msgstr "" -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:135 +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:153 msgid "``production=yes`` is an alias for ``use_static_cpp=yes debug_symbols=no lto=auto``. Statically linking libstdc++ allows for better binary portability when compiling for Linux. This alias also enables link-time optimization when compiling for Linux, Web and Windows with MinGW, but keeps LTO disabled when compiling for macOS, iOS or Windows with MSVC. This is because LTO on those platforms is very slow to link or has issues with the generated code." msgstr "" -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:142 +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:160 msgid "You can manually override options from those aliases by specifying them on the same command line with different values. For example, you can use ``scons production=yes debug_symbols=yes`` to create production-optimized binaries with debugging symbols included." msgstr "" -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:148 +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:166 msgid "Dev build" msgstr "" -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:152 +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:170 msgid "``dev_build`` should **not** be confused with ``dev_mode``, which is an alias for several development-related options (see above)." msgstr "" -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:155 +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:173 msgid "When doing engine development the ``dev_build`` option can be used together with ``target`` to enable dev-specific code. ``dev_build`` defines ``DEV_ENABLED``, disables optimization (``-O0``/``/0d``), enables generating debug symbols, and does not define ``NDEBUG`` (so ``assert()`` works in thirdparty libraries)." msgstr "" -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:164 +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:182 msgid "This flag appends the ``.dev`` suffix (for development) to the generated binary name." msgstr "" -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:169 +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:187 msgid "There are additional SCons options to enable *sanitizers*, which are tools you can enable at compile-time to better debug certain engine issues. See :ref:`doc_using_sanitizers` for more information." msgstr "" -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:174 +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:192 msgid "Debugging symbols" msgstr "" -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:176 +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:194 msgid "By default, ``debug_symbols=no`` is used, which means **no** debugging symbols are included in compiled binaries. Use ``debug_symbols=yes`` to include debug symbols within compiled binaries, which allows debuggers and profilers to work correctly. Debugging symbols are also required for Godot's crash stacktraces to display with references to source code files and lines." msgstr "" -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:182 +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:200 msgid "The downside is that debugging symbols are large files (significantly larger than the binaries themselves). As a result, official binaries currently do not include debugging symbols. This means you need to compile Godot yourself to have access to debugging symbols." msgstr "" -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:187 +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:205 msgid "When using ``debug_symbols=yes``, you can also use ``separate_debug_symbols=yes`` to put debug information in a separate file with a ``.debug`` suffix. This allows distributing both files independently. Note that on Windows, when compiling with MSVC, debugging information is *always* written to a separate ``.pdb`` file regardless of ``separate_debug_symbols``." msgstr "" -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:195 +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:213 msgid "Use the ``strip `` command to remove debugging symbols from a binary you've already compiled." msgstr "" -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:199 +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:217 msgid "Optimization level" msgstr "" -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:201 +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:219 msgid "Several compiler optimization levels can be chosen from:" msgstr "" -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:203 +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:221 msgid "``optimize=speed_trace`` *(default when targeting non-Web platforms)*: Favors execution speed at the cost of larger binary size. Optimizations may sometimes negatively impact debugger usage (stack traces may be less accurate. If this occurs to you, use ``optimize=debug`` instead." msgstr "" -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:207 +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:225 msgid "``optimize=speed``: Favors even more execution speed, at the cost of even larger binary size compared to ``optimize=speed_trace``. Even less friendly to debugging compared to ``optimize=debug``, as this uses the most aggressive optimizations available." msgstr "" -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:211 +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:229 msgid "``optimize=size`` *(default when targeting the Web platform)*: Favors small binaries at the cost of slower execution speed." msgstr "" -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:213 +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:231 msgid "``optimize=debug``: Only enables optimizations that do not impact debugging in any way. This results in faster binaries than ``optimize=none``, but slower binaries than ``optimize=speed_trace``." msgstr "" -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:216 +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:234 msgid "``optimize=none``: Do not perform any optimization. This provides the fastest build times, but the slowest execution times." msgstr "" -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:218 +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:236 msgid "``optimize=custom`` *(advanced users only)*: Do not pass optimization arguments to the C/C++ compilers. You will have to pass arguments manually using the ``CFLAGS``, ``CCFLAGS`` and ``CXXFLAGS`` SCons options." msgstr "" -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:223 +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:241 msgid "Architecture" msgstr "" -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:225 +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:243 msgid "The ``arch`` option is meant to control the CPU or OS version intended to run the binaries. It is focused mostly on desktop platforms and ignored everywhere else." msgstr "" -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:229 +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:247 msgid "Supported values for the ``arch`` option are **auto**, **x86_32**, **x86_64**, **arm32**, **arm64**, **rv64**, **ppc32**, **ppc64** and **wasm32**." msgstr "" -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:236 +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:254 msgid "This flag appends the value of ``arch`` to resulting binaries when relevant. The default value ``arch=auto`` detects the architecture that matches the host platform." msgstr "" -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:243 +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:261 msgid "Custom modules" msgstr "" -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:245 +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:263 msgid "It's possible to compile modules residing outside of Godot's directory tree, along with the built-in modules." msgstr "" -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:248 +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:266 msgid "A ``custom_modules`` build option can be passed to the command line before compiling. The option represents a comma-separated list of directory paths containing a collection of independent C++ modules that can be seen as C++ packages, just like the built-in ``modules/`` directory." msgstr "" -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:253 +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:271 msgid "For instance, it's possible to provide both relative, absolute, and user directory paths containing such modules:" msgstr "" -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:262 +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:280 msgid "If there's any custom module with the exact directory name as a built-in module, the engine will only compile the custom one. This logic can be used to override built-in module implementations." msgstr "" -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:268 +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:286 msgid ":ref:`doc_custom_modules_in_cpp`" msgstr "" -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:271 +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:289 msgid "Cleaning generated files" msgstr "" -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:273 +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:291 msgid "Sometimes, you may encounter an error due to generated files being present. You can remove them by using ``scons --clean ``, where ```` is the list of build options you've used to build Godot previously." msgstr "" -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:277 +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:295 msgid "Alternatively, you can use ``git clean -fixd`` which will clean build artifacts for all platforms and configurations. Beware, as this will remove all untracked and ignored files in the repository. Don't run this command if you have uncommitted work!" msgstr "" -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:283 +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:301 msgid "Other build options" msgstr "" -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:285 +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:303 msgid "There are several other build options that you can use to configure the way Godot should be built (compiler, debug options, etc.) as well as the features to include/disable." msgstr "" -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:289 +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:307 msgid "Check the output of ``scons --help`` for details about each option for the version you are willing to compile." msgstr "" -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:295 +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:313 msgid "Overriding the build options" msgstr "" -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:298 +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:316 msgid "Using a file" msgstr "" -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:300 +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:318 msgid "The default ``custom.py`` file can be created at the root of the Godot Engine source to initialize any SCons build options passed via the command line:" msgstr "" -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:312 +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:330 msgid "You can also disable some of the builtin modules before compiling, saving some time it takes to build the engine. See :ref:`doc_optimizing_for_size` page for more details." msgstr "" -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:317 +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:335 msgid "You can use the online `Godot build options generator `__ to generate a ``custom.py`` file containing SCons options. You can then save this file and place it at the root of your Godot source directory." msgstr "" -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:322 +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:340 msgid "Another custom file can be specified explicitly with the ``profile`` command line option, both overriding the default build configuration:" msgstr "" -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:329 +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:347 msgid "Build options set from the file can be overridden by the command line options." msgstr "" -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:332 +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:350 msgid "It's also possible to override the options conditionally:" msgstr "" -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:347 +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:365 msgid "Using the SCONSFLAGS" msgstr "" -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:349 +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:367 msgid "``SCONSFLAGS`` is an environment variable which is used by the SCons to set the options automatically without having to supply them via the command line." msgstr "" -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:352 +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:370 msgid "For instance, you may want to force a number of CPU threads with the aforementioned ``-j`` option for all future builds:" msgstr "" -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:369 +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:387 msgid "SCU (single compilation unit) build" msgstr "" -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:371 +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:389 msgid "Regular builds tend to be bottlenecked by including large numbers of headers in each compilation translation unit. Primarily to speed up development (rather than for production builds), Godot offers a \"single compilation unit\" build (aka \"Unity / Jumbo\" build)." msgstr "" -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:376 +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:394 msgid "For the folders accelerated by this option, multiple ``.cpp`` files are compiled in each translation unit, so headers can be shared between multiple files, which can dramatically decrease build times." msgstr "" -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:380 +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:398 msgid "To make a SCU build, use the ``scu_build=yes`` SCons option." msgstr "" -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:382 +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:400 msgid "When developing a Pull Request using SCU builds, be sure to make a regular build prior to submitting the PR. This is because SCU builds by nature include headers from earlier ``.cpp`` files in the translation unit, therefore won't catch all the includes you will need in a regular build. The CI will catch these errors but it will usually be faster to catch them on a local build on your machine." msgstr "" -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:390 +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:408 msgid "Export templates" msgstr "" -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:392 +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:410 msgid "Official export templates are downloaded from the Godot Engine site: `godotengine.org `__. However, you might want to build them yourself (in case you want newer ones, you are using custom modules, or simply don't trust your own shadow)." msgstr "" -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:397 +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:415 msgid "If you download the official export templates package and unzip it, you will notice that most files are optimized binaries or packages for each platform:" msgstr "" -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:420 +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:438 msgid "To create those yourself, follow the instructions detailed for each platform in this same tutorial section. Each platform explains how to create its own template." msgstr "" -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:424 +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:442 msgid "The ``version.txt`` file should contain the corresponding Godot version identifier. This file is used to install export templates in a version-specific directory to avoid conflicts. For instance, if you are building export templates for Godot 3.1.1, ``version.txt`` should contain ``3.1.1.stable`` on the first line (and nothing else). This version identifier is based on the ``major``, ``minor``, ``patch`` (if present) and ``status`` lines of the `version.py file in the Godot Git repository `__." msgstr "" -#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:432 -msgid "If you are developing for multiple platforms, macOS is definitely the most convenient host platform for cross-compilation, since you can cross-compile for almost every target (except for UWP). Linux and Windows come in second place, but Linux has the advantage of being the easier platform to set this up." +#: ../../docs/contributing/development/compiling/introduction_to_the_buildsystem.rst:450 +msgid "If you are developing for multiple platforms, macOS is definitely the most convenient host platform for cross-compilation, since you can cross-compile for every target. Linux and Windows come in second place, but Linux has the advantage of being the easier platform to set this up." msgstr "" #: ../../docs/:0 diff --git a/sphinx/templates/contributing/development/compiling/optimizing_for_size.pot b/sphinx/templates/contributing/development/compiling/optimizing_for_size.pot index 0ee645a6ce..e6c7ba9d87 100644 --- a/sphinx/templates/contributing/development/compiling/optimizing_for_size.pot +++ b/sphinx/templates/contributing/development/compiling/optimizing_for_size.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -46,14 +46,15 @@ msgstr "" #: ../../docs/contributing/development/compiling/optimizing_for_size.rst:27 #: ../../docs/contributing/development/compiling/optimizing_for_size.rst:56 -#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:72 +#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:80 #: ../../docs/contributing/development/compiling/optimizing_for_size.rst:96 -#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:113 +#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:133 +#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:151 msgid "**Difficulty:** Easy" msgstr "" #: ../../docs/contributing/development/compiling/optimizing_for_size.rst:28 -#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:73 +#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:57 msgid "**Performed in official builds:** Yes" msgstr "" @@ -70,210 +71,244 @@ msgid "This will reduce the size of compiled binaries by a factor between 5× an msgstr "" #: ../../docs/contributing/development/compiling/optimizing_for_size.rst:48 -msgid "The above command will not work on Windows binaries compiled with MSVC and platforms such as Android and HTML5. Instead, pass ``debug_symbols=no`` on the SCons command line when compiling." +msgid "The above command will not work on Windows binaries compiled with MSVC and platforms such as Android and Web. Instead, pass ``debug_symbols=no`` on the SCons command line when compiling." msgstr "" #: ../../docs/contributing/development/compiling/optimizing_for_size.rst:53 -msgid "Optimizing for size instead of speed" -msgstr "" - -#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:55 -#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:71 -msgid "**Space savings:** High" -msgstr "" - -#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:57 -msgid "**Performed in official builds:** Yes, but only for HTML5" -msgstr "" - -#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:59 -msgid "Godot 3.1 onwards allows compiling using size optimizations (instead of speed). To enable this, set the ``optimize`` flag to ``size``:" -msgstr "" - -#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:66 -msgid "Some platforms such as WebAssembly already use this mode by default." -msgstr "" - -#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:69 msgid "Compiling with link-time optimization" msgstr "" -#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:75 +#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:55 +#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:79 +#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:95 +msgid "**Space savings:** High" +msgstr "" + +#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:59 msgid "Enabling link-time optimization produces more efficient binaries, both in terms of performance and file size. It works by eliminating duplicate template functions and unused code. It can currently be used with the GCC and MSVC compilers:" msgstr "" -#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:84 +#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:68 msgid "Linking becomes much slower and more RAM-consuming with this option, so it should be used only for release builds:" msgstr "" -#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:87 +#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:71 msgid "When compiling the ``master`` branch, you need to have at least 8 GB of RAM available for successful linking with LTO enabled." msgstr "" -#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:89 +#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:73 msgid "When compiling the ``3.x`` branch, you need to have at least 6 GB of RAM available for successful linking with LTO enabled." msgstr "" -#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:93 -msgid "Disabling 3D" +#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:77 +msgid "Optimizing for size instead of speed" msgstr "" -#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:95 -#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:112 -msgid "**Space savings:** Moderate" +#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:81 +msgid "**Performed in official builds:** Yes, but only for web builds" +msgstr "" + +#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:83 +msgid "Godot 3.1 onwards allows compiling using size optimizations (instead of speed). To enable this, set the ``optimize`` flag to ``size``:" +msgstr "" + +#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:90 +msgid "Some platforms such as WebAssembly already use this mode by default." +msgstr "" + +#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:93 +msgid "Disabling advanced text server" msgstr "" #: ../../docs/contributing/development/compiling/optimizing_for_size.rst:97 -#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:114 -#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:155 +#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:134 +#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:152 +#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:193 msgid "**Performed in official builds:** No" msgstr "" #: ../../docs/contributing/development/compiling/optimizing_for_size.rst:99 -msgid "For 2D games, having the whole 3D engine available usually makes no sense. Because of this, there is a build flag to disable it:" +msgid "By default, Godot uses an advanced text server with the support for the following features:" msgstr "" -#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:105 -msgid "Tools must be disabled in order to use this flag, as the editor is not designed to operate without 3D support. Without it, the binary size can be reduced by about 15%." +#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:102 +msgid "Right-to-left typesetting and complex scripts, required to write languages such as Arabic and Hebrew." msgstr "" -#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:110 -msgid "Disabling advanced GUI objects" +#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:104 +msgid "Font ligatures and OpenType features (such as small capitals, fractions and slashed zero)." msgstr "" -#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:116 -msgid "Most small games don't require complex GUI controls such as Tree, ItemList, TextEdit or GraphEdit. They can be disabled using a build flag:" +#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:107 +msgid "Godot provides a fallback text server that isn't compiled by default. This text server can be used as a lightweight alternative to the default advanced text server:" msgstr "" -#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:123 -msgid "This is everything that will be disabled:" +#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:115 +msgid "If you only intend on supporting Latin, Greek and Cyrillic-based languages in your project, the fallback text server should suffice." msgstr "" -#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:125 -msgid "FileDialog" +#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:118 +msgid "This fallback text server can also process large amounts of text more quickly than the advanced text server. This makes the fallback text server a good fit for mobile/web projects." msgstr "" -#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:126 -msgid "PopupMenu" -msgstr "" - -#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:127 -msgid "Tree" -msgstr "" - -#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:128 -msgid "TextEdit" -msgstr "" - -#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:129 -msgid "CodeEdit" +#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:124 +msgid "Remember to always pass ``module_text_server_fb_enabled=yes`` when using ``module_text_server_adv_enabled=no``. Otherwise, the compiled binary won't contain any text server, which means no text will be displayed at all when running the project." msgstr "" #: ../../docs/contributing/development/compiling/optimizing_for_size.rst:130 -msgid "SyntaxHighlighter" -msgstr "" - -#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:131 -msgid "CodeHighlighter" +msgid "Disabling 3D" msgstr "" #: ../../docs/contributing/development/compiling/optimizing_for_size.rst:132 -msgid "TreeItem" -msgstr "" - -#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:133 -msgid "OptionButton" -msgstr "" - -#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:134 -msgid "SpinBox" -msgstr "" - -#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:135 -msgid "ColorPicker" +#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:150 +msgid "**Space savings:** Moderate" msgstr "" #: ../../docs/contributing/development/compiling/optimizing_for_size.rst:136 -msgid "ColorPickerButton" -msgstr "" - -#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:137 -msgid "RichTextlabel" -msgstr "" - -#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:138 -msgid "RichTextEffect" -msgstr "" - -#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:139 -msgid "CharFXTransform" -msgstr "" - -#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:140 -msgid "AcceptDialog" -msgstr "" - -#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:141 -msgid "ConfirmationDialog" -msgstr "" - -#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:142 -msgid "MarginContainer" +msgid "For 2D games, having the whole 3D engine available usually makes no sense. Because of this, there is a build flag to disable it:" msgstr "" #: ../../docs/contributing/development/compiling/optimizing_for_size.rst:143 -msgid "SubViewportContainer" -msgstr "" - -#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:144 -msgid "SplitContainer" -msgstr "" - -#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:145 -msgid "HSplitContainer" -msgstr "" - -#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:146 -msgid "VSplitContainer" -msgstr "" - -#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:147 -msgid "GraphNode" +msgid "Tools must be disabled in order to use this flag, as the editor is not designed to operate without 3D support. Without it, the binary size can be reduced by about 15%." msgstr "" #: ../../docs/contributing/development/compiling/optimizing_for_size.rst:148 -msgid "GraphEdit" -msgstr "" - -#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:151 -msgid "Disabling unwanted modules" -msgstr "" - -#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:153 -msgid "**Space savings:** Very low to moderate depending on modules" +msgid "Disabling advanced GUI objects" msgstr "" #: ../../docs/contributing/development/compiling/optimizing_for_size.rst:154 -msgid "**Difficulty:** Medium to hard depending on modules" +msgid "Most small games don't require complex GUI controls such as Tree, ItemList, TextEdit or GraphEdit. They can be disabled using a build flag:" msgstr "" -#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:157 -msgid "A lot of Godot's functions are offered as modules. You can see a list of modules with the following command:" +#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:161 +msgid "This is everything that will be disabled:" +msgstr "" + +#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:163 +msgid "FileDialog" msgstr "" #: ../../docs/contributing/development/compiling/optimizing_for_size.rst:164 -msgid "The list of modules that can be disabled will appear, together with all build options. If you are working on a simple 2D game, you could disable a lot of them:" +msgid "PopupMenu" +msgstr "" + +#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:165 +msgid "Tree" +msgstr "" + +#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:166 +msgid "TextEdit" +msgstr "" + +#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:167 +msgid "CodeEdit" +msgstr "" + +#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:168 +msgid "SyntaxHighlighter" +msgstr "" + +#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:169 +msgid "CodeHighlighter" +msgstr "" + +#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:170 +msgid "TreeItem" +msgstr "" + +#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:171 +msgid "OptionButton" msgstr "" #: ../../docs/contributing/development/compiling/optimizing_for_size.rst:172 -msgid "If this proves not to work for your use case, you should review the list of modules and see which ones you actually still need for your game (e.g. you might want to keep networking-related modules, regex support, or theora to play videos)." +msgid "SpinBox" +msgstr "" + +#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:173 +msgid "ColorPicker" +msgstr "" + +#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:174 +msgid "ColorPickerButton" +msgstr "" + +#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:175 +msgid "RichTextlabel" +msgstr "" + +#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:176 +msgid "RichTextEffect" msgstr "" #: ../../docs/contributing/development/compiling/optimizing_for_size.rst:177 +msgid "CharFXTransform" +msgstr "" + +#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:178 +msgid "AcceptDialog" +msgstr "" + +#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:179 +msgid "ConfirmationDialog" +msgstr "" + +#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:180 +msgid "MarginContainer" +msgstr "" + +#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:181 +msgid "SubViewportContainer" +msgstr "" + +#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:182 +msgid "SplitContainer" +msgstr "" + +#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:183 +msgid "HSplitContainer" +msgstr "" + +#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:184 +msgid "VSplitContainer" +msgstr "" + +#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:185 +msgid "GraphNode" +msgstr "" + +#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:186 +msgid "GraphEdit" +msgstr "" + +#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:189 +msgid "Disabling unwanted modules" +msgstr "" + +#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:191 +msgid "**Space savings:** Very low to moderate depending on modules" +msgstr "" + +#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:192 +msgid "**Difficulty:** Medium to hard depending on modules" +msgstr "" + +#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:195 +msgid "A lot of Godot's functions are offered as modules. You can see a list of modules with the following command:" +msgstr "" + +#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:202 +msgid "The list of modules that can be disabled will appear, together with all build options. If you are working on a simple 2D game, you could disable a lot of them:" +msgstr "" + +#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:210 +msgid "If this proves not to work for your use case, you should review the list of modules and see which ones you actually still need for your game (e.g. you might want to keep networking-related modules, regex support, ``minimp3``/``ogg``/``vorbis`` to play music, or ``theora`` to play videos)." +msgstr "" + +#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:215 msgid "Alternatively, you can supply a list of disabled modules by creating ``custom.py`` at the root of the source, with the contents similar to the following:" msgstr "" -#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:217 +#: ../../docs/contributing/development/compiling/optimizing_for_size.rst:260 msgid ":ref:`doc_overriding_build_options`." msgstr "" 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 f0c375f954..8777ff05ac 100644 --- a/sphinx/templates/contributing/development/configuring_an_ide/android_studio.pot +++ b/sphinx/templates/contributing/development/configuring_an_ide/android_studio.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "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 55a2e12b0d..22165e3348 100644 --- a/sphinx/templates/contributing/development/configuring_an_ide/clion.pot +++ b/sphinx/templates/contributing/development/configuring_an_ide/clion.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "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 2af3ab6925..98bb9a826d 100644 --- a/sphinx/templates/contributing/development/configuring_an_ide/code_blocks.pot +++ b/sphinx/templates/contributing/development/configuring_an_ide/code_blocks.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "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 9e9b1cbc84..b0e6dffa3f 100644 --- a/sphinx/templates/contributing/development/configuring_an_ide/index.pot +++ b/sphinx/templates/contributing/development/configuring_an_ide/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "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 16d1999d59..57a1d5c6c0 100644 --- a/sphinx/templates/contributing/development/configuring_an_ide/kdevelop.pot +++ b/sphinx/templates/contributing/development/configuring_an_ide/kdevelop.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "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 ab4697a97b..bfe5d24ecf 100644 --- a/sphinx/templates/contributing/development/configuring_an_ide/qt_creator.pot +++ b/sphinx/templates/contributing/development/configuring_an_ide/qt_creator.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "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 65ec34dc8e..2d734fc9a0 100644 --- a/sphinx/templates/contributing/development/configuring_an_ide/rider.pot +++ b/sphinx/templates/contributing/development/configuring_an_ide/rider.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "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 3dda7c1a6d..534ed68b4a 100644 --- a/sphinx/templates/contributing/development/configuring_an_ide/visual_studio.pot +++ b/sphinx/templates/contributing/development/configuring_an_ide/visual_studio.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "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 64d207301f..4139865a78 100644 --- a/sphinx/templates/contributing/development/configuring_an_ide/visual_studio_code.pot +++ b/sphinx/templates/contributing/development/configuring_an_ide/visual_studio_code.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "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 38bfe395fa..3d9cfdc17d 100644 --- a/sphinx/templates/contributing/development/configuring_an_ide/xcode.pot +++ b/sphinx/templates/contributing/development/configuring_an_ide/xcode.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "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 bef4296357..35ad1db16f 100644 --- a/sphinx/templates/contributing/development/core_and_modules/2d_coordinate_systems.pot +++ b/sphinx/templates/contributing/development/core_and_modules/2d_coordinate_systems.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "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 0703a514b5..47f06a1d63 100644 --- a/sphinx/templates/contributing/development/core_and_modules/binding_to_external_libraries.pot +++ b/sphinx/templates/contributing/development/core_and_modules/binding_to_external_libraries.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -52,51 +52,51 @@ msgstr "" msgid "These files should contain the following:" msgstr "" -#: ../../docs/contributing/development/core_and_modules/binding_to_external_libraries.rst:109 +#: ../../docs/contributing/development/core_and_modules/binding_to_external_libraries.rst:112 msgid "Next, you need to create a ``SCsub`` file so the build system compiles this module:" msgstr "" -#: ../../docs/contributing/development/core_and_modules/binding_to_external_libraries.rst:121 +#: ../../docs/contributing/development/core_and_modules/binding_to_external_libraries.rst:124 msgid "You'll need to install the external library on your machine to get the .a library files. See the library's official documentation for specific instructions on how to do this for your operation system. We've included the installation commands for Linux below, for reference." msgstr "" -#: ../../docs/contributing/development/core_and_modules/binding_to_external_libraries.rst:132 +#: ../../docs/contributing/development/core_and_modules/binding_to_external_libraries.rst:135 msgid "The voices that Festival uses (and any other potential external/3rd-party resource) all have varying licenses and terms of use; some (if not most) of them may be be problematic with Godot, even if the Festival Library itself is MIT License compatible. Please be sure to check the licenses and terms of use." msgstr "" -#: ../../docs/contributing/development/core_and_modules/binding_to_external_libraries.rst:137 +#: ../../docs/contributing/development/core_and_modules/binding_to_external_libraries.rst:140 msgid "The external library will also need to be installed inside your module to make the source files accessible to the compiler, while also keeping the module code self-contained. The festival and speech_tools libraries can be installed from the modules/tts/ directory via git using the following commands:" msgstr "" -#: ../../docs/contributing/development/core_and_modules/binding_to_external_libraries.rst:147 +#: ../../docs/contributing/development/core_and_modules/binding_to_external_libraries.rst:150 msgid "If you don't want the external repository source files committed to your repository, you can link to them instead by adding them as submodules (from within the modules/tts/ directory), as seen below:" msgstr "" -#: ../../docs/contributing/development/core_and_modules/binding_to_external_libraries.rst:156 +#: ../../docs/contributing/development/core_and_modules/binding_to_external_libraries.rst:159 msgid "Please note that Git submodules are not used in the Godot repository. If you are developing a module to be merged into the main Godot repository, you should not use submodules. If your module doesn't get merged in, you can always try to implement the external library as a GDExtension." msgstr "" -#: ../../docs/contributing/development/core_and_modules/binding_to_external_libraries.rst:161 +#: ../../docs/contributing/development/core_and_modules/binding_to_external_libraries.rst:164 msgid "To add include directories for the compiler to look at you can append it to the environment's paths:" msgstr "" -#: ../../docs/contributing/development/core_and_modules/binding_to_external_libraries.rst:181 +#: ../../docs/contributing/development/core_and_modules/binding_to_external_libraries.rst:184 msgid "If you want to add custom compiler flags when building your module, you need to clone `env` first, so it won't add those flags to whole Godot build (which can cause errors). Example `SCsub` with custom flags:" msgstr "" -#: ../../docs/contributing/development/core_and_modules/binding_to_external_libraries.rst:199 +#: ../../docs/contributing/development/core_and_modules/binding_to_external_libraries.rst:202 msgid "The final module should look like this:" msgstr "" -#: ../../docs/contributing/development/core_and_modules/binding_to_external_libraries.rst:217 +#: ../../docs/contributing/development/core_and_modules/binding_to_external_libraries.rst:220 msgid "Using the module" msgstr "" -#: ../../docs/contributing/development/core_and_modules/binding_to_external_libraries.rst:219 +#: ../../docs/contributing/development/core_and_modules/binding_to_external_libraries.rst:222 msgid "You can now use your newly created module from any script:" msgstr "" -#: ../../docs/contributing/development/core_and_modules/binding_to_external_libraries.rst:228 +#: ../../docs/contributing/development/core_and_modules/binding_to_external_libraries.rst:231 msgid "And the output will be ``is_spoken: True`` if the text is spoken." msgstr "" 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 98dabfb13a..4e15c73ecd 100644 --- a/sphinx/templates/contributing/development/core_and_modules/common_engine_methods_and_macros.pot +++ b/sphinx/templates/contributing/development/core_and_modules/common_engine_methods_and_macros.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "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 a56ae50274..b78c6bc119 100644 --- a/sphinx/templates/contributing/development/core_and_modules/core_types.pot +++ b/sphinx/templates/contributing/development/core_and_modules/core_types.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "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 1630b703c6..7333d2314f 100644 --- a/sphinx/templates/contributing/development/core_and_modules/custom_audiostreams.pot +++ b/sphinx/templates/contributing/development/core_and_modules/custom_audiostreams.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -50,7 +50,7 @@ msgstr "" #: ../../docs/contributing/development/core_and_modules/custom_audiostreams.rst:26 #: ../../docs/contributing/development/core_and_modules/custom_audiostreams.rst:351 -msgid "`scene/audio/audioplayer.cpp `__" +msgid "`scene/audio/audio_stream_player.cpp `__" msgstr "" #: ../../docs/contributing/development/core_and_modules/custom_audiostreams.rst:29 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 76d6f13216..2f6fde289e 100644 --- a/sphinx/templates/contributing/development/core_and_modules/custom_godot_servers.pot +++ b/sphinx/templates/contributing/development/core_and_modules/custom_godot_servers.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "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 ad25dd5cec..4aa254d0bf 100644 --- a/sphinx/templates/contributing/development/core_and_modules/custom_modules_in_cpp.pot +++ b/sphinx/templates/contributing/development/core_and_modules/custom_modules_in_cpp.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "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 c5ee1cf2ac..54b597b496 100644 --- a/sphinx/templates/contributing/development/core_and_modules/custom_platform_ports.pot +++ b/sphinx/templates/contributing/development/core_and_modules/custom_platform_ports.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -81,150 +81,146 @@ msgid "`iOS `__" msgstr "" #: ../../docs/contributing/development/core_and_modules/custom_platform_ports.rst:50 -msgid "`UWP `__ *(not currently working)*" -msgstr "" - -#: ../../docs/contributing/development/core_and_modules/custom_platform_ports.rst:51 msgid "`Web `__" msgstr "" -#: ../../docs/contributing/development/core_and_modules/custom_platform_ports.rst:53 +#: ../../docs/contributing/development/core_and_modules/custom_platform_ports.rst:52 msgid "While platform code is usually self-contained, there are exceptions to this rule. For instance, audio drivers that are shared across several platforms and rendering backends are located in the `drivers/ folder `__ of the Godot source code." msgstr "" -#: ../../docs/contributing/development/core_and_modules/custom_platform_ports.rst:60 +#: ../../docs/contributing/development/core_and_modules/custom_platform_ports.rst:59 msgid "Creating a custom platform port" msgstr "" -#: ../../docs/contributing/development/core_and_modules/custom_platform_ports.rst:62 +#: ../../docs/contributing/development/core_and_modules/custom_platform_ports.rst:61 msgid "Creating a custom platform port is a large undertaking which requires prior knowledge of the platform's SDKs. Depending on what features you need, the amount of work needed varies:" msgstr "" -#: ../../docs/contributing/development/core_and_modules/custom_platform_ports.rst:67 +#: ../../docs/contributing/development/core_and_modules/custom_platform_ports.rst:66 msgid "Required features of a platform port" msgstr "" -#: ../../docs/contributing/development/core_and_modules/custom_platform_ports.rst:69 +#: ../../docs/contributing/development/core_and_modules/custom_platform_ports.rst:68 msgid "At the very least, a platform port must have methods from the :ref:`class_OS` singleton implemented to be buildable and usable for headless operation. A ``logo.svg`` (32×32) vector image must also be present within the platform folder. This logo is displayed in the Export dialog for each export preset targeting the platform in question." msgstr "" -#: ../../docs/contributing/development/core_and_modules/custom_platform_ports.rst:75 +#: ../../docs/contributing/development/core_and_modules/custom_platform_ports.rst:74 msgid "See `this implementation `__ for the Linux/\\*BSD platform as an example. See also the `OS singleton header `__ for reference." msgstr "" -#: ../../docs/contributing/development/core_and_modules/custom_platform_ports.rst:82 +#: ../../docs/contributing/development/core_and_modules/custom_platform_ports.rst:81 msgid "If your target platform is UNIX-like, consider inheriting from the ``OS_Unix`` class to get much of the work done automatically." msgstr "" -#: ../../docs/contributing/development/core_and_modules/custom_platform_ports.rst:85 +#: ../../docs/contributing/development/core_and_modules/custom_platform_ports.rst:84 msgid "If the platform is not UNIX-like, you might use the `Windows port ` as a reference." msgstr "" -#: ../../docs/contributing/development/core_and_modules/custom_platform_ports.rst:89 +#: ../../docs/contributing/development/core_and_modules/custom_platform_ports.rst:88 msgid "**detect.py file**" msgstr "" -#: ../../docs/contributing/development/core_and_modules/custom_platform_ports.rst:91 +#: ../../docs/contributing/development/core_and_modules/custom_platform_ports.rst:90 msgid "A ``detect.py`` file must be created within the platform's folder with all methods implemented. This file is required for SCons to detect the platform as a valid option for compiling. See the `detect.py file `__ for the Linux/\\*BSD platform as an example." msgstr "" -#: ../../docs/contributing/development/core_and_modules/custom_platform_ports.rst:97 +#: ../../docs/contributing/development/core_and_modules/custom_platform_ports.rst:96 msgid "All methods should be implemented within ``detect.py`` as follows:" msgstr "" -#: ../../docs/contributing/development/core_and_modules/custom_platform_ports.rst:99 +#: ../../docs/contributing/development/core_and_modules/custom_platform_ports.rst:98 msgid "``is_active()``: Can be used to temporarily disable building for a platform. This should generally always return ``True``." msgstr "" -#: ../../docs/contributing/development/core_and_modules/custom_platform_ports.rst:101 +#: ../../docs/contributing/development/core_and_modules/custom_platform_ports.rst:100 msgid "``get_name()``: Returns the platform's user-visible name as a string." msgstr "" -#: ../../docs/contributing/development/core_and_modules/custom_platform_ports.rst:102 +#: ../../docs/contributing/development/core_and_modules/custom_platform_ports.rst:101 msgid "``can_build()``: Return ``True`` if the host system is able to build for the target platform, ``False`` otherwise. Do not put slow checks here, as this is queried when the list of platforms is requested by the user. Use ``configure()`` for extensive dependency checks instead." msgstr "" -#: ../../docs/contributing/development/core_and_modules/custom_platform_ports.rst:106 +#: ../../docs/contributing/development/core_and_modules/custom_platform_ports.rst:105 msgid "``get_opts()``: Returns the list of SCons build options that can be defined by the user for this platform." msgstr "" -#: ../../docs/contributing/development/core_and_modules/custom_platform_ports.rst:108 +#: ../../docs/contributing/development/core_and_modules/custom_platform_ports.rst:107 msgid "``get_flags()``: Returns the list of overridden SCons flags for this platform." msgstr "" -#: ../../docs/contributing/development/core_and_modules/custom_platform_ports.rst:109 +#: ../../docs/contributing/development/core_and_modules/custom_platform_ports.rst:108 msgid "``configure()``: Perform build configuration, such as selecting compiler options depending on SCons options chosen." msgstr "" -#: ../../docs/contributing/development/core_and_modules/custom_platform_ports.rst:113 +#: ../../docs/contributing/development/core_and_modules/custom_platform_ports.rst:112 msgid "Optional features of a platform port" msgstr "" -#: ../../docs/contributing/development/core_and_modules/custom_platform_ports.rst:115 +#: ../../docs/contributing/development/core_and_modules/custom_platform_ports.rst:114 msgid "In practice, headless operation doesn't suffice if you want to see anything on screen and handle input devices. You may also want audio output for most games." msgstr "" -#: ../../docs/contributing/development/core_and_modules/custom_platform_ports.rst:119 +#: ../../docs/contributing/development/core_and_modules/custom_platform_ports.rst:118 msgid "*Some links on this list point to the Linux/\\*BSD platform implementation as a reference.*" msgstr "" -#: ../../docs/contributing/development/core_and_modules/custom_platform_ports.rst:121 +#: ../../docs/contributing/development/core_and_modules/custom_platform_ports.rst:120 msgid "One or more `DisplayServers `__, with the windowing methods implemented. DisplayServer also covers features such as mouse support, touchscreen support and tablet driver (for pen input). See the `DisplayServer singleton header `__ for reference." msgstr "" -#: ../../docs/contributing/development/core_and_modules/custom_platform_ports.rst:128 +#: ../../docs/contributing/development/core_and_modules/custom_platform_ports.rst:127 msgid "For platforms not featuring full windowing support (or if it's not relevant for the port you are making), most windowing functions can be left mostly unimplemented. These functions can be made to only check if the window ID is ``MAIN_WINDOW_ID`` and specific operations like resizing may be tied to the platform's screen resolution feature (if relevant). Any attempt to create or manipulate other window IDs can be rejected." msgstr "" -#: ../../docs/contributing/development/core_and_modules/custom_platform_ports.rst:134 +#: ../../docs/contributing/development/core_and_modules/custom_platform_ports.rst:133 msgid "*If the target platform supports the graphics APIs in question:* Rendering context for `Vulkan `__, `OpenGL 3.3 or OpenGL ES 3.0 `__." msgstr "" -#: ../../docs/contributing/development/core_and_modules/custom_platform_ports.rst:137 +#: ../../docs/contributing/development/core_and_modules/custom_platform_ports.rst:136 msgid "Input handlers for `keyboard `__ and `controller `__." msgstr "" -#: ../../docs/contributing/development/core_and_modules/custom_platform_ports.rst:139 +#: ../../docs/contributing/development/core_and_modules/custom_platform_ports.rst:138 msgid "One or more `audio drivers `__. The audio driver can be located in the ``platform/`` folder (this is done for the Android and Web platforms), or in the ``drivers/`` folder if multiple platforms may be using this audio driver. See the `AudioServer singleton header `__ for reference." msgstr "" -#: ../../docs/contributing/development/core_and_modules/custom_platform_ports.rst:145 +#: ../../docs/contributing/development/core_and_modules/custom_platform_ports.rst:144 msgid "`Crash handler `__, for printing crash backtraces when the game crashes. This allows for easier troubleshooting on platforms where logs aren't readily accessible." msgstr "" -#: ../../docs/contributing/development/core_and_modules/custom_platform_ports.rst:148 +#: ../../docs/contributing/development/core_and_modules/custom_platform_ports.rst:147 msgid "`Text-to-speech driver `__ (for accessibility)." msgstr "" -#: ../../docs/contributing/development/core_and_modules/custom_platform_ports.rst:150 +#: ../../docs/contributing/development/core_and_modules/custom_platform_ports.rst:149 msgid "`Export handler `__ (for exporting from the editor, including :ref:`doc_one-click_deploy`). Not required if you intend to export only a PCK from the editor, then run the export template binary directly by renaming it to match the PCK file. See the `EditorExportPlatform header `__ for reference. ``run_icon.svg`` (16×16) should be present within the platform folder if :ref:`doc_one-click_deploy` is implemented for the target platform. This icon is displayed at the top of the editor when one-click deploy is set up for the target platform." msgstr "" -#: ../../docs/contributing/development/core_and_modules/custom_platform_ports.rst:161 +#: ../../docs/contributing/development/core_and_modules/custom_platform_ports.rst:160 msgid "If the target platform doesn't support running Vulkan, OpenGL 3.3 or OpenGL ES 3.0, you have two options:" msgstr "" -#: ../../docs/contributing/development/core_and_modules/custom_platform_ports.rst:164 +#: ../../docs/contributing/development/core_and_modules/custom_platform_ports.rst:163 msgid "Use a library at run-time to translate Vulkan or OpenGL calls to another graphics API. For example, `MoltenVK `__ is used on macOS to translate Vulkan to Metal at run-time." msgstr "" -#: ../../docs/contributing/development/core_and_modules/custom_platform_ports.rst:167 +#: ../../docs/contributing/development/core_and_modules/custom_platform_ports.rst:166 msgid "Create a new renderer from scratch. This is a large undertaking, especially if you want to support both 2D and 3D rendering with advanced features." msgstr "" -#: ../../docs/contributing/development/core_and_modules/custom_platform_ports.rst:171 +#: ../../docs/contributing/development/core_and_modules/custom_platform_ports.rst:170 msgid "Distributing a custom platform port" msgstr "" -#: ../../docs/contributing/development/core_and_modules/custom_platform_ports.rst:175 +#: ../../docs/contributing/development/core_and_modules/custom_platform_ports.rst:174 msgid "Before distributing a custom platform port, make sure you're allowed to distribute all the code that is being linked against. Console SDKs are typically under NDAs which prevent redistribution to the public." msgstr "" -#: ../../docs/contributing/development/core_and_modules/custom_platform_ports.rst:179 +#: ../../docs/contributing/development/core_and_modules/custom_platform_ports.rst:178 msgid "Platform ports are designed to be as self-contained as possible. Most of the code can be kept within a single folder located in ``platform/``. Like :ref:`doc_custom_modules_in_cpp`, this allows for streamlining the build process by making it possible to ``git clone`` a platform folder within a Godot repository clone's ``platform/`` folder, then run ``scons platform=``. No other steps are necessary for building, unless third-party platform-specific dependencies need to be installed first." msgstr "" -#: ../../docs/contributing/development/core_and_modules/custom_platform_ports.rst:187 +#: ../../docs/contributing/development/core_and_modules/custom_platform_ports.rst:186 msgid "However, when a custom rendering backend is needed, another folder must be added in ``drivers/``. In this case, the platform port can be distributed as a fork of the Godot repository, or as a collection of several folders that can be added over a Godot Git repository clone." msgstr "" 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 30b58aa1f8..af35b3d5e2 100644 --- a/sphinx/templates/contributing/development/core_and_modules/custom_resource_format_loaders.pot +++ b/sphinx/templates/contributing/development/core_and_modules/custom_resource_format_loaders.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "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 96a7c260b4..ec36d42389 100644 --- a/sphinx/templates/contributing/development/core_and_modules/godot_architecture_diagram.pot +++ b/sphinx/templates/contributing/development/core_and_modules/godot_architecture_diagram.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "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 c1b9c0e17f..043aeddedd 100644 --- a/sphinx/templates/contributing/development/core_and_modules/index.pot +++ b/sphinx/templates/contributing/development/core_and_modules/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "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 85c35d4883..0752f0c5ca 100644 --- a/sphinx/templates/contributing/development/core_and_modules/inheritance_class_tree.pot +++ b/sphinx/templates/contributing/development/core_and_modules/inheritance_class_tree.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "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 5c8acca6bc..68e9b34731 100644 --- a/sphinx/templates/contributing/development/core_and_modules/internal_rendering_architecture.pot +++ b/sphinx/templates/contributing/development/core_and_modules/internal_rendering_architecture.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/contributing/development/core_and_modules/object_class.pot b/sphinx/templates/contributing/development/core_and_modules/object_class.pot index a972ecde05..6ac85d284e 100644 --- a/sphinx/templates/contributing/development/core_and_modules/object_class.pot +++ b/sphinx/templates/contributing/development/core_and_modules/object_class.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -29,11 +29,11 @@ msgid "General definition" msgstr "" #: ../../docs/contributing/development/core_and_modules/object_class.rst:14 -msgid ":ref:`Object ` is the base class for almost everything. Most classes in Godot inherit directly or indirectly from it. Objects provide reflection and editable properties, and declaring them is a matter of using a single macro like this." +msgid ":ref:`Object ` is the base class for almost everything. Most classes in Godot inherit directly or indirectly from it. Objects provide reflection and editable properties, and declaring them is a matter of using a single macro like this:" msgstr "" #: ../../docs/contributing/development/core_and_modules/object_class.rst:26 -msgid "This makes Objects gain a lot of functionality, like for example" +msgid "This adds a lot of functionality to Objects. For example:" msgstr "" #: ../../docs/contributing/development/core_and_modules/object_class.rst:36 @@ -106,7 +106,7 @@ msgid "Classes often have enums such as:" msgstr "" #: ../../docs/contributing/development/core_and_modules/object_class.rst:110 -msgid "For these to work when binding to methods, the enum must be declared convertible to int, for this a macro is provided:" +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 @@ -130,7 +130,7 @@ msgid "Creating a list of editable values for the Object derived class." msgstr "" #: ../../docs/contributing/development/core_and_modules/object_class.rst:132 -msgid "Properties are usually defined by the PropertyInfo() class. Usually constructed as:" +msgid "Properties are usually defined by the PropertyInfo() class and constructed as:" msgstr "" #: ../../docs/contributing/development/core_and_modules/object_class.rst:139 @@ -138,7 +138,7 @@ msgid "For example:" msgstr "" #: ../../docs/contributing/development/core_and_modules/object_class.rst:145 -msgid "This is an integer property, named \"amount\", hint is a range, range goes from 0 to 49 in steps of 1 (integers). It is only usable for the editor (edit value visually) but won't be serialized." +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 @@ -214,7 +214,7 @@ msgid "Notifications" msgstr "" #: ../../docs/contributing/development/core_and_modules/object_class.rst:243 -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." +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 @@ -234,11 +234,11 @@ msgid "`core/object/reference.h ` 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)``. This is normally done by the resource loader though. No two different resources can have the same path, attempt to do so will result in an error." +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 @@ -278,7 +278,7 @@ msgid "Saving a resource can be done with the resource saver API:" msgstr "" #: ../../docs/contributing/development/core_and_modules/object_class.rst:316 -msgid "Instance will be saved. 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." +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 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 b9cf2ee4f8..04d7785006 100644 --- a/sphinx/templates/contributing/development/core_and_modules/unit_testing.pot +++ b/sphinx/templates/contributing/development/core_and_modules/unit_testing.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -370,34 +370,38 @@ msgid "Here's an example test script:" msgstr "" #: ../../docs/contributing/development/core_and_modules/unit_testing.rst:322 -msgid "Generate ``*.out`` files to update the expected results from the output:" +msgid "Change directory to the Godot source repository root." msgstr "" #: ../../docs/contributing/development/core_and_modules/unit_testing.rst:328 +msgid "Generate ``*.out`` files to update the expected results from the output:" +msgstr "" + +#: ../../docs/contributing/development/core_and_modules/unit_testing.rst:334 msgid "You may add the ``--print-filenames`` option to see filenames as their test outputs are generated. If you are working on a new feature that is causing hard crashes, you can use this option to quickly find which test file causes the crash and debug from there." msgstr "" -#: ../../docs/contributing/development/core_and_modules/unit_testing.rst:333 +#: ../../docs/contributing/development/core_and_modules/unit_testing.rst:339 msgid "Run GDScript tests with:" msgstr "" -#: ../../docs/contributing/development/core_and_modules/unit_testing.rst:339 +#: ../../docs/contributing/development/core_and_modules/unit_testing.rst:345 msgid "This also accepts the ``--print-filenames`` option (see above)." msgstr "" -#: ../../docs/contributing/development/core_and_modules/unit_testing.rst:341 +#: ../../docs/contributing/development/core_and_modules/unit_testing.rst:347 msgid "If no errors are printed and everything goes well, you're done!" msgstr "" -#: ../../docs/contributing/development/core_and_modules/unit_testing.rst:345 +#: ../../docs/contributing/development/core_and_modules/unit_testing.rst:351 msgid "Make sure the output does have the expected values before submitting a pull request. If ``--gdscript-generate-tests`` produces ``*.out`` files which are unrelated to newly added tests, you should revert those files back and only commit ``*.out`` files for new tests." msgstr "" -#: ../../docs/contributing/development/core_and_modules/unit_testing.rst:352 +#: ../../docs/contributing/development/core_and_modules/unit_testing.rst:358 msgid "The GDScript test runner is meant for testing the GDScript implementation, not for testing user scripts nor testing the engine using scripts. We recommend writing new tests for already resolved `issues related to GDScript at GitHub `_, or writing tests for currently working features." msgstr "" -#: ../../docs/contributing/development/core_and_modules/unit_testing.rst:360 +#: ../../docs/contributing/development/core_and_modules/unit_testing.rst:366 msgid "If your test case requires that there is no ``test()`` function present inside the script file, you can disable the runtime section of the test by naming the script file so that it matches the pattern ``*.notest.gd``. For example, \"test_empty_file.notest.gd\"." msgstr "" 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 8c99a550c8..9008a3b80b 100644 --- a/sphinx/templates/contributing/development/core_and_modules/variant_class.pot +++ b/sphinx/templates/contributing/development/core_and_modules/variant_class.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "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 4c3785b557..71c7ff98b2 100644 --- a/sphinx/templates/contributing/development/cpp_usage_guidelines.pot +++ b/sphinx/templates/contributing/development/cpp_usage_guidelines.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "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 bbb56586e7..cb57bd17ad 100644 --- a/sphinx/templates/contributing/development/debugging/index.pot +++ b/sphinx/templates/contributing/development/debugging/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "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 b44d71a33f..acb54dd42d 100644 --- a/sphinx/templates/contributing/development/debugging/macos_debug.pot +++ b/sphinx/templates/contributing/development/debugging/macos_debug.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -32,15 +32,15 @@ msgstr "" msgid "Create an ``editor.entitlements`` text file with the following contents:" msgstr "" -#: ../../docs/contributing/development/debugging/macos_debug.rst:35 +#: ../../docs/contributing/development/debugging/macos_debug.rst:37 msgid "Then use the following command to re-sign the editor::" msgstr "" -#: ../../docs/contributing/development/debugging/macos_debug.rst:40 +#: ../../docs/contributing/development/debugging/macos_debug.rst:42 msgid "Debugging exported project" msgstr "" -#: ../../docs/contributing/development/debugging/macos_debug.rst:42 +#: ../../docs/contributing/development/debugging/macos_debug.rst:44 msgid "To allow debugging, select the ``codesign\\debugging`` (``com.apple.security.get-task-allow``) entitlement during the export. When it is selected, notarization is not supported and should be disabled." msgstr "" diff --git a/sphinx/templates/contributing/development/debugging/using_cpp_profilers.pot b/sphinx/templates/contributing/development/debugging/using_cpp_profilers.pot index e0c9af9609..afadf72593 100644 --- a/sphinx/templates/contributing/development/debugging/using_cpp_profilers.pot +++ b/sphinx/templates/contributing/development/debugging/using_cpp_profilers.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "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 be771332d4..1629600d7e 100644 --- a/sphinx/templates/contributing/development/debugging/using_sanitizers.pot +++ b/sphinx/templates/contributing/development/debugging/using_sanitizers.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "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 d1b7d3121c..6720faf07d 100644 --- a/sphinx/templates/contributing/development/debugging/vulkan/index.pot +++ b/sphinx/templates/contributing/development/debugging/vulkan/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "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 acd8976983..4ef4416f2e 100644 --- a/sphinx/templates/contributing/development/debugging/vulkan/vulkan_validation_layers.pot +++ b/sphinx/templates/contributing/development/debugging/vulkan/vulkan_validation_layers.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "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 d994c06277..b4e3a085d3 100644 --- a/sphinx/templates/contributing/development/editor/creating_icons.pot +++ b/sphinx/templates/contributing/development/editor/creating_icons.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "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 51833104e7..c820fc75ed 100644 --- a/sphinx/templates/contributing/development/editor/editor_style_guide.pot +++ b/sphinx/templates/contributing/development/editor/editor_style_guide.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "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 cfd211ffa5..18ce06df41 100644 --- a/sphinx/templates/contributing/development/editor/index.pot +++ b/sphinx/templates/contributing/development/editor/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "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 91db72832c..073165bb57 100644 --- a/sphinx/templates/contributing/development/editor/introduction_to_editor_development.pot +++ b/sphinx/templates/contributing/development/editor/introduction_to_editor_development.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "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 a99dbe07ad..116fa6b879 100644 --- a/sphinx/templates/contributing/development/file_formats/gdscript_grammar.pot +++ b/sphinx/templates/contributing/development/file_formats/gdscript_grammar.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "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 6bd0c57472..2f0b43e297 100644 --- a/sphinx/templates/contributing/development/file_formats/index.pot +++ b/sphinx/templates/contributing/development/file_formats/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "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 66d251ffff..19bf625793 100644 --- a/sphinx/templates/contributing/development/file_formats/tscn.pot +++ b/sphinx/templates/contributing/development/file_formats/tscn.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "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 ab8c3e08d2..fe1f7b7d77 100644 --- a/sphinx/templates/contributing/development/index.pot +++ b/sphinx/templates/contributing/development/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -28,6 +28,14 @@ msgstr "" msgid "Be sure to also check the :ref:`workflow guidelines `, especially if you're new to using Git or GitHub." msgstr "" +#: ../../docs/contributing/development/index.rst:22 +msgid "Buildsystem and work environment" +msgstr "" + +#: ../../docs/contributing/development/index.rst:33 +msgid "Engine architecture" +msgstr "" + #: ../../docs/:0 msgid "Translation status" msgstr "" diff --git a/sphinx/templates/contributing/documentation/building_the_manual.pot b/sphinx/templates/contributing/documentation/building_the_manual.pot index d8defc82a4..86d5ce8597 100644 --- a/sphinx/templates/contributing/documentation/building_the_manual.pot +++ b/sphinx/templates/contributing/documentation/building_the_manual.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "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 4ac16a5ece..f2e5df2ea0 100644 --- a/sphinx/templates/contributing/documentation/class_reference_primer.pot +++ b/sphinx/templates/contributing/documentation/class_reference_primer.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "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 a2f92509bb..34b6f2264d 100644 --- a/sphinx/templates/contributing/documentation/content_guidelines.pot +++ b/sphinx/templates/contributing/documentation/content_guidelines.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "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 1b3b7a0497..ee78326601 100644 --- a/sphinx/templates/contributing/documentation/contributing_to_the_documentation.pot +++ b/sphinx/templates/contributing/documentation/contributing_to_the_documentation.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "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 5dc5300315..b938d92106 100644 --- a/sphinx/templates/contributing/documentation/docs_image_guidelines.pot +++ b/sphinx/templates/contributing/documentation/docs_image_guidelines.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "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 e69cf7ef6d..49a2e1cffc 100644 --- a/sphinx/templates/contributing/documentation/docs_writing_guidelines.pot +++ b/sphinx/templates/contributing/documentation/docs_writing_guidelines.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "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 0e4fc67a9c..7c74debec1 100644 --- a/sphinx/templates/contributing/documentation/editor_and_docs_localization.pot +++ b/sphinx/templates/contributing/documentation/editor_and_docs_localization.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "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 bb569be8e3..33c8a64036 100644 --- a/sphinx/templates/contributing/documentation/index.pot +++ b/sphinx/templates/contributing/documentation/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "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 0f1d35b2e1..131ee8d0fd 100644 --- a/sphinx/templates/contributing/documentation/updating_the_class_reference.pot +++ b/sphinx/templates/contributing/documentation/updating_the_class_reference.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -73,7 +73,7 @@ msgid "If you decide to document a class, but don't know what a particular metho msgstr "" #: ../../docs/contributing/documentation/updating_the_class_reference.rst:74 -msgid "You can still look at the methods' implementation in Godot's source code on GitHub. If you have doubts, feel free to ask on the `Q&A website `_ and `Godot Contributors Chat `_." +msgid "You can still look at the methods' implementation in Godot's source code on GitHub. If you have doubts, feel free to ask on the `Q&A website `_ and `Godot Contributors Chat `_." msgstr "" #: ../../docs/contributing/documentation/updating_the_class_reference.rst:80 diff --git a/sphinx/templates/contributing/ways_to_contribute.pot b/sphinx/templates/contributing/ways_to_contribute.pot index 1f4e6f0fba..05dd127c82 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 latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -65,7 +65,7 @@ msgid "Your own code will be reviewed and improved by other developers, and will msgstr "" #: ../../docs/contributing/ways_to_contribute.rst:78 -msgid "The whole community will benefit from your work, and other contributors will behave the same way, contributing code that will be beneficial to you. At the time of this writing, more than 1000 developers have contributed code changes to the engine!" +msgid "The whole community will benefit from your work, and other contributors will behave the same way, contributing code that will be beneficial to you. At the time of this writing, over 2,000 developers have contributed code changes to the engine!" msgstr "" #: ../../docs/contributing/ways_to_contribute.rst:83 diff --git a/sphinx/templates/contributing/workflow/bisecting_regressions.pot b/sphinx/templates/contributing/workflow/bisecting_regressions.pot index 25ccffc19d..c6f9ac88b7 100644 --- a/sphinx/templates/contributing/workflow/bisecting_regressions.pot +++ b/sphinx/templates/contributing/workflow/bisecting_regressions.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "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 eea16dcc50..d86f044182 100644 --- a/sphinx/templates/contributing/workflow/bug_triage_guidelines.pot +++ b/sphinx/templates/contributing/workflow/bug_triage_guidelines.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -292,7 +292,7 @@ msgid "**Platforms:**" msgstr "" #: ../../docs/contributing/workflow/bug_triage_guidelines.rst:145 -msgid "*Android*, *HTML5*, *iOS*, *Linux*, *macOS*, *Windows*, *UWP*" +msgid "*Android*, *iOS*, *Linux*, *macOS*, *Web*, *Windows*" msgstr "" #: ../../docs/contributing/workflow/bug_triage_guidelines.rst:147 diff --git a/sphinx/templates/contributing/workflow/index.pot b/sphinx/templates/contributing/workflow/index.pot index c9b919e877..52a48ff135 100644 --- a/sphinx/templates/contributing/workflow/index.pot +++ b/sphinx/templates/contributing/workflow/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "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 7720002e96..541f6fb448 100644 --- a/sphinx/templates/contributing/workflow/pr_review_guidelines.pot +++ b/sphinx/templates/contributing/workflow/pr_review_guidelines.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "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 b13d73d946..fb7ddca06d 100644 --- a/sphinx/templates/contributing/workflow/pr_workflow.pot +++ b/sphinx/templates/contributing/workflow/pr_workflow.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/contributing/workflow/testing_pull_requests.pot b/sphinx/templates/contributing/workflow/testing_pull_requests.pot index 200400df62..55c770fcb6 100644 --- a/sphinx/templates/contributing/workflow/testing_pull_requests.pot +++ b/sphinx/templates/contributing/workflow/testing_pull_requests.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "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 a6eb75c256..aa182878fd 100644 --- a/sphinx/templates/getting_started/first_2d_game/01.project_setup.pot +++ b/sphinx/templates/getting_started/first_2d_game/01.project_setup.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -62,7 +62,7 @@ msgid "Your project folder should look like this." msgstr "" #: ../../docs/getting_started/first_2d_game/01.project_setup.rst:41 -msgid "This game is designed for portrait mode, so we need to adjust the size of the game window. Click on *Project -> Project Settings* to open the project settings window and in the left column, open the *Display -> Window* tab. There, set \"Viewport Width\" to ``480`` and \"Viewport Height\" to ``720``." +msgid "This game is designed for portrait mode, so we need to adjust the size of the game window. Click on *Project -> Project Settings* to open the project settings window, in the left column open the *Display -> Window* tab. There, set \"Viewport Width\" to ``480`` and \"Viewport Height\" to ``720``." msgstr "" #: ../../docs/getting_started/first_2d_game/01.project_setup.rst:48 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 744d27154e..10a2c79e4d 100644 --- a/sphinx/templates/getting_started/first_2d_game/02.player_scene.pot +++ b/sphinx/templates/getting_started/first_2d_game/02.player_scene.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -69,30 +69,30 @@ msgid "Sprite animation" msgstr "" #: ../../docs/getting_started/first_2d_game/02.player_scene.rst:56 -msgid "Click on the ``Player`` node and add (:kbd:`Ctrl + A`) a child node :ref:`AnimatedSprite2D `. The ``AnimatedSprite2D`` will handle the appearance and animations for our player. Notice that there is a warning symbol next to the node. An ``AnimatedSprite2D`` requires a :ref:`SpriteFrames ` resource, which is a list of the animations it can display. To create one, find the ``Sprite Frames`` property under the ``Animation`` tab in the Inspector and click \"[empty]\" -> \"New SpriteFrames\". Click again to open the \"SpriteFrames\" panel:" +msgid "Click on the ``Player`` node and add (:kbd:`Ctrl + A` on Windows/Linux or :kbd:`Cmd + A` on macOS) a child node :ref:`AnimatedSprite2D `. The ``AnimatedSprite2D`` will handle the appearance and animations for our player. Notice that there is a warning symbol next to the node. An ``AnimatedSprite2D`` requires a :ref:`SpriteFrames ` resource, which is a list of the animations it can display. To create one, find the ``Sprite Frames`` property under the ``Animation`` tab in the Inspector and click \"[empty]\" -> \"New SpriteFrames\". Click again to open the \"SpriteFrames\" panel:" msgstr "" -#: ../../docs/getting_started/first_2d_game/02.player_scene.rst:67 +#: ../../docs/getting_started/first_2d_game/02.player_scene.rst:68 msgid "On the left is a list of animations. Click the \"default\" one and rename it to \"walk\". Then click the \"Add Animation\" button to create a second animation named \"up\". Find the player images in the \"FileSystem\" tab - they're in the ``art`` folder you unzipped earlier. Drag the two images for each animation, named ``playerGrey_up[1/2]`` and ``playerGrey_walk[1/2]``, into the \"Animation Frames\" side of the panel for the corresponding animation:" msgstr "" -#: ../../docs/getting_started/first_2d_game/02.player_scene.rst:76 +#: ../../docs/getting_started/first_2d_game/02.player_scene.rst:77 msgid "The player images are a bit too large for the game window, so we need to scale them down. Click on the ``AnimatedSprite2D`` node and set the ``Scale`` property to ``(0.5, 0.5)``. You can find it in the Inspector under the ``Node2D`` heading." msgstr "" -#: ../../docs/getting_started/first_2d_game/02.player_scene.rst:83 +#: ../../docs/getting_started/first_2d_game/02.player_scene.rst:84 msgid "Finally, add a :ref:`CollisionShape2D ` as a child of ``Player``. This will determine the player's \"hitbox\", or the bounds of its collision area. For this character, a ``CapsuleShape2D`` node gives the best fit, so next to \"Shape\" in the Inspector, click \"[empty]\" -> \"New CapsuleShape2D\". Using the two size handles, resize the shape to cover the sprite:" msgstr "" -#: ../../docs/getting_started/first_2d_game/02.player_scene.rst:92 +#: ../../docs/getting_started/first_2d_game/02.player_scene.rst:93 msgid "When you're finished, your ``Player`` scene should look like this:" msgstr "" -#: ../../docs/getting_started/first_2d_game/02.player_scene.rst:96 +#: ../../docs/getting_started/first_2d_game/02.player_scene.rst:97 msgid "Make sure to save the scene again after these changes." msgstr "" -#: ../../docs/getting_started/first_2d_game/02.player_scene.rst:98 +#: ../../docs/getting_started/first_2d_game/02.player_scene.rst:99 msgid "In the next part, we'll add a script to the player node to move and animate it. Then, we'll set up collision detection to know when the player got hit by something." msgstr "" 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 a62a758a6f..b79cd22adb 100644 --- a/sphinx/templates/getting_started/first_2d_game/03.coding_the_player.pot +++ b/sphinx/templates/getting_started/first_2d_game/03.coding_the_player.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -44,199 +44,199 @@ msgstr "" msgid "Start by declaring the member variables this object will need:" msgstr "" -#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:85 +#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:48 msgid "Using the ``export`` keyword on the first variable ``speed`` allows us to set its value in the Inspector. This can be handy for values that you want to be able to adjust just like a node's built-in properties. Click on the ``Player`` node and you'll see the property now appears in the \"Script Variables\" section of the Inspector. Remember, if you change the value here, it will override the value written in the script." msgstr "" -#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:94 -msgid "If you're using C#, you need to (re)build the project assemblies whenever you want to see new export variables or signals. This build can be manually triggered by clicking the \"Build\" button at the top right of the editor." +#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:57 +msgid "If you're using C#, you need to (re)build the project assemblies whenever you want to see new export variables or signals. This build can be manually triggered by clicking the **Build** button at the top right of the editor." msgstr "" -#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:101 -msgid "A manual build can also be triggered from the MSBuild Panel. Click the word \"MSBuild\" at the bottom of the editor window to reveal the MSBuild Panel, then click the \"Build\" button." +#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:66 +msgid "Your ``player.gd`` script should already contain a ``_ready()`` and a ``_process()`` function. If you didn't select the default template shown above, create these functions while following the lesson." msgstr "" -#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:107 +#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:71 msgid "The ``_ready()`` function is called when a node enters the scene tree, which is a good time to find the size of the game window:" msgstr "" -#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:135 +#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:87 msgid "Now we can use the ``_process()`` function to define what the player will do. ``_process()`` is called every frame, so we'll use it to update elements of our game, which we expect will change often. For the player, we need to do the following:" msgstr "" -#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:140 +#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:92 msgid "Check for input." msgstr "" -#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:141 +#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:93 msgid "Move in the given direction." msgstr "" -#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:142 +#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:94 msgid "Play the appropriate animation." msgstr "" -#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:144 +#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:96 msgid "First, we need to check for input - is the player pressing a key? For this game, we have 4 direction inputs to check. Input actions are defined in the Project Settings under \"Input Map\". Here, you can define custom events and assign different keys, mouse events, or other inputs to them. For this game, we will map the arrow keys to the four directions." msgstr "" -#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:150 +#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:102 msgid "Click on *Project -> Project Settings* to open the project settings window and click on the *Input Map* tab at the top. Type \"move_right\" in the top bar and click the \"Add\" button to add the ``move_right`` action." msgstr "" -#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:156 +#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:108 msgid "We need to assign a key to this action. Click the \"+\" icon on the right, to open the event manager window." msgstr "" -#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:161 +#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:113 msgid "The \"Listening for Input...\" field should automatically be selected. Press the \"right\" key on your keyboard, and the menu should look like this now." msgstr "" -#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:166 +#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:118 msgid "Select the \"ok\" button. The \"right\" key is now associated with the ``move_right`` action." msgstr "" -#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:168 +#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:120 msgid "Repeat these steps to add three more mappings:" msgstr "" -#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:170 +#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:122 msgid "``move_left`` mapped to the left arrow key." msgstr "" -#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:171 +#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:123 msgid "``move_up`` mapped to the up arrow key." msgstr "" -#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:172 +#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:124 msgid "And ``move_down`` mapped to the down arrow key." msgstr "" -#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:174 +#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:126 msgid "Your input map tab should look like this:" msgstr "" -#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:178 +#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:130 msgid "Click the \"Close\" button to close the project settings." msgstr "" -#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:182 +#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:134 msgid "We only mapped one key to each input action, but you can map multiple keys, joystick buttons, or mouse buttons to the same input action." msgstr "" -#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:185 +#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:137 msgid "You can detect whether a key is pressed using ``Input.is_action_pressed()``, which returns ``true`` if it's pressed or ``false`` if it isn't." msgstr "" -#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:264 +#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:199 msgid "We start by setting the ``velocity`` to ``(0, 0)`` - by default, the player should not be moving. Then we check each input and add/subtract from the ``velocity`` to obtain a total direction. For example, if you hold ``right`` and ``down`` at the same time, the resulting ``velocity`` vector will be ``(1, 1)``. In this case, since we're adding a horizontal and a vertical movement, the player would move *faster* diagonally than if it just moved horizontally." msgstr "" -#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:271 +#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:206 msgid "We can prevent that if we *normalize* the velocity, which means we set its *length* to ``1``, then multiply by the desired speed. This means no more fast diagonal movement." msgstr "" -#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:275 +#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:210 msgid "If you've never used vector math before, or need a refresher, you can see an explanation of vector usage in Godot at :ref:`doc_vector_math`. It's good to know but won't be necessary for the rest of this tutorial." msgstr "" -#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:279 +#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:214 msgid "We also check whether the player is moving so we can call ``play()`` or ``stop()`` on the AnimatedSprite2D." msgstr "" -#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:282 +#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:217 msgid "``$`` is shorthand for ``get_node()``. So in the code above, ``$AnimatedSprite2D.play()`` is the same as ``get_node(\"AnimatedSprite2D\").play()``." msgstr "" -#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:286 +#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:221 msgid "In GDScript, ``$`` returns the node at the relative path from the current node, or returns ``null`` if the node is not found. Since AnimatedSprite2D is a child of the current node, we can use ``$AnimatedSprite2D``." msgstr "" -#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:291 +#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:226 msgid "Now that we have a movement direction, we can update the player's position. We can also use ``clamp()`` to prevent it from leaving the screen. *Clamping* a value means restricting it to a given range. Add the following to the bottom of the ``_process`` function (make sure it's not indented under the `else`):" msgstr "" -#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:318 +#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:245 msgid "The `delta` parameter in the `_process()` function refers to the *frame length* - the amount of time that the previous frame took to complete. Using this value ensures that your movement will remain consistent even if the frame rate changes." msgstr "" -#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:323 +#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:250 msgid "Click \"Play Scene\" (:kbd:`F6`, :kbd:`Cmd + R` on macOS) and confirm you can move the player around the screen in all directions." msgstr "" -#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:326 +#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:253 msgid "If you get an error in the \"Debugger\" panel that says" msgstr "" -#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:328 +#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:255 msgid "``Attempt to call function 'play' in base 'null instance' on a null instance``" msgstr "" -#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:331 +#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:258 msgid "this likely means you spelled the name of the AnimatedSprite2D node wrong. Node names are case-sensitive and ``$NodeName`` must match the name you see in the scene tree." msgstr "" -#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:336 +#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:263 msgid "Choosing animations" msgstr "" -#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:338 +#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:265 msgid "Now that the player can move, we need to change which animation the AnimatedSprite2D is playing based on its direction. We have the \"walk\" animation, which shows the player walking to the right. This animation should be flipped horizontally using the ``flip_h`` property for left movement. We also have the \"up\" animation, which should be flipped vertically with ``flip_v`` for downward movement. Let's place this code at the end of the ``_process()`` function:" msgstr "" -#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:384 +#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:299 msgid "The boolean assignments in the code above are a common shorthand for programmers. Since we're doing a comparison test (boolean) and also *assigning* a boolean value, we can do both at the same time. Consider this code versus the one-line boolean assignment above:" msgstr "" -#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:408 +#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:323 msgid "Play the scene again and check that the animations are correct in each of the directions." msgstr "" -#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:411 +#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:326 msgid "A common mistake here is to type the names of the animations wrong. The animation names in the SpriteFrames panel must match what you type in the code. If you named the animation ``\"Walk\"``, you must also use a capital \"W\" in the code." msgstr "" -#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:416 +#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:331 msgid "When you're sure the movement is working correctly, add this line to ``_ready()``, so the player will be hidden when the game starts:" msgstr "" -#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:433 +#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:344 msgid "Preparing for collisions" msgstr "" -#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:435 +#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:346 msgid "We want ``Player`` to detect when it's hit by an enemy, but we haven't made any enemies yet! That's OK, because we're going to use Godot's *signal* functionality to make it work." msgstr "" -#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:439 +#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:350 msgid "Add the following at the top of the script. If you're using GDScript, add it after ``extends Area2D``. If you're using C#, add it after ``public partial class Player : Area2D``:" msgstr "" -#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:469 +#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:365 msgid "This defines a custom signal called \"hit\" that we will have our player emit (send out) when it collides with an enemy. We will use ``Area2D`` to detect the collision. Select the ``Player`` node and click the \"Node\" tab next to the Inspector tab to see the list of signals the player can emit:" msgstr "" -#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:476 +#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:372 msgid "Notice our custom \"hit\" signal is there as well! Since our enemies are going to be ``RigidBody2D`` nodes, we want the ``body_entered(body: Node2D)`` signal. This signal will be emitted when a body contacts the player. Click \"Connect..\" and the \"Connect a Signal\" window appears. We don't need to change any of these settings so click \"Connect\" again. Godot will automatically create a function in your player's script." msgstr "" -#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:485 +#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:381 msgid "Note the green icon indicating that a signal is connected to this function. Add this code to the function:" msgstr "" -#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:517 +#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:403 msgid "Each time an enemy hits the player, the signal is going to be emitted. We need to disable the player's collision so that we don't trigger the ``hit`` signal more than once." msgstr "" -#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:521 +#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:407 msgid "Disabling the area's collision shape can cause an error if it happens in the middle of the engine's collision processing. Using ``set_deferred()`` tells Godot to wait to disable the shape until it's safe to do so." msgstr "" -#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:526 +#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:412 msgid "The last piece is to add a function we can call to reset the player when starting a new game." msgstr "" -#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:555 +#: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:432 msgid "With the player working, we'll work on the enemy in the next lesson." msgstr "" 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 dd9263a04f..b1946590be 100644 --- a/sphinx/templates/getting_started/first_2d_game/04.creating_the_enemy.pot +++ b/sphinx/templates/getting_started/first_2d_game/04.creating_the_enemy.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -57,66 +57,70 @@ 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 "In the :ref:`RigidBody2D ` properties, set ``Gravity Scale`` to ``0``, so the mob will not fall downward. In addition, under the :ref:`CollisionObject2D ` section, uncheck the ``1`` inside the ``Mask`` property. This will ensure the mobs do not collide with each other." +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." msgstr "" -#: ../../docs/getting_started/first_2d_game/04.creating_the_enemy.rst:34 +#: ../../docs/getting_started/first_2d_game/04.creating_the_enemy.rst:32 +msgid "In addition, under the :ref:`CollisionObject2D ` section just beneath the **RigidBody2D** section, expand the **Collision** group and uncheck the ``1`` inside the ``Mask`` property. This will ensure the mobs do not collide with each other." +msgstr "" + +#: ../../docs/getting_started/first_2d_game/04.creating_the_enemy.rst:40 msgid "Set up the :ref:`AnimatedSprite2D ` like you did for the player. This time, we have 3 animations: ``fly``, ``swim``, and ``walk``. There are two images for each animation in the art folder." msgstr "" -#: ../../docs/getting_started/first_2d_game/04.creating_the_enemy.rst:38 +#: ../../docs/getting_started/first_2d_game/04.creating_the_enemy.rst:44 msgid "The ``Animation Speed`` property has to be set for each individual animation. Adjust it to ``3`` for all 3 animations." msgstr "" -#: ../../docs/getting_started/first_2d_game/04.creating_the_enemy.rst:42 +#: ../../docs/getting_started/first_2d_game/04.creating_the_enemy.rst:48 msgid "You can use the \"Play Animation\" buttons on the right of the ``Animation Speed`` input field to preview your animations." msgstr "" -#: ../../docs/getting_started/first_2d_game/04.creating_the_enemy.rst:44 +#: ../../docs/getting_started/first_2d_game/04.creating_the_enemy.rst:50 msgid "We'll select one of these animations randomly so that the mobs will have some variety." msgstr "" -#: ../../docs/getting_started/first_2d_game/04.creating_the_enemy.rst:47 +#: ../../docs/getting_started/first_2d_game/04.creating_the_enemy.rst:53 msgid "Like the player images, these mob images need to be scaled down. Set the ``AnimatedSprite2D``'s ``Scale`` property to ``(0.75, 0.75)``." msgstr "" -#: ../../docs/getting_started/first_2d_game/04.creating_the_enemy.rst:50 +#: ../../docs/getting_started/first_2d_game/04.creating_the_enemy.rst:56 msgid "As in the ``Player`` scene, add a ``CapsuleShape2D`` for the collision. To align the shape with the image, you'll need to set the ``Rotation Degrees`` property to ``90`` (under \"Transform\" in the Inspector)." msgstr "" -#: ../../docs/getting_started/first_2d_game/04.creating_the_enemy.rst:54 +#: ../../docs/getting_started/first_2d_game/04.creating_the_enemy.rst:60 msgid "Save the scene." msgstr "" -#: ../../docs/getting_started/first_2d_game/04.creating_the_enemy.rst:57 +#: ../../docs/getting_started/first_2d_game/04.creating_the_enemy.rst:63 msgid "Enemy script" msgstr "" -#: ../../docs/getting_started/first_2d_game/04.creating_the_enemy.rst:59 +#: ../../docs/getting_started/first_2d_game/04.creating_the_enemy.rst:65 msgid "Add a script to the ``Mob`` like this:" msgstr "" -#: ../../docs/getting_started/first_2d_game/04.creating_the_enemy.rst:104 +#: ../../docs/getting_started/first_2d_game/04.creating_the_enemy.rst:81 msgid "Now let's look at the rest of the script. In ``_ready()`` we play the animation and randomly choose one of the three animation types:" msgstr "" -#: ../../docs/getting_started/first_2d_game/04.creating_the_enemy.rst:139 -msgid "First, we get the list of animation names from the AnimatedSprite2D's ``frames`` property. This returns an Array containing all three animation names: ``[\"walk\", \"swim\", \"fly\"]``." +#: ../../docs/getting_started/first_2d_game/04.creating_the_enemy.rst:100 +msgid "First, we get the list of animation names from the AnimatedSprite2D's ``sprite_frames`` property. This returns an Array containing all three animation names: ``[\"walk\", \"swim\", \"fly\"]``." msgstr "" -#: ../../docs/getting_started/first_2d_game/04.creating_the_enemy.rst:143 +#: ../../docs/getting_started/first_2d_game/04.creating_the_enemy.rst:104 msgid "We then need to pick a random number between ``0`` and ``2`` to select one of these names from the list (array indices start at ``0``). ``randi() % n`` selects a random integer between ``0`` and ``n-1``." msgstr "" -#: ../../docs/getting_started/first_2d_game/04.creating_the_enemy.rst:147 +#: ../../docs/getting_started/first_2d_game/04.creating_the_enemy.rst:108 msgid "The last piece is to make the mobs delete themselves when they leave the screen. Connect the ``screen_exited()`` signal of the ``VisibleOnScreenNotifier2D`` node to the ``Mob`` and add this code:" msgstr "" -#: ../../docs/getting_started/first_2d_game/04.creating_the_enemy.rst:171 +#: ../../docs/getting_started/first_2d_game/04.creating_the_enemy.rst:125 msgid "This completes the `Mob` scene." msgstr "" -#: ../../docs/getting_started/first_2d_game/04.creating_the_enemy.rst:173 +#: ../../docs/getting_started/first_2d_game/04.creating_the_enemy.rst:127 msgid "With the player and enemies ready, in the next part, we'll bring them together in a new scene. We'll make enemies spawn randomly around the game board and move forward, turning our project into a playable game." msgstr "" 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 bdb509556e..db9b06e22c 100644 --- a/sphinx/templates/getting_started/first_2d_game/05.the_main_game_scene.pot +++ b/sphinx/templates/getting_started/first_2d_game/05.the_main_game_scene.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -108,71 +108,71 @@ msgstr "" msgid "Add a script to ``Main``. At the top of the script, we use ``@export var mob_scene: PackedScene`` to allow us to choose the Mob scene we want to instance." msgstr "" -#: ../../docs/getting_started/first_2d_game/05.the_main_game_scene.rst:176 +#: ../../docs/getting_started/first_2d_game/05.the_main_game_scene.rst:102 msgid "Click the ``Main`` node and you will see the ``Mob Scene`` property in the Inspector under \"Script Variables\"." msgstr "" -#: ../../docs/getting_started/first_2d_game/05.the_main_game_scene.rst:179 +#: ../../docs/getting_started/first_2d_game/05.the_main_game_scene.rst:105 msgid "You can assign this property's value in two ways:" msgstr "" -#: ../../docs/getting_started/first_2d_game/05.the_main_game_scene.rst:181 +#: ../../docs/getting_started/first_2d_game/05.the_main_game_scene.rst:107 msgid "Drag ``mob.tscn`` from the \"FileSystem\" dock and drop it in the **Mob Scene** property." msgstr "" -#: ../../docs/getting_started/first_2d_game/05.the_main_game_scene.rst:183 +#: ../../docs/getting_started/first_2d_game/05.the_main_game_scene.rst:109 msgid "Click the down arrow next to \"[empty]\" and choose \"Load\". Select ``mob.tscn``." msgstr "" -#: ../../docs/getting_started/first_2d_game/05.the_main_game_scene.rst:185 +#: ../../docs/getting_started/first_2d_game/05.the_main_game_scene.rst:111 msgid "Next, select the instance of the ``Player`` scene under ``Main`` node in the Scene dock, and access the Node dock on the sidebar. Make sure to have the Signals tab selected in the Node dock." msgstr "" -#: ../../docs/getting_started/first_2d_game/05.the_main_game_scene.rst:189 +#: ../../docs/getting_started/first_2d_game/05.the_main_game_scene.rst:115 msgid "You should see a list of the signals for the ``Player`` node. Find and double-click the ``hit`` signal in the list (or right-click it and select \"Connect...\"). This will open the signal connection dialog. We want to make a new function named ``game_over``, which will handle what needs to happen when a game ends. Type \"game_over\" in the \"Receiver Method\" box at the bottom of the signal connection dialog and click \"Connect\". You are aiming to have the ``hit`` signal emitted from ``Player`` and handled in the ``Main`` script. Add the following code to the new function, as well as a ``new_game`` function that will set everything up for a new game:" msgstr "" -#: ../../docs/getting_started/first_2d_game/05.the_main_game_scene.rst:244 +#: ../../docs/getting_started/first_2d_game/05.the_main_game_scene.rst:156 msgid "Now connect the ``timeout()`` signal of each of the Timer nodes (``StartTimer``, ``ScoreTimer``, and ``MobTimer``) to the main script. ``StartTimer`` will start the other two timers. ``ScoreTimer`` will increment the score by 1." msgstr "" -#: ../../docs/getting_started/first_2d_game/05.the_main_game_scene.rst:294 +#: ../../docs/getting_started/first_2d_game/05.the_main_game_scene.rst:183 msgid "In ``_on_mob_timer_timeout()``, we will create a mob instance, pick a random starting location along the ``Path2D``, and set the mob in motion. The ``PathFollow2D`` node will automatically rotate as it follows the path, so we will use that to select the mob's direction as well as its position. When we spawn a mob, we'll pick a random value between ``150.0`` and ``250.0`` for how fast each mob will move (it would be boring if they were all moving at the same speed)." msgstr "" -#: ../../docs/getting_started/first_2d_game/05.the_main_game_scene.rst:302 +#: ../../docs/getting_started/first_2d_game/05.the_main_game_scene.rst:191 msgid "Note that a new instance must be added to the scene using ``add_child()``." msgstr "" -#: ../../docs/getting_started/first_2d_game/05.the_main_game_scene.rst:393 +#: ../../docs/getting_started/first_2d_game/05.the_main_game_scene.rst:254 msgid "Why ``PI``? In functions requiring angles, Godot uses *radians*, not degrees. Pi represents a half turn in radians, about ``3.1415`` (there is also ``TAU`` which is equal to ``2 * PI``). If you're more comfortable working with degrees, you'll need to use the ``deg_to_rad()`` and ``rad_to_deg()`` functions to convert between the two." msgstr "" -#: ../../docs/getting_started/first_2d_game/05.the_main_game_scene.rst:401 +#: ../../docs/getting_started/first_2d_game/05.the_main_game_scene.rst:262 msgid "Testing the scene" msgstr "" -#: ../../docs/getting_started/first_2d_game/05.the_main_game_scene.rst:403 +#: ../../docs/getting_started/first_2d_game/05.the_main_game_scene.rst:264 msgid "Let's test the scene to make sure everything is working. Add this ``new_game`` call to ``_ready()``:" msgstr "" -#: ../../docs/getting_started/first_2d_game/05.the_main_game_scene.rst:426 +#: ../../docs/getting_started/first_2d_game/05.the_main_game_scene.rst:280 msgid "Let's also assign ``Main`` as our \"Main Scene\" - the one that runs automatically when the game launches. Press the \"Play\" button and select ``main.tscn`` when prompted." msgstr "" -#: ../../docs/getting_started/first_2d_game/05.the_main_game_scene.rst:430 +#: ../../docs/getting_started/first_2d_game/05.the_main_game_scene.rst:284 msgid "If you had already set another scene as the \"Main Scene\", you can right click ``main.tscn`` in the FileSystem dock and select \"Set As Main Scene\"." msgstr "" -#: ../../docs/getting_started/first_2d_game/05.the_main_game_scene.rst:433 +#: ../../docs/getting_started/first_2d_game/05.the_main_game_scene.rst:287 msgid "You should be able to move the player around, see mobs spawning, and see the player disappear when hit by a mob." msgstr "" -#: ../../docs/getting_started/first_2d_game/05.the_main_game_scene.rst:436 +#: ../../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()``." msgstr "" -#: ../../docs/getting_started/first_2d_game/05.the_main_game_scene.rst:439 +#: ../../docs/getting_started/first_2d_game/05.the_main_game_scene.rst:293 msgid "What's our game lacking? Some user interface. In the next lesson, we'll add a title screen and display the player's score." msgstr "" 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 4d5d63dee8..e68bad2cc6 100644 --- a/sphinx/templates/getting_started/first_2d_game/06.heads_up_display.pot +++ b/sphinx/templates/getting_started/first_2d_game/06.heads_up_display.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -25,7 +25,7 @@ msgid "The final piece our game needs is a User Interface (UI) to display things msgstr "" #: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:9 -msgid "Create a new scene, and add a :ref:`CanvasLayer ` node named ``HUD``. \"HUD\" stands for \"heads-up display\", an informational display that appears as an overlay on top of the game view." +msgid "Create a new scene, click the \"Other Node\" button and add a :ref:`CanvasLayer ` node named ``HUD``. \"HUD\" stands for \"heads-up display\", an informational display that appears as an overlay on top of the game view." msgstr "" #: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:13 @@ -114,7 +114,7 @@ msgid "Message" msgstr "" #: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:68 -msgid "Add the text ``Dodge the creeps!``." +msgid "Add the text ``Dodge the Creeps!``." msgstr "" #: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:70 @@ -157,91 +157,87 @@ msgstr "" msgid "Now add this script to ``HUD``:" msgstr "" -#: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:149 +#: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:108 msgid "We now want to display a message temporarily, such as \"Get Ready\", so we add the following code" msgstr "" -#: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:196 +#: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:130 msgid "We also need to process what happens when the player loses. The code below will show \"Game Over\" for 2 seconds, then return to the title screen and, after a brief pause, show the \"Start\" button." msgstr "" -#: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:246 +#: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:163 msgid "This function is called when the player loses. It will show \"Game Over\" for 2 seconds, then return to the title screen and, after a brief pause, show the \"Start\" button." msgstr "" -#: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:250 +#: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:167 msgid "When you need to pause for a brief time, an alternative to using a Timer node is to use the SceneTree's ``create_timer()`` function. This can be very useful to add delays such as in the above code, where we want to wait some time before showing the \"Start\" button." msgstr "" -#: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:255 +#: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:172 msgid "Add the code below to ``HUD`` to update the score" msgstr "" -#: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:277 +#: ../../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:" msgstr "" -#: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:323 +#: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:214 msgid "Connecting HUD to Main" msgstr "" -#: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:325 +#: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:216 msgid "Now that we're done creating the ``HUD`` scene, go back to ``Main``. Instance the ``HUD`` scene in ``Main`` like you did the ``Player`` scene. The scene tree should look like this, so make sure you didn't miss anything:" msgstr "" -#: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:331 +#: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:222 msgid "Now we need to connect the ``HUD`` functionality to our ``Main`` script. This requires a few additions to the ``Main`` scene:" msgstr "" -#: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:334 +#: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:225 msgid "In the Node tab, connect the HUD's ``start_game`` signal to the ``new_game()`` function of the Main node by clicking the \"Pick\" button in the \"Connect a Signal\" window and selecting the ``new_game()`` method or type \"new_game\" below \"Receiver Method\" in the window. Verify that the green connection icon now appears next to ``func new_game()`` in the script." msgstr "" -#: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:340 -msgid "Remember to remove the call to ``new_game()`` from ``_ready()``." -msgstr "" - -#: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:343 +#: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:231 msgid "In ``new_game()``, update the score display and show the \"Get Ready\" message:" msgstr "" -#: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:362 +#: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:245 msgid "In ``game_over()`` we need to call the corresponding ``HUD`` function:" msgstr "" -#: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:377 -msgid "Just a reminder: we don't want to start the new game automatically, so remove the call to ``new_game()`` in ``_ready()`` if you haven't yet." -msgstr "" - -#: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:380 +#: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:256 msgid "Finally, add this to ``_on_score_timer_timeout()`` to keep the display in sync with the changing score:" msgstr "" -#: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:396 +#: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:270 +msgid "Remember to remove the call to ``new_game()`` from ``_ready()`` if you haven't already, otherwise your game will start automatically." +msgstr "" + +#: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:274 msgid "Now you're ready to play! Click the \"Play the Project\" button. You will be asked to select a main scene, so choose ``main.tscn``." msgstr "" -#: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:400 +#: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:278 msgid "Removing old creeps" msgstr "" -#: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:402 +#: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:280 msgid "If you play until \"Game Over\" and then start a new game right away, the creeps from the previous game may still be on the screen. It would be better if they all disappeared at the start of a new game. We just need a way to tell *all* the mobs to remove themselves. We can do this with the \"group\" feature." msgstr "" -#: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:407 +#: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:285 msgid "In the ``Mob`` scene, select the root node and click the \"Node\" tab next to the Inspector (the same place where you find the node's signals). Next to \"Signals\", click \"Groups\" and you can type a new group name and click \"Add\"." msgstr "" -#: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:413 +#: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:291 msgid "Now all mobs will be in the \"mobs\" group. We can then add the following line to the ``new_game()`` function in ``Main``:" msgstr "" -#: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:431 +#: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:305 msgid "The ``call_group()`` function calls the named function on every node in a group - in this case we are telling every mob to delete itself." msgstr "" -#: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:434 +#: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:308 msgid "The game's mostly done at this point. In the next and last part, we'll polish it a bit by adding a background, looping music, and some keyboard shortcuts." msgstr "" 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 b7b2f7e950..7daba310bf 100644 --- a/sphinx/templates/getting_started/first_2d_game/07.finishing-up.pot +++ b/sphinx/templates/getting_started/first_2d_game/07.finishing-up.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -45,7 +45,7 @@ msgid "Sound effects" msgstr "" #: ../../docs/getting_started/first_2d_game/07.finishing-up.rst:26 -msgid "Sound and music can be the single most effective way to add appeal to the game experience. In your game assets folder, you have two sound files: \"House In a Forest Loop.ogg\" for background music, and \"gameover.wav\" for when the player loses." +msgid "Sound and music can be the single most effective way to add appeal to the game experience. In your game's **art** folder, you have two sound files: \"House In a Forest Loop.ogg\" for background music, and \"gameover.wav\" for when the player loses." msgstr "" #: ../../docs/getting_started/first_2d_game/07.finishing-up.rst:31 @@ -64,51 +64,51 @@ msgstr "" msgid "Finally, add ``$DeathSound.play()`` in the ``game_over()`` function." msgstr "" -#: ../../docs/getting_started/first_2d_game/07.finishing-up.rst:46 +#: ../../docs/getting_started/first_2d_game/07.finishing-up.rst:74 msgid "Keyboard shortcut" msgstr "" -#: ../../docs/getting_started/first_2d_game/07.finishing-up.rst:48 +#: ../../docs/getting_started/first_2d_game/07.finishing-up.rst:76 msgid "Since the game is played with keyboard controls, it would be convenient if we could also start the game by pressing a key on the keyboard. We can do this with the \"Shortcut\" property of the ``Button`` node." msgstr "" -#: ../../docs/getting_started/first_2d_game/07.finishing-up.rst:52 +#: ../../docs/getting_started/first_2d_game/07.finishing-up.rst:80 msgid "In a previous lesson, we created four input actions to move the character. We will create a similar input action to map to the start button." msgstr "" -#: ../../docs/getting_started/first_2d_game/07.finishing-up.rst:55 +#: ../../docs/getting_started/first_2d_game/07.finishing-up.rst:83 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:60 +#: ../../docs/getting_started/first_2d_game/07.finishing-up.rst:88 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:65 +#: ../../docs/getting_started/first_2d_game/07.finishing-up.rst:93 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:72 +#: ../../docs/getting_started/first_2d_game/07.finishing-up.rst:100 msgid "Create a new :ref:`InputEventAction ` and name it ``start_game``." msgstr "" -#: ../../docs/getting_started/first_2d_game/07.finishing-up.rst:76 +#: ../../docs/getting_started/first_2d_game/07.finishing-up.rst:104 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:79 +#: ../../docs/getting_started/first_2d_game/07.finishing-up.rst:107 msgid "And with that, you completed your first 2D game in Godot." msgstr "" -#: ../../docs/getting_started/first_2d_game/07.finishing-up.rst:83 +#: ../../docs/getting_started/first_2d_game/07.finishing-up.rst:111 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:87 +#: ../../docs/getting_started/first_2d_game/07.finishing-up.rst:115 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:90 +#: ../../docs/getting_started/first_2d_game/07.finishing-up.rst:118 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 b7a5947f9a..86a2293569 100644 --- a/sphinx/templates/getting_started/first_2d_game/index.pot +++ b/sphinx/templates/getting_started/first_2d_game/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/first_3d_game/01.game_setup.pot b/sphinx/templates/getting_started/first_3d_game/01.game_setup.pot index bce3ab7928..799f74483d 100644 --- a/sphinx/templates/getting_started/first_3d_game/01.game_setup.pot +++ b/sphinx/templates/getting_started/first_3d_game/01.game_setup.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "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 20f29fd657..67482589c5 100644 --- a/sphinx/templates/getting_started/first_3d_game/02.player_input.pot +++ b/sphinx/templates/getting_started/first_3d_game/02.player_input.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "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 d69954342e..8a2aeb703b 100644 --- a/sphinx/templates/getting_started/first_3d_game/03.player_movement_code.pot +++ b/sphinx/templates/getting_started/first_3d_game/03.player_movement_code.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -70,7 +70,7 @@ msgid "These four conditions give us eight possibilities and eight possible dire msgstr "" #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:129 -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 ``normalize()`` method." +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 @@ -98,7 +98,7 @@ msgid "The ``CharacterBody3D.is_on_floor()`` function returns ``true`` if the bo msgstr "" #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:226 -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 it is not on or collides with the floor." +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 @@ -143,7 +143,7 @@ msgid "If you closed the scene before, head to the *FileSystem* dock and double- msgstr "" #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:364 -msgid "To instantiate the ``Player``, right-click on the ``Main`` node and select *Instance Child Scene*." +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 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 f24dc977b9..9f2477bdf8 100644 --- a/sphinx/templates/getting_started/first_3d_game/04.mob_scene.pot +++ b/sphinx/templates/getting_started/first_3d_game/04.mob_scene.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "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 6d3437e088..d33203de3a 100644 --- a/sphinx/templates/getting_started/first_3d_game/05.spawning_mobs.pot +++ b/sphinx/templates/getting_started/first_3d_game/05.spawning_mobs.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/first_3d_game/06.jump_and_squash.pot b/sphinx/templates/getting_started/first_3d_game/06.jump_and_squash.pot index 11d0ff9ca3..6afe58ac4e 100644 --- a/sphinx/templates/getting_started/first_3d_game/06.jump_and_squash.pot +++ b/sphinx/templates/getting_started/first_3d_game/06.jump_and_squash.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -68,8 +68,8 @@ msgstr "" msgid "|image0|" msgstr "" -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:354 -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:354 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:368 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:368 msgid "image0" msgstr "" @@ -81,8 +81,8 @@ msgstr "" msgid "|image1|" msgstr "" -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:355 -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:355 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:369 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:369 msgid "image1" msgstr "" @@ -102,8 +102,8 @@ msgstr "" msgid "|image2|" msgstr "" -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:356 -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:356 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:370 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:370 msgid "image2" msgstr "" @@ -115,8 +115,8 @@ msgstr "" msgid "|image3|" msgstr "" -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:357 -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:357 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:371 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:371 msgid "image3" msgstr "" @@ -132,8 +132,8 @@ msgstr "" msgid "|image4|" msgstr "" -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:358 -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:358 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:372 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:372 msgid "image4" msgstr "" @@ -149,8 +149,8 @@ msgstr "" msgid "|image5|" msgstr "" -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:359 -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:359 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:373 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:373 msgid "image5" msgstr "" @@ -166,8 +166,8 @@ msgstr "" msgid "|image6|" msgstr "" -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:360 -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:360 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:374 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:374 msgid "image6" msgstr "" @@ -235,8 +235,8 @@ msgstr "" msgid "|image7|" msgstr "" -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:361 -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:361 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:375 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:375 msgid "image7" msgstr "" @@ -248,8 +248,8 @@ msgstr "" msgid "|image8|" msgstr "" -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:362 -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:362 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:376 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:376 msgid "image8" msgstr "" @@ -281,47 +281,55 @@ msgstr "" msgid "With this code, if no collisions occurred on a given frame, the loop won't run." msgstr "" -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:285 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:291 msgid "That's a lot of new functions. Here's some more information about them." msgstr "" -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:287 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:293 msgid "The functions ``get_slide_collision_count()`` and ``get_slide_collision()`` both come from the :ref:`CharacterBody3D ` class and are related to ``move_and_slide()``." msgstr "" -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:291 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:297 msgid "``get_slide_collision()`` returns a :ref:`KinematicCollision3D` object that holds information about where and how the collision occurred. For example, we use its ``get_collider`` property to check if we collided with a \"mob\" by calling ``is_in_group()`` on it: ``collision.get_collider().is_in_group(\"mob\")``." msgstr "" -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:299 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:305 msgid "The method ``is_in_group()`` is available on every :ref:`Node`." msgstr "" -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:301 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:307 msgid "To check that we are landing on the monster, we use the vector dot product: ``Vector3.UP.dot(collision.get_normal()) > 0.1``. The collision normal is a 3D vector that is perpendicular to the plane where the collision occurred. The dot product allows us to compare it to the up direction." msgstr "" -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:306 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:312 msgid "With dot products, when the result is greater than ``0``, the two vectors are at an angle of fewer than 90 degrees. A value higher than ``0.1`` tells us that we are roughly above the monster." msgstr "" -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:310 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:316 +msgid "After handling the squash and bounce logic, we terminate the loop early via the ``break`` statement to prevent further duplicate calls to ``mob.squash()``, which may otherwise result in unintended bugs such as counting the score multiple times for one kill." +msgstr "" + +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:320 msgid "We are calling one undefined function, ``mob.squash()``, so we have to add it to the Mob class." msgstr "" -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:313 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:323 msgid "Open the script ``Mob.gd`` by double-clicking on it in the *FileSystem* dock. At the top of the script, we want to define a new signal named ``squashed``. And at the bottom, you can add the squash function, where we emit the signal and destroy the mob." msgstr "" -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:347 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:359 +msgid "When using C#, Godot will create the appropriate events automatically for all Signals ending with `EventHandler`, see :ref:`C# Signals `." +msgstr "" + +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:361 msgid "We will use the signal to add points to the score in the next lesson." msgstr "" -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:349 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:363 msgid "With that, you should be able to kill monsters by jumping on them. You can press :kbd:`F5` to try the game and set ``main.tscn`` as your project's main scene." msgstr "" -#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:352 +#: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:366 msgid "However, the player won't die yet. We'll work on that in the next part." msgstr "" diff --git a/sphinx/templates/getting_started/first_3d_game/07.killing_player.pot b/sphinx/templates/getting_started/first_3d_game/07.killing_player.pot index 630524cc02..6fd34a5439 100644 --- a/sphinx/templates/getting_started/first_3d_game/07.killing_player.pot +++ b/sphinx/templates/getting_started/first_3d_game/07.killing_player.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+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 "" msgid "|image0|" msgstr "" -#: ../../docs/getting_started/first_3d_game/07.killing_player.rst:522 -#: ../../docs/getting_started/first_3d_game/07.killing_player.rst:522 +#: ../../docs/getting_started/first_3d_game/07.killing_player.rst:526 +#: ../../docs/getting_started/first_3d_game/07.killing_player.rst:526 msgid "image0" msgstr "" @@ -53,8 +53,8 @@ msgstr "" msgid "|image1|" msgstr "" -#: ../../docs/getting_started/first_3d_game/07.killing_player.rst:523 -#: ../../docs/getting_started/first_3d_game/07.killing_player.rst:523 +#: ../../docs/getting_started/first_3d_game/07.killing_player.rst:527 +#: ../../docs/getting_started/first_3d_game/07.killing_player.rst:527 msgid "image1" msgstr "" @@ -66,8 +66,8 @@ msgstr "" msgid "|image2|" msgstr "" -#: ../../docs/getting_started/first_3d_game/07.killing_player.rst:524 -#: ../../docs/getting_started/first_3d_game/07.killing_player.rst:524 +#: ../../docs/getting_started/first_3d_game/07.killing_player.rst:528 +#: ../../docs/getting_started/first_3d_game/07.killing_player.rst:528 msgid "image2" msgstr "" @@ -87,8 +87,8 @@ msgstr "" msgid "|image3|" msgstr "" -#: ../../docs/getting_started/first_3d_game/07.killing_player.rst:525 -#: ../../docs/getting_started/first_3d_game/07.killing_player.rst:525 +#: ../../docs/getting_started/first_3d_game/07.killing_player.rst:529 +#: ../../docs/getting_started/first_3d_game/07.killing_player.rst:529 msgid "image3" msgstr "" @@ -100,8 +100,8 @@ msgstr "" msgid "|image4|" msgstr "" -#: ../../docs/getting_started/first_3d_game/07.killing_player.rst:526 -#: ../../docs/getting_started/first_3d_game/07.killing_player.rst:526 +#: ../../docs/getting_started/first_3d_game/07.killing_player.rst:530 +#: ../../docs/getting_started/first_3d_game/07.killing_player.rst:530 msgid "image4" msgstr "" @@ -141,8 +141,8 @@ msgstr "" msgid "|image5|" msgstr "" -#: ../../docs/getting_started/first_3d_game/07.killing_player.rst:527 -#: ../../docs/getting_started/first_3d_game/07.killing_player.rst:527 +#: ../../docs/getting_started/first_3d_game/07.killing_player.rst:531 +#: ../../docs/getting_started/first_3d_game/07.killing_player.rst:531 msgid "image5" msgstr "" @@ -182,7 +182,7 @@ msgstr "" msgid "Finally, the longest script, ``Player.gd``:" msgstr "" -#: ../../docs/getting_started/first_3d_game/07.killing_player.rst:520 +#: ../../docs/getting_started/first_3d_game/07.killing_player.rst:524 msgid "See you in the next lesson to add the score and the retry option." msgstr "" 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 e24df70736..06f7e1251c 100644 --- a/sphinx/templates/getting_started/first_3d_game/08.score_and_replay.pot +++ b/sphinx/templates/getting_started/first_3d_game/08.score_and_replay.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "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 fbb1b38a4e..5fa6402c18 100644 --- a/sphinx/templates/getting_started/first_3d_game/09.adding_animations.pot +++ b/sphinx/templates/getting_started/first_3d_game/09.adding_animations.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -28,8 +28,8 @@ msgstr "" msgid "|image0|" msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:604 -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:604 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:608 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:608 msgid "image0" msgstr "" @@ -57,8 +57,8 @@ msgstr "" msgid "|image1|" msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:605 -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:605 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:609 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:609 msgid "image1" msgstr "" @@ -74,8 +74,8 @@ msgstr "" msgid "|image2|" msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:606 -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:606 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:610 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:610 msgid "image2" msgstr "" @@ -87,8 +87,8 @@ msgstr "" msgid "|image3|" msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:607 -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:607 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:611 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:611 msgid "image3" msgstr "" @@ -100,8 +100,8 @@ msgstr "" msgid "|image4|" msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:608 -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:608 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:612 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:612 msgid "image4" msgstr "" @@ -117,8 +117,8 @@ msgstr "" msgid "|image5|" msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:609 -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:609 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:613 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:613 msgid "image5" msgstr "" @@ -130,8 +130,8 @@ msgstr "" msgid "|image6|" msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:610 -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:610 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:614 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:614 msgid "image6" msgstr "" @@ -143,8 +143,8 @@ msgstr "" msgid "|image7|" msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:611 -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:611 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:615 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:615 msgid "image7" msgstr "" @@ -156,8 +156,8 @@ msgstr "" msgid "|image8|" msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:612 -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:612 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:616 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:616 msgid "image8" msgstr "" @@ -169,8 +169,8 @@ msgstr "" msgid "|image9|" msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:613 -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:613 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:617 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:617 msgid "image9" msgstr "" @@ -194,8 +194,8 @@ msgstr "" msgid "|image10|" msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:614 -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:614 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:618 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:618 msgid "image10" msgstr "" @@ -211,21 +211,21 @@ msgstr "" msgid "|image11|" msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:615 -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:615 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:619 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:619 msgid "image11" msgstr "" #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:97 -msgid "You can click and drag on the diamonds to move them in time. Move the position key to ``0.2`` seconds and the rotation key to ``0.1`` seconds." +msgid "You can click and drag on the diamonds to move them in time. Move the position key to ``0.3`` seconds and the rotation key to ``0.1`` seconds." msgstr "" #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:100 msgid "|image12|" msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:616 -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:616 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:620 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:620 msgid "image12" msgstr "" @@ -241,8 +241,8 @@ msgstr "" msgid "|image13|" msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:617 -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:617 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:621 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:621 msgid "image13" msgstr "" @@ -258,8 +258,8 @@ msgstr "" msgid "|image14|" msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:618 -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:618 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:622 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:622 msgid "image14" msgstr "" @@ -279,8 +279,8 @@ msgstr "" msgid "|image15|" msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:619 -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:619 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:623 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:623 msgid "image15" msgstr "" @@ -300,8 +300,8 @@ msgstr "" msgid "|image16|" msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:620 -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:620 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:624 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:624 msgid "image16" msgstr "" @@ -313,8 +313,8 @@ msgstr "" msgid "|image17|" msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:621 -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:621 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:625 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:625 msgid "image17" msgstr "" @@ -326,8 +326,8 @@ msgstr "" msgid "|image18|" msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:622 -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:622 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:626 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:626 msgid "image18" msgstr "" @@ -343,8 +343,8 @@ msgstr "" msgid "|image19|" msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:623 -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:623 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:627 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:627 msgid "image19" msgstr "" @@ -356,8 +356,8 @@ msgstr "" msgid "|image20|" msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:624 -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:624 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:628 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:628 msgid "image20" msgstr "" @@ -369,8 +369,8 @@ msgstr "" msgid "|image21|" msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:625 -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:625 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:629 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:629 msgid "image21" msgstr "" @@ -402,8 +402,8 @@ msgstr "" msgid "|image22|" msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:626 -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:626 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:630 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:630 msgid "image22" msgstr "" @@ -455,7 +455,7 @@ msgstr "" msgid "Here's the *Player* script." msgstr "" -#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:505 +#: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:509 msgid "And the *Mob*'s script." msgstr "" 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 13d9c45582..7e8c445b4a 100644 --- a/sphinx/templates/getting_started/first_3d_game/going_further.pot +++ b/sphinx/templates/getting_started/first_3d_game/going_further.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "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 a342205001..ebeba7db5b 100644 --- a/sphinx/templates/getting_started/first_3d_game/index.pot +++ b/sphinx/templates/getting_started/first_3d_game/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "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 0ec3f9daa3..149c5e2116 100644 --- a/sphinx/templates/getting_started/introduction/first_look_at_the_editor.pot +++ b/sphinx/templates/getting_started/introduction/first_look_at_the_editor.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+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 "You can search for information about a class, method, property, constant, msgstr "" #: ../../docs/getting_started/introduction/first_look_at_the_editor.rst:139 -msgid "Pressing :kbd:`F1` (or :kbd:`Alt + Space` on macOS) anywhere in the editor." +msgid "Pressing :kbd:`F1` (or :kbd:`Alt + Space` on macOS, or :kbd:`fn + F1` for laptops with a :kbd:`fn` key) anywhere in the editor." msgstr "" #: ../../docs/getting_started/introduction/first_look_at_the_editor.rst:140 diff --git a/sphinx/templates/getting_started/introduction/godot_design_philosophy.pot b/sphinx/templates/getting_started/introduction/godot_design_philosophy.pot index eca67a7677..ca45e31144 100644 --- a/sphinx/templates/getting_started/introduction/godot_design_philosophy.pot +++ b/sphinx/templates/getting_started/introduction/godot_design_philosophy.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -64,8 +64,8 @@ msgstr "" msgid "|image0|" msgstr "" -#: ../../docs/getting_started/introduction/godot_design_philosophy.rst:177 -#: ../../docs/getting_started/introduction/godot_design_philosophy.rst:177 +#: ../../docs/getting_started/introduction/godot_design_philosophy.rst:176 +#: ../../docs/getting_started/introduction/godot_design_philosophy.rst:176 msgid "image0" msgstr "" @@ -81,8 +81,8 @@ msgstr "" msgid "|image1|" msgstr "" -#: ../../docs/getting_started/introduction/godot_design_philosophy.rst:178 -#: ../../docs/getting_started/introduction/godot_design_philosophy.rst:178 +#: ../../docs/getting_started/introduction/godot_design_philosophy.rst:177 +#: ../../docs/getting_started/introduction/godot_design_philosophy.rst:177 msgid "image1" msgstr "" @@ -102,8 +102,8 @@ msgstr "" msgid "|image2|" msgstr "" -#: ../../docs/getting_started/introduction/godot_design_philosophy.rst:179 -#: ../../docs/getting_started/introduction/godot_design_philosophy.rst:179 +#: ../../docs/getting_started/introduction/godot_design_philosophy.rst:178 +#: ../../docs/getting_started/introduction/godot_design_philosophy.rst:178 msgid "image2" msgstr "" @@ -120,96 +120,96 @@ msgid "GDScript lets you write code using an indentation-based syntax, yet it de msgstr "" #: ../../docs/getting_started/introduction/godot_design_philosophy.rst:91 -msgid "Note that with GDExtension, you can write high-performance code using compiled languages like C, C++, Rust, or Python (using the Cython compiler) without recompiling the engine." +msgid "Note that with GDExtension, you can write high-performance code using compiled languages like C, C++, Rust, D, Haxe, or Swift without recompiling the engine." msgstr "" -#: ../../docs/getting_started/introduction/godot_design_philosophy.rst:95 +#: ../../docs/getting_started/introduction/godot_design_philosophy.rst:94 msgid "Note that the 3D workspace doesn't feature as many tools as the 2D workspace. You'll need external programs or add-ons to edit terrains, animate complex characters, and so on. Godot provides a complete API to extend the editor's functionality using game code. See `The Godot editor is a Godot game`_ below." msgstr "" -#: ../../docs/getting_started/introduction/godot_design_philosophy.rst:100 +#: ../../docs/getting_started/introduction/godot_design_philosophy.rst:99 msgid "|image4|" msgstr "" -#: ../../docs/getting_started/introduction/godot_design_philosophy.rst:180 -#: ../../docs/getting_started/introduction/godot_design_philosophy.rst:180 +#: ../../docs/getting_started/introduction/godot_design_philosophy.rst:179 +#: ../../docs/getting_started/introduction/godot_design_philosophy.rst:179 msgid "image4" msgstr "" -#: ../../docs/getting_started/introduction/godot_design_philosophy.rst:102 +#: ../../docs/getting_started/introduction/godot_design_philosophy.rst:101 msgid "*A State Machine editor plugin in Godot 2 by kubecz3k. It lets you manage states and transitions visually.*" msgstr "" -#: ../../docs/getting_started/introduction/godot_design_philosophy.rst:106 +#: ../../docs/getting_started/introduction/godot_design_philosophy.rst:105 msgid "Open source" msgstr "" -#: ../../docs/getting_started/introduction/godot_design_philosophy.rst:108 +#: ../../docs/getting_started/introduction/godot_design_philosophy.rst:107 msgid "Godot offers a fully open source codebase under the **MIT license**. This means all the technologies that ship with it have to be Free (as in freedom) as well. For the most part, they're developed from the ground up by contributors." msgstr "" -#: ../../docs/getting_started/introduction/godot_design_philosophy.rst:113 +#: ../../docs/getting_started/introduction/godot_design_philosophy.rst:112 msgid "Anyone can plug in proprietary tools for the needs of their projects — they just won't ship with the engine. This may include Google AdMob, or FMOD. Any of these can come as third-party plugins instead." msgstr "" -#: ../../docs/getting_started/introduction/godot_design_philosophy.rst:118 +#: ../../docs/getting_started/introduction/godot_design_philosophy.rst:117 msgid "On the other hand, an open codebase means you can **learn from and extend the engine** to your heart's content. You can also debug games easily, as Godot will print errors with a stack trace, even if they come from the engine itself." msgstr "" -#: ../../docs/getting_started/introduction/godot_design_philosophy.rst:124 +#: ../../docs/getting_started/introduction/godot_design_philosophy.rst:123 msgid "This **does not affect the work you do with Godot** in any way: there's no strings attached to the engine or anything you make with it." msgstr "" -#: ../../docs/getting_started/introduction/godot_design_philosophy.rst:128 +#: ../../docs/getting_started/introduction/godot_design_philosophy.rst:127 msgid "Community-driven" msgstr "" -#: ../../docs/getting_started/introduction/godot_design_philosophy.rst:130 +#: ../../docs/getting_started/introduction/godot_design_philosophy.rst:129 msgid "**Godot is made by its community, for the community, and for all game creators out there.** It's the needs of the users and open discussions that drive the core updates. New features from the core developers often focus on what will benefit the most users first." msgstr "" -#: ../../docs/getting_started/introduction/godot_design_philosophy.rst:135 +#: ../../docs/getting_started/introduction/godot_design_philosophy.rst:134 msgid "That said, although a handful of core developers work on it full-time, the project has over 600 contributors at the time of writing. Benevolent programmers work on features they may need themselves, so you'll see improvements in all corners of the engine at the same time in every major release." msgstr "" -#: ../../docs/getting_started/introduction/godot_design_philosophy.rst:142 +#: ../../docs/getting_started/introduction/godot_design_philosophy.rst:141 msgid "The Godot editor is a Godot game" msgstr "" -#: ../../docs/getting_started/introduction/godot_design_philosophy.rst:144 +#: ../../docs/getting_started/introduction/godot_design_philosophy.rst:143 msgid "The Godot editor runs on the game engine. It uses the engine's own UI system, it can hot-reload code and scenes when you test your projects, or run game code in the editor. This means you can **use the same code** and scenes for your games, or **build plugins and extend the editor.**" msgstr "" -#: ../../docs/getting_started/introduction/godot_design_philosophy.rst:149 +#: ../../docs/getting_started/introduction/godot_design_philosophy.rst:148 msgid "This leads to a reliable and flexible UI system, as it powers the editor itself. With the ``@tool`` annotation, you can run any game code in the editor." msgstr "" -#: ../../docs/getting_started/introduction/godot_design_philosophy.rst:152 +#: ../../docs/getting_started/introduction/godot_design_philosophy.rst:151 msgid "|image5|" msgstr "" -#: ../../docs/getting_started/introduction/godot_design_philosophy.rst:181 -#: ../../docs/getting_started/introduction/godot_design_philosophy.rst:181 +#: ../../docs/getting_started/introduction/godot_design_philosophy.rst:180 +#: ../../docs/getting_started/introduction/godot_design_philosophy.rst:180 msgid "image5" msgstr "" -#: ../../docs/getting_started/introduction/godot_design_philosophy.rst:154 +#: ../../docs/getting_started/introduction/godot_design_philosophy.rst:153 msgid "*RPG in a Box is a voxel RPG editor made with Godot 2. It uses Godot's UI tools for its node-based programming system and for the rest of the interface.*" msgstr "" -#: ../../docs/getting_started/introduction/godot_design_philosophy.rst:158 +#: ../../docs/getting_started/introduction/godot_design_philosophy.rst:157 msgid "Put the ``@tool`` annotation at the top of any GDScript file and it will run in the editor. This lets you import and export plugins, create plugins like custom level editors, or create scripts with the same nodes and API you use in your projects." msgstr "" -#: ../../docs/getting_started/introduction/godot_design_philosophy.rst:165 +#: ../../docs/getting_started/introduction/godot_design_philosophy.rst:164 msgid "The editor is fully written in C++ and is statically compiled into the binary. This means you can't import it as a typical project that would have a ``project.godot`` file." msgstr "" -#: ../../docs/getting_started/introduction/godot_design_philosophy.rst:170 +#: ../../docs/getting_started/introduction/godot_design_philosophy.rst:169 msgid "Separate 2D and 3D engines" msgstr "" -#: ../../docs/getting_started/introduction/godot_design_philosophy.rst:172 +#: ../../docs/getting_started/introduction/godot_design_philosophy.rst:171 msgid "Godot offers dedicated 2D and 3D rendering engines. As a result, **the base unit for 2D scenes is pixels.** Even though the engines are separate, you can render 2D in 3D, 3D in 2D, and overlay 2D sprites and interfaces over your 3D world." msgstr "" diff --git a/sphinx/templates/getting_started/introduction/index.pot b/sphinx/templates/getting_started/introduction/index.pot index 34b38f5ce4..0513a05104 100644 --- a/sphinx/templates/getting_started/introduction/index.pot +++ b/sphinx/templates/getting_started/introduction/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+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/getting_started/introduction/index.rst:6 +#: ../../docs/getting_started/introduction/index.rst:8 msgid "Introduction" msgstr "" -#: ../../docs/getting_started/introduction/index.rst:8 +#: ../../docs/getting_started/introduction/index.rst:10 msgid "This series will introduce you to Godot and give you an overview of its features." msgstr "" -#: ../../docs/getting_started/introduction/index.rst:11 +#: ../../docs/getting_started/introduction/index.rst:13 msgid "In the following pages, you will get answers to questions such as \"Is Godot for me?\" or \"What can I do with Godot?\". We will then introduce the engine's most essential concepts, run you through the editor's interface, and give you tips to make the most of your time learning it." msgstr "" diff --git a/sphinx/templates/getting_started/introduction/introduction_to_godot.pot b/sphinx/templates/getting_started/introduction/introduction_to_godot.pot index 66d49e717a..6a6d97abbd 100644 --- a/sphinx/templates/getting_started/introduction/introduction_to_godot.pot +++ b/sphinx/templates/getting_started/introduction/introduction_to_godot.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "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 e9b6c67a97..16ccaf057a 100644 --- a/sphinx/templates/getting_started/introduction/key_concepts_overview.pot +++ b/sphinx/templates/getting_started/introduction/key_concepts_overview.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -49,7 +49,7 @@ msgid "A scene is composed of one or more **nodes**. Nodes are your game's small msgstr "" #: ../../docs/getting_started/introduction/key_concepts_overview.rst:43 -msgid "It is made of a ``CharacterBody2D`` node named \"Player\", a ``Sprite2D``, a ``Camera2D``, and a ``CollisionShape2D``." +msgid "It is made of a ``CharacterBody2D`` node named \"Player\", a ``Camera2D``, a ``Sprite2D``, and a ``CollisionShape2D``." msgstr "" #: ../../docs/getting_started/introduction/key_concepts_overview.rst:46 diff --git a/sphinx/templates/getting_started/introduction/learning_new_features.pot b/sphinx/templates/getting_started/introduction/learning_new_features.pot index ecf347b9c2..623427fdbb 100644 --- a/sphinx/templates/getting_started/introduction/learning_new_features.pot +++ b/sphinx/templates/getting_started/introduction/learning_new_features.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -93,7 +93,7 @@ msgid "Godot has a growing community of users. If you're stuck on a problem or n msgstr "" #: ../../docs/getting_started/introduction/learning_new_features.rst:87 -msgid "The best place to ask questions and find already answered ones is the official `Questions & Answers `_ site. These responses show up in search engine results and get saved, allowing other users to benefit from discussions on the platform. Once you have asked a question there, you can share its link on other social platforms. Before asking a question, be sure to look for existing answers that might solve your problem on this website or using your preferred search engine." +msgid "The best place to ask questions and find already answered ones is the official `Questions & Answers `_ site. These responses show up in search engine results and get saved, allowing other users to benefit from discussions on the platform. Once you have asked a question there, you can share its link on other social platforms. Before asking a question, be sure to look for existing answers that might solve your problem on this website or using your preferred search engine." msgstr "" #: ../../docs/getting_started/introduction/learning_new_features.rst:95 diff --git a/sphinx/templates/getting_started/step_by_step/index.pot b/sphinx/templates/getting_started/step_by_step/index.pot index 5c503463ed..971e92e55a 100644 --- a/sphinx/templates/getting_started/step_by_step/index.pot +++ b/sphinx/templates/getting_started/step_by_step/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "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 b91177334f..53e3bca33f 100644 --- a/sphinx/templates/getting_started/step_by_step/instancing.pot +++ b/sphinx/templates/getting_started/step_by_step/instancing.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -16,219 +16,219 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: ../../docs/getting_started/step_by_step/instancing.rst:6 +#: ../../docs/getting_started/step_by_step/instancing.rst:4 msgid "Creating instances" msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:8 +#: ../../docs/getting_started/step_by_step/instancing.rst:6 msgid "In the previous part, we saw that a scene is a collection of nodes organized in a tree structure, with a single node as its root. You can split your project into any number of scenes. This feature helps you break down and organize your game's different components." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:13 +#: ../../docs/getting_started/step_by_step/instancing.rst:11 msgid "You can create as many scenes as you'd like and save them as files with the ``.tscn`` extension, which stands for \"text scene\". The ``label.tscn`` file from the previous lesson was an example. We call those files \"Packed Scenes\" as they pack information about your scene's content." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:18 +#: ../../docs/getting_started/step_by_step/instancing.rst:16 msgid "Here's an example of a ball. It's composed of a :ref:`RigidBody2D ` node as its root named Ball, which allows the ball to fall and bounce on walls, a :ref:`Sprite2D ` node, and a :ref:`CollisionShape2D `." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:25 +#: ../../docs/getting_started/step_by_step/instancing.rst:23 msgid "Once you saved a scene, it works as a blueprint: you can reproduce it in other scenes as many times as you'd like. Replicating an object from a template like this is called **instancing**." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:31 +#: ../../docs/getting_started/step_by_step/instancing.rst:29 msgid "As we mentioned in the previous part, instanced scenes behave like a node: the editor hides their content by default. When you instance the Ball, you only see the Ball node. Notice also how each duplicate has a unique name." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:35 +#: ../../docs/getting_started/step_by_step/instancing.rst:33 msgid "Every instance of the Ball scene starts with the same structure and properties as ``ball.tscn``. However, you can modify each independently, such as changing how they bounce, how heavy they are, or any property exposed by the source scene." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:41 +#: ../../docs/getting_started/step_by_step/instancing.rst:39 msgid "In practice" msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:43 +#: ../../docs/getting_started/step_by_step/instancing.rst:41 msgid "Let's use instancing in practice to see how it works in Godot. We invite you to download the ball's sample project we prepared for you: `instancing_starter.zip `_." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:47 -msgid "Extract the archive on your computer. To import it, you need the Project Manager. The Project Manager is accessed by opening Godot, or if you already have Godot opened, click on *Project -> Quit to Project List* (:kbd:`Ctrl + Shift + Q`, :kbd:`Ctrl + Option + Cmd + B` on macOS)" +#: ../../docs/getting_started/step_by_step/instancing.rst:45 +msgid "Extract the archive on your computer. To import it, you need the Project Manager. The Project Manager is accessed by opening Godot, or if you already have Godot opened, click on *Project -> Quit to Project List* (:kbd:`Ctrl + Shift + Q`, :kbd:`Ctrl + Option + Cmd + Q` on macOS)" msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:50 +#: ../../docs/getting_started/step_by_step/instancing.rst:48 msgid "In the Project Manager, click the *Import* button to import the project." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:54 +#: ../../docs/getting_started/step_by_step/instancing.rst:52 msgid "In the pop-up that appears, click the browse button and navigate to the folder you extracted." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:59 +#: ../../docs/getting_started/step_by_step/instancing.rst:57 msgid "Double-click the ``project.godot`` file to open it." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:63 +#: ../../docs/getting_started/step_by_step/instancing.rst:61 msgid "Finally, click the Import & Edit button." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:67 +#: ../../docs/getting_started/step_by_step/instancing.rst:65 msgid "The project contains two packed scenes: ``main.tscn``, containing walls against which the ball collides, and ``ball.tscn``. The Main scene should open automatically." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:73 +#: ../../docs/getting_started/step_by_step/instancing.rst:71 msgid "Let's add a ball as a child of the Main node. In the Scene dock, select the Main node. Then, click the link icon at the top of the scene dock. This button allows you to add an instance of a scene as a child of the currently selected node." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:79 +#: ../../docs/getting_started/step_by_step/instancing.rst:77 msgid "Double-click the ball scene to instance it." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:83 +#: ../../docs/getting_started/step_by_step/instancing.rst:81 msgid "The ball appears in the top-left corner of the viewport." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:87 +#: ../../docs/getting_started/step_by_step/instancing.rst:85 msgid "Click on it and drag it towards the center of the view." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:91 +#: ../../docs/getting_started/step_by_step/instancing.rst:89 msgid "Play the game by pressing :kbd:`F5` (:kbd:`Cmd + B` on macOS). You should see it fall." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:93 -msgid "Now, we want to create more instances of the Ball node. With the ball still selected, press :kbd:`Ctrl-D` (:kbd:`Cmd-D` on macOS) to call the duplicate command. Click and drag to move the new ball to a different location." +#: ../../docs/getting_started/step_by_step/instancing.rst:91 +msgid "Now, we want to create more instances of the Ball node. With the ball still selected, press :kbd:`Ctrl + D` (:kbd:`Cmd + D` on macOS) to call the duplicate command. Click and drag to move the new ball to a different location." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:99 +#: ../../docs/getting_started/step_by_step/instancing.rst:97 msgid "You can repeat this process until you have several in the scene." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:103 +#: ../../docs/getting_started/step_by_step/instancing.rst:101 msgid "Play the game again. You should now see every ball fall independently from one another. This is what instances do. Each is an independent reproduction of a template scene." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:108 +#: ../../docs/getting_started/step_by_step/instancing.rst:106 msgid "Editing scenes and instances" msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:110 +#: ../../docs/getting_started/step_by_step/instancing.rst:108 msgid "There is more to instances. With this feature, you can:" msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:112 +#: ../../docs/getting_started/step_by_step/instancing.rst:110 msgid "Change the properties of one ball without affecting the others using the Inspector." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:114 +#: ../../docs/getting_started/step_by_step/instancing.rst:112 msgid "Change the default properties of every Ball by opening the ``ball.tscn`` scene and making a change to the Ball node there. Upon saving, all instances of the Ball in the project will see their values update." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:118 +#: ../../docs/getting_started/step_by_step/instancing.rst:116 msgid "Changing a property on an instance always overrides values from the corresponding packed scene." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:121 +#: ../../docs/getting_started/step_by_step/instancing.rst:119 msgid "Let's try this. Open ``ball.tscn`` and select the Ball node. In the Inspector on the right, click on the PhysicsMaterial property to expand it." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:126 +#: ../../docs/getting_started/step_by_step/instancing.rst:124 msgid "Set its Bounce property to ``0.5`` by clicking on the number field, typing ``0.5``, and pressing :kbd:`Enter`." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:131 +#: ../../docs/getting_started/step_by_step/instancing.rst:129 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." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:135 +#: ../../docs/getting_started/step_by_step/instancing.rst:133 msgid "Let's now adjust an individual instance. Head back to the Main scene by clicking on the corresponding tab above the viewport." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:140 +#: ../../docs/getting_started/step_by_step/instancing.rst:138 msgid "Select one of the instanced Ball nodes and, in the Inspector, set its Gravity Scale value to ``10``." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:145 +#: ../../docs/getting_started/step_by_step/instancing.rst:143 msgid "A grey \"revert\" button appears next to the adjusted property." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:149 +#: ../../docs/getting_started/step_by_step/instancing.rst:147 msgid "This icon indicates you are overriding a value from the source packed scene. Even if you modify the property in the original scene, the value override will be preserved in the instance. Clicking the revert icon will restore the property to the value in the saved scene." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:154 +#: ../../docs/getting_started/step_by_step/instancing.rst:152 msgid "Rerun the game and notice how this ball now falls much faster than the others." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:156 +#: ../../docs/getting_started/step_by_step/instancing.rst:154 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." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:162 +#: ../../docs/getting_started/step_by_step/instancing.rst:160 msgid "Resources are another essential building block of Godot games we will cover in a later lesson." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:166 +#: ../../docs/getting_started/step_by_step/instancing.rst:164 msgid "Scene instances as a design language" msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:168 +#: ../../docs/getting_started/step_by_step/instancing.rst:166 msgid "Instances and scenes in Godot offer an excellent design language, setting the engine apart from others out there. We designed Godot around this concept from the ground up." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:172 +#: ../../docs/getting_started/step_by_step/instancing.rst:170 msgid "We recommend dismissing architectural code patterns when making games with Godot, such as Model-View-Controller (MVC) or Entity-Relationship diagrams. Instead, you can start by imagining the elements players will see in your game and structure your code around them." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:177 +#: ../../docs/getting_started/step_by_step/instancing.rst:175 msgid "For example, you could break down a shooter game like so:" msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:181 +#: ../../docs/getting_started/step_by_step/instancing.rst:179 msgid "You can come up with a diagram like this for almost any type of game. Each rectangle represents an entity that's visible in the game from the player's perspective. The arrows tell you which scene owns which." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:185 +#: ../../docs/getting_started/step_by_step/instancing.rst:183 msgid "Once you have a diagram, we recommend creating a scene for each element listed in it to develop your game. You'll use instancing, either by code or directly in the editor, to build your tree of scenes." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:189 +#: ../../docs/getting_started/step_by_step/instancing.rst:187 msgid "Programmers tend to spend a lot of time designing abstract architectures and trying to fit components into it. Designing based on scenes makes development faster and more straightforward, allowing you to focus on the game logic itself. Because most game components map directly to a scene, using a design based on scene instantiation means you need little other architectural code." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:195 +#: ../../docs/getting_started/step_by_step/instancing.rst:193 msgid "Here's the example of a scene diagram for an open-world game with tons of assets and nested elements:" msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:200 +#: ../../docs/getting_started/step_by_step/instancing.rst:198 msgid "Imagine we started by creating the room. We could make a couple of different room scenes, with unique arrangements of furniture in them. Later, we could make a house scene that uses multiple room instances for the interior. We would create a citadel out of many instanced houses and a large terrain on which we would place the citadel. Each of these would be a scene instancing one or more sub-scenes." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:206 +#: ../../docs/getting_started/step_by_step/instancing.rst:204 msgid "Later, we could create scenes representing guards and add them to the citadel. They would be indirectly added to the overall game world." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:209 +#: ../../docs/getting_started/step_by_step/instancing.rst:207 msgid "With Godot, it's easy to iterate on your game like this, as all you need to do is create and instantiate more scenes. We designed the editor to be accessible to programmers, designers, and artists alike. A typical team development process can involve 2D or 3D artists, level designers, game designers, and animators, all working with the Godot editor." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:216 +#: ../../docs/getting_started/step_by_step/instancing.rst:214 msgid "Summary" msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:218 -msgid "Instancing, the process of producing an object from a blueprint has many handy uses. With scenes, it gives you:" +#: ../../docs/getting_started/step_by_step/instancing.rst:216 +msgid "Instancing, the process of producing an object from a blueprint, has many handy uses. With scenes, it gives you:" msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:221 +#: ../../docs/getting_started/step_by_step/instancing.rst:219 msgid "The ability to divide your game into reusable components." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:222 +#: ../../docs/getting_started/step_by_step/instancing.rst:220 msgid "A tool to structure and encapsulate complex systems." msgstr "" -#: ../../docs/getting_started/step_by_step/instancing.rst:223 +#: ../../docs/getting_started/step_by_step/instancing.rst:221 msgid "A language to think about your game project's structure in a natural way." msgstr "" diff --git a/sphinx/templates/getting_started/step_by_step/nodes_and_scenes.pot b/sphinx/templates/getting_started/step_by_step/nodes_and_scenes.pot index 128b0bf419..c553387d4d 100644 --- a/sphinx/templates/getting_started/step_by_step/nodes_and_scenes.pot +++ b/sphinx/templates/getting_started/step_by_step/nodes_and_scenes.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+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 "You can add them to another node as a child." msgstr "" #: ../../docs/getting_started/step_by_step/nodes_and_scenes.rst:30 -msgid "The last characteristic is important. **Together, nodes form a tree**, which is a powerful feature to organize projects. Since different nodes have different functions, combining them produces more complex behavior. As we saw before, you can build a playable character the camera follows using a :ref:`CharacterBody2D ` node named \"Character\", a :ref:`Sprite2D ` node, a :ref:`Camera2D ` node, and a :ref:`CollisionShape2D ` node." +msgid "The last characteristic is important. **Together, nodes form a tree**, which is a powerful feature to organize projects. Since different nodes have different functions, combining them produces more complex behavior. As we saw before, you can build a playable character the camera follows using a :ref:`CharacterBody2D ` node, a :ref:`Sprite2D ` node, a :ref:`Camera2D ` node, and a :ref:`CollisionShape2D ` node." msgstr "" #: ../../docs/getting_started/step_by_step/nodes_and_scenes.rst:40 @@ -145,7 +145,7 @@ msgid "You will see the text draw in the viewport as you type." msgstr "" #: ../../docs/getting_started/step_by_step/nodes_and_scenes.rst:123 -msgid "You can edit any property listed in the Inspector as we did with the Text. For a complete reference of the Inspector dock, see the :ref:`doc_editor_inspector_dock`." +msgid "You can edit any property listed in the Inspector as we did with the Text. For a complete reference of the Inspector dock, see :ref:`doc_editor_inspector_dock`." msgstr "" #: ../../docs/getting_started/step_by_step/nodes_and_scenes.rst:127 @@ -165,7 +165,7 @@ msgid "Everything's ready to run the scene! Press the Play Scene button in the t msgstr "" #: ../../docs/getting_started/step_by_step/nodes_and_scenes.rst:145 -msgid "A popup invites you to save the scene, which is required to run it. Click the Save button in the file browser to save it as \"label.tscn\"." +msgid "A popup invites you to save the scene, which is required to run it. Click the Save button in the file browser to save it as ``label.tscn``." msgstr "" #: ../../docs/getting_started/step_by_step/nodes_and_scenes.rst:150 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 116331452e..ddb06cdfd6 100644 --- a/sphinx/templates/getting_started/step_by_step/scripting_first_script.pot +++ b/sphinx/templates/getting_started/step_by_step/scripting_first_script.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -16,215 +16,215 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:21 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:19 msgid "Creating your first script" msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:23 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:21 msgid "In this lesson, you will code your first script to make the Godot icon turn in circles using GDScript. As we mentioned :ref:`in the introduction `, we assume you have programming foundations. The equivalent C# code has been included in another tab for convenience." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:30 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:28 msgid "To learn more about GDScript, its keywords, and its syntax, head to the :ref:`GDScript reference`." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:33 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:31 msgid "To learn more about C#, head to the :ref:`C# basics ` page." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:36 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:34 msgid "Project setup" msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:38 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:36 msgid "Please :ref:`create a new project ` to start with a clean slate. Your project should contain one picture: the Godot icon, which we often use for prototyping in the community." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:44 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:42 msgid "We need to create a Sprite2D node to display it in the game. In the Scene dock, click the Other Node button." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:49 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:47 msgid "Type \"Sprite2D\" in the search bar to filter nodes and double-click on Sprite2D to create the node." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:54 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:52 msgid "Your Scene tab should now only have a Sprite2D node." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:58 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:56 msgid "A Sprite2D node needs a texture to display. In the Inspector on the right, you can see that the Texture property says \"[empty]\". To display the Godot icon, click and drag the file ``icon.svg`` from the FileSystem dock onto the Texture slot." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:67 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:65 msgid "You can create Sprite2D nodes automatically by dragging and dropping images on the viewport." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:72 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:68 msgid "Then, click and drag the icon in the viewport to center it in the game view." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:77 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:73 msgid "Creating a new script" msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:79 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:75 msgid "To create and attach a new script to our node, right-click on Sprite2D in the scene dock and select \"Attach Script\"." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:84 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:80 msgid "The Attach Node Script window appears. It allows you to select the script's language and file path, among other options." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:87 -msgid "Change the Template field from \"Node: Default\" to \"Object: Empty\" to start with a clean file. Leave the other options by default and click the Create button to create the script." +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:83 +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:92 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:88 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:108 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:104 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:114 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:110 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:118 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:114 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:123 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:119 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:127 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:123 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:131 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:127 msgid "Hello, world!" msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:133 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:129 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:136 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:132 msgid "Add the following code to your script:" msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:152 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:148 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:157 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:153 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:162 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:158 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:168 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:164 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:172 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:168 msgid "Turning around" msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:174 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:170 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:189 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:185 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:194 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:190 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:198 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:194 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:206 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:202 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:212 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:208 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:217 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:213 msgid "At the bottom of the script, define the function:" msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:232 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:228 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:237 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:233 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:242 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:238 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:247 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:243 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:251 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:247 msgid "Run the scene to see the Godot icon turn in-place." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:255 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:251 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:260 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:256 msgid "Moving forward" msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:262 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:258 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:279 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:275 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:283 -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 ``rotated()`` method on any ``Vector2``. 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." +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:279 +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:290 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:286 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:294 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:290 msgid "Run the scene to see the Godot head run in circles." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:298 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:294 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:302 -msgid "Our node currently moves by itself. In the next part :ref:`doc_scripting_player_input`, we'll use player input to control it." +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:298 +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:306 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:302 msgid "Complete script" msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:308 +#: ../../docs/getting_started/step_by_step/scripting_first_script.rst:304 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 3aca73b9d9..0f572fd09b 100644 --- a/sphinx/templates/getting_started/step_by_step/scripting_languages.pot +++ b/sphinx/templates/getting_started/step_by_step/scripting_languages.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -141,42 +141,42 @@ msgid "GDScript code itself doesn't execute as fast as compiled C# or C++. Howev msgstr "" #: ../../docs/getting_started/step_by_step/scripting_languages.rst:131 -msgid "Projects written in C# using Godot 4.x currently cannot be exported to Android, iOS and web platforms. To use C# on those platforms, use Godot 3 instead." +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/getting_started/step_by_step/scripting_languages.rst:136 +#: ../../docs/getting_started/step_by_step/scripting_languages.rst:137 msgid "C++ via GDExtension" msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_languages.rst:138 +#: ../../docs/getting_started/step_by_step/scripting_languages.rst:139 msgid "GDExtension allows you to write game code in C++ without needing to recompile Godot." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_languages.rst:143 +#: ../../docs/getting_started/step_by_step/scripting_languages.rst:144 msgid "You can use any version of the language or mix compiler brands and versions for the generated shared libraries, thanks to our use of an internal C API Bridge." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_languages.rst:146 +#: ../../docs/getting_started/step_by_step/scripting_languages.rst:147 msgid "GDExtension is the best choice for performance. You don't need to use it throughout an entire game, as you can write other parts in GDScript or C#." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_languages.rst:149 +#: ../../docs/getting_started/step_by_step/scripting_languages.rst:150 msgid "When working with GDExtension, the available types, functions, and properties closely resemble Godot's actual C++ API." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_languages.rst:153 +#: ../../docs/getting_started/step_by_step/scripting_languages.rst:154 msgid "Summary" msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_languages.rst:155 +#: ../../docs/getting_started/step_by_step/scripting_languages.rst:156 msgid "Scripts are files containing code that you attach to a node to extend its functionality." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_languages.rst:158 +#: ../../docs/getting_started/step_by_step/scripting_languages.rst:159 msgid "Godot supports four official scripting languages, offering you flexibility between performance and ease of use." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_languages.rst:161 +#: ../../docs/getting_started/step_by_step/scripting_languages.rst:162 msgid "You can mix languages, for instance, to implement demanding algorithms with C or C++ and write most of the game logic with GDScript or C#." msgstr "" 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 64099c76d4..9c296869e6 100644 --- a/sphinx/templates/getting_started/step_by_step/scripting_player_input.pot +++ b/sphinx/templates/getting_started/step_by_step/scripting_player_input.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -16,111 +16,111 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: ../../docs/getting_started/step_by_step/scripting_player_input.rst:10 +#: ../../docs/getting_started/step_by_step/scripting_player_input.rst:8 msgid "Listening to player input" msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_player_input.rst:12 +#: ../../docs/getting_started/step_by_step/scripting_player_input.rst:10 msgid "Building upon the previous lesson :ref:`doc_scripting_first_script`, let's look at another important feature of any game: giving control to the player. To add this, we need to modify our ``sprite_2d.gd`` code." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_player_input.rst:18 +#: ../../docs/getting_started/step_by_step/scripting_player_input.rst:16 msgid "You have two main tools to process the player's input in Godot:" msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_player_input.rst:20 +#: ../../docs/getting_started/step_by_step/scripting_player_input.rst:18 msgid "The built-in input callbacks, mainly ``_unhandled_input()``. Like ``_process()``, it's a built-in virtual function that Godot calls every time the player presses a key. It's the tool you want to use to react to events that don't happen every frame, like pressing :kbd:`Space` to jump. To learn more about input callbacks, see :ref:`doc_inputevent`." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_player_input.rst:25 +#: ../../docs/getting_started/step_by_step/scripting_player_input.rst:23 msgid "The ``Input`` singleton. A singleton is a globally accessible object. Godot provides access to several in scripts. It's the right tool to check for input every frame." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_player_input.rst:29 +#: ../../docs/getting_started/step_by_step/scripting_player_input.rst:27 msgid "We're going to use the ``Input`` singleton here as we need to know if the player wants to turn or move every frame." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_player_input.rst:32 +#: ../../docs/getting_started/step_by_step/scripting_player_input.rst:30 msgid "For turning, we should use a new variable: ``direction``. In our ``_process()`` function, replace the ``rotation += angular_speed * delta`` line with the code below." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_player_input.rst:61 +#: ../../docs/getting_started/step_by_step/scripting_player_input.rst:59 msgid "Our ``direction`` local variable is a multiplier representing the direction in which the player wants to turn. A value of ``0`` means the player isn't pressing the left or the right arrow key. A value of ``1`` means the player wants to turn right, and ``-1`` means they want to turn left." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_player_input.rst:66 +#: ../../docs/getting_started/step_by_step/scripting_player_input.rst:64 msgid "To produce these values, we introduce conditions and the use of ``Input``. A condition starts with the ``if`` keyword in GDScript and ends with a colon. The condition is the expression between the keyword and the end of the line." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_player_input.rst:70 +#: ../../docs/getting_started/step_by_step/scripting_player_input.rst:68 msgid "To check if a key was pressed this frame, we call ``Input.is_action_pressed()``. The method takes a text string representing an input action and returns ``true`` if the action is pressed, ``false`` otherwise." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_player_input.rst:74 +#: ../../docs/getting_started/step_by_step/scripting_player_input.rst:72 msgid "The two actions we use above, \"ui_left\" and \"ui_right\", are predefined in every Godot project. They respectively trigger when the player presses the left and right arrows on the keyboard or left and right on a gamepad's D-pad." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_player_input.rst:78 +#: ../../docs/getting_started/step_by_step/scripting_player_input.rst:76 msgid "You can see and edit input actions in your project by going to Project -> Project Settings and clicking on the Input Map tab." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_player_input.rst:81 +#: ../../docs/getting_started/step_by_step/scripting_player_input.rst:79 msgid "Finally, we use the ``direction`` as a multiplier when we update the node's ``rotation``: ``rotation += angular_speed * direction * delta``." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_player_input.rst:84 +#: ../../docs/getting_started/step_by_step/scripting_player_input.rst:82 msgid "If you run the scene with this code, the icon should rotate when you press :kbd:`Left` and :kbd:`Right`." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_player_input.rst:88 +#: ../../docs/getting_started/step_by_step/scripting_player_input.rst:86 msgid "Moving when pressing \"up\"" msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_player_input.rst:90 +#: ../../docs/getting_started/step_by_step/scripting_player_input.rst:88 msgid "To only move when pressing a key, we need to modify the code that calculates the velocity. Replace the line starting with ``var velocity`` with the code below." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_player_input.rst:108 +#: ../../docs/getting_started/step_by_step/scripting_player_input.rst:106 msgid "We initialize the ``velocity`` with a value of ``Vector2.ZERO``, another constant of the built-in ``Vector`` type representing a 2D vector of length 0." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_player_input.rst:111 +#: ../../docs/getting_started/step_by_step/scripting_player_input.rst:109 msgid "If the player presses the \"ui_up\" action, we then update the velocity's value, causing the sprite to move forward." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_player_input.rst:115 +#: ../../docs/getting_started/step_by_step/scripting_player_input.rst:113 msgid "Complete script" msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_player_input.rst:117 +#: ../../docs/getting_started/step_by_step/scripting_player_input.rst:115 msgid "Here is the complete ``sprite_2d.gd`` file for reference." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_player_input.rst:176 +#: ../../docs/getting_started/step_by_step/scripting_player_input.rst:174 msgid "If you run the scene, you should now be able to rotate with the left and right arrow keys and move forward by pressing :kbd:`Up`." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_player_input.rst:182 +#: ../../docs/getting_started/step_by_step/scripting_player_input.rst:180 msgid "Summary" msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_player_input.rst:184 +#: ../../docs/getting_started/step_by_step/scripting_player_input.rst:182 msgid "In summary, every script in Godot represents a class and extends one of the engine's built-in classes. The node types your classes inherit from give you access to properties like ``rotation`` and ``position`` in our sprite's case. You also inherit many functions, which we didn't get to use in this example." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_player_input.rst:189 +#: ../../docs/getting_started/step_by_step/scripting_player_input.rst:187 msgid "In GDScript, the variables you put at the top of the file are your class's properties, also called member variables. Besides variables, you can define functions, which, for the most part, will be your classes' methods." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_player_input.rst:193 +#: ../../docs/getting_started/step_by_step/scripting_player_input.rst:191 msgid "Godot provides several virtual functions you can define to connect your class with the engine. These include ``_process()``, to apply changes to the node every frame, and ``_unhandled_input()``, to receive input events like key and button presses from the users. There are quite a few more." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_player_input.rst:198 +#: ../../docs/getting_started/step_by_step/scripting_player_input.rst:196 msgid "The ``Input`` singleton allows you to react to the players' input anywhere in your code. In particular, you'll get to use it in the ``_process()`` loop." msgstr "" -#: ../../docs/getting_started/step_by_step/scripting_player_input.rst:201 +#: ../../docs/getting_started/step_by_step/scripting_player_input.rst:199 msgid "In the next lesson :ref:`doc_signals`, we'll build upon the relationship between scripts and nodes by having our nodes trigger code in scripts." msgstr "" diff --git a/sphinx/templates/getting_started/step_by_step/signals.pot b/sphinx/templates/getting_started/step_by_step/signals.pot index f56423290d..67b4436249 100644 --- a/sphinx/templates/getting_started/step_by_step/signals.pot +++ b/sphinx/templates/getting_started/step_by_step/signals.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -173,7 +173,7 @@ msgid "Let's use a different node here. Godot has a :ref:`Timer ` n msgstr "" #: ../../docs/getting_started/step_by_step/signals.rst:241 -msgid "Head back to the 2D workspace. You can either click the \"2D\" text at the top of the window or press :kbd:`Ctrl + F1` (:kbd:`Alt + 1` on macOS)." +msgid "Head back to the 2D workspace. You can either click the \"2D\" text at the top of the window or press :kbd:`Ctrl + F1` (:kbd:`Ctrl + Cmd + 1` on macOS)." msgstr "" #: ../../docs/getting_started/step_by_step/signals.rst:244 @@ -205,7 +205,7 @@ msgid "To connect to a signal via code, you need to call the ``connect()`` metho msgstr "" #: ../../docs/getting_started/step_by_step/signals.rst:268 -msgid "We want to connect the signal when the scene is instantiated, and we can do that using the :ref:`Node._ready() ` built-in function, which is called automatically by the engine when a node is fully instantiated." +msgid "We want to connect the signal when the scene is instantiated, and we can do that using the :ref:`Node._ready() ` built-in function, which is called automatically by the engine when a node is fully instantiated." msgstr "" #: ../../docs/getting_started/step_by_step/signals.rst:272 diff --git a/sphinx/templates/index.pot b/sphinx/templates/index.pot index 102fcd4b3e..0e0fb42468 100644 --- a/sphinx/templates/index.pot +++ b/sphinx/templates/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/sphinx.pot b/sphinx/templates/sphinx.pot index 6b50395354..06dfe2db27 100644 --- a/sphinx/templates/sphinx.pot +++ b/sphinx/templates/sphinx.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-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 8d8df78e2b..7c68f07692 100644 --- a/sphinx/templates/tutorials/2d/2d_antialiasing.pot +++ b/sphinx/templates/tutorials/2d/2d_antialiasing.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-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 da2c201f06..fee7a7d54f 100644 --- a/sphinx/templates/tutorials/2d/2d_lights_and_shadows.pot +++ b/sphinx/templates/tutorials/2d/2d_lights_and_shadows.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-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 8b5cb15057..86b18e0bea 100644 --- a/sphinx/templates/tutorials/2d/2d_meshes.pot +++ b/sphinx/templates/tutorials/2d/2d_meshes.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-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 09c75a8551..03088f84b3 100644 --- a/sphinx/templates/tutorials/2d/2d_movement.pot +++ b/sphinx/templates/tutorials/2d/2d_movement.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-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 f32966e15c..59ebc0f7f9 100644 --- a/sphinx/templates/tutorials/2d/2d_sprite_animation.pot +++ b/sphinx/templates/tutorials/2d/2d_sprite_animation.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-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 727bb262ed..d852371633 100644 --- a/sphinx/templates/tutorials/2d/2d_transforms.pot +++ b/sphinx/templates/tutorials/2d/2d_transforms.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-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 90b254981a..fba5242ca2 100644 --- a/sphinx/templates/tutorials/2d/canvas_layers.pot +++ b/sphinx/templates/tutorials/2d/canvas_layers.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-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 da04722092..8830db7aa2 100644 --- a/sphinx/templates/tutorials/2d/custom_drawing_in_2d.pot +++ b/sphinx/templates/tutorials/2d/custom_drawing_in_2d.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -76,147 +76,147 @@ msgstr "" msgid "Here is a little more complex example, a texture variable that will be redrawn if modified:" msgstr "" -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:110 +#: ../../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:" msgstr "" -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:143 +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:144 msgid "Coordinates" msgstr "" -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:145 +#: ../../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`." msgstr "" -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:152 +#: ../../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." msgstr "" -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:175 +#: ../../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:199 +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:200 msgid "An example: drawing circular arcs" msgstr "" -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:201 +#: ../../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:207 +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:208 msgid "Arc function" msgstr "" -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:209 +#: ../../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:214 +#: ../../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:256 +#: ../../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:260 +#: ../../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:265 +#: ../../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:271 +#: ../../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:279 +#: ../../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:289 +#: ../../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:291 +#: ../../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:318 +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:319 msgid "Result:" msgstr "" -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:323 +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:324 msgid "Arc polygon function" msgstr "" -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:325 +#: ../../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:365 +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:366 msgid "Dynamic custom drawing" msgstr "" -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:367 +#: ../../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:373 +#: ../../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:397 +#: ../../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:399 +#: ../../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:406 +#: ../../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:439 +#: ../../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:463 +#: ../../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:466 +#: ../../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:474 +#: ../../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:508 +#: ../../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:511 +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:512 msgid "Antialiased drawing" msgstr "" -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:513 +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:514 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:517 +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:518 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:523 +#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:524 msgid "Tools" msgstr "" -#: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:525 +#: ../../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." msgstr "" diff --git a/sphinx/templates/tutorials/2d/index.pot b/sphinx/templates/tutorials/2d/index.pot index 505c403e41..5937bdd2f5 100644 --- a/sphinx/templates/tutorials/2d/index.pot +++ b/sphinx/templates/tutorials/2d/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-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 50108b9043..f844e7adb4 100644 --- a/sphinx/templates/tutorials/2d/particle_systems_2d.pot +++ b/sphinx/templates/tutorials/2d/particle_systems_2d.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -69,338 +69,441 @@ msgid "Texture" msgstr "" #: ../../docs/tutorials/2d/particle_systems_2d.rst:63 -msgid "A particle system uses a single texture (in the future this might be extended to animated textures via spritesheet). The texture is set via the relevant texture property:" +msgid "A particle system can use a single texture or an animation *flipbook*. A flipbook is a texture that contains several frames of animation that can be played back, or chosen at random during emission. This is equivalent to a spritesheet for particles." msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:70 -msgid "Time parameters" -msgstr "" - -#: ../../docs/tutorials/2d/particle_systems_2d.rst:73 -msgid "Lifetime" +#: ../../docs/tutorials/2d/particle_systems_2d.rst:68 +msgid "The texture is set via the **Texture** property:" msgstr "" #: ../../docs/tutorials/2d/particle_systems_2d.rst:75 -msgid "The time in seconds that every particle will stay alive. When lifetime ends, a new particle is created to replace it." +msgid "Using an animation flipbook" msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:78 -msgid "Lifetime: 0.5" -msgstr "" - -#: ../../docs/tutorials/2d/particle_systems_2d.rst:82 -msgid "Lifetime: 4.0" +#: ../../docs/tutorials/2d/particle_systems_2d.rst:77 +msgid "Particle flipbooks are suited to reproduce complex effects such as smoke, fire, explosions. They can also be used to introduce random texture variation, by making every particle use a different texture. You can find existing particle flipbook images online, or pre-render them using external tools such as `Blender `__ or `EmberGen `__." msgstr "" #: ../../docs/tutorials/2d/particle_systems_2d.rst:87 -msgid "One Shot" +#: ../../docs/tutorials/2d/particle_systems_2d.rst:87 +msgid "Example of a particle system that uses a flipbook texture" msgstr "" #: ../../docs/tutorials/2d/particle_systems_2d.rst:89 -msgid "When enabled, a GPUParticles2D node will emit all of its particles once and then never again." +msgid "Using an animation flipbook requires additional configuration compared to a single texture. For demonstration purposes, we'll use this texture with 5 columns and 7 rows (right-click and choose **Save as…**):" msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:93 -msgid "Preprocess" +#: ../../docs/tutorials/2d/particle_systems_2d.rst:98 +msgid "Particle flipbook texture example" msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:95 -msgid "Particle systems begin with zero particles emitted, then start emitting. This can be an inconvenience when loading a scene and systems like a torch, mist, etc. begin emitting the moment you enter. Preprocess is used to let the system process a given number of seconds before it is actually drawn the first time." +#: ../../docs/tutorials/2d/particle_systems_2d.rst:98 +msgid "Credit: `JoesAlotofthings `__ (CC BY 4.0)" msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:102 -msgid "Speed Scale" +#: ../../docs/tutorials/2d/particle_systems_2d.rst:101 +msgid "To use an animation flipbook, you must create a new CanvasItemMaterial in the Material section of the GPUParticles2D (or CPUParticles2D) node:" msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:104 -msgid "The speed scale has a default value of ``1`` and is used to adjust the speed of a particle system. Lowering the value will make the particles slower while increasing the value will make the particles much faster." +#: ../../docs/tutorials/2d/particle_systems_2d.rst:108 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:108 +msgid "Creating a CanvasItemMaterial at the bottom of the particles node inspector" msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:109 -msgid "Explosiveness" +#: ../../docs/tutorials/2d/particle_systems_2d.rst:110 +msgid "In this CanvasItemMaterial, enable **Particle Animation** and set **H Frames** and **V Frames** to the number of columns and rows present in your flipbook texture:" msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:111 -msgid "If lifetime is ``1`` and there are 10 particles, it means a particle will be emitted every 0.1 seconds. The explosiveness parameter changes this, and forces particles to be emitted all together. Ranges are:" +#: ../../docs/tutorials/2d/particle_systems_2d.rst:117 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:117 +msgid "Configuring the CanvasItemMaterial for the example flipbook texture" msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:115 -msgid "0: Emit particles at regular intervals (default value)." +#: ../../docs/tutorials/2d/particle_systems_2d.rst:119 +msgid "Once this is done, the :ref:`Animation section ` in ParticleProcessMaterial (for GPUParticles2D) or in the CPUParticles2D inspector will be effective." msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:116 -msgid "1: Emit all particles simultaneously." +#: ../../docs/tutorials/2d/particle_systems_2d.rst:125 +msgid "If your flipbook texture has a black background instead of a transparent background, you will also need to set the blend mode to **Add** instead of **Mix** for correct display. Alternatively, you can modify the texture to have a transparent background in an image editor. In `GIMP `__, this can be done using the **Color > Color to Alpha** menu." msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:118 -msgid "Values in the middle are also allowed. This feature is useful for creating explosions or sudden bursts of particles:" +#: ../../docs/tutorials/2d/particle_systems_2d.rst:132 +msgid "Time parameters" msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:124 -msgid "Randomness" +#: ../../docs/tutorials/2d/particle_systems_2d.rst:135 +msgid "Lifetime" msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:126 -msgid "All physics parameters can be randomized. Random values range from ``0`` to ``1``. The formula to randomize a parameter is:" +#: ../../docs/tutorials/2d/particle_systems_2d.rst:137 +msgid "The time in seconds that every particle will stay alive. When lifetime ends, a new particle is created to replace it." msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:134 -msgid "Fixed FPS" +#: ../../docs/tutorials/2d/particle_systems_2d.rst:140 +msgid "Lifetime: 0.5" msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:136 -msgid "This setting can be used to set the particle system to render at a fixed FPS. For instance, changing the value to ``2`` will make the particles render at 2 frames per second. Note this does not slow down the particle system itself." -msgstr "" - -#: ../../docs/tutorials/2d/particle_systems_2d.rst:141 -msgid "Fract Delta" -msgstr "" - -#: ../../docs/tutorials/2d/particle_systems_2d.rst:143 -msgid "This can be used to turn Fract Delta on or off." -msgstr "" - -#: ../../docs/tutorials/2d/particle_systems_2d.rst:146 -msgid "Drawing parameters" +#: ../../docs/tutorials/2d/particle_systems_2d.rst:144 +msgid "Lifetime: 4.0" msgstr "" #: ../../docs/tutorials/2d/particle_systems_2d.rst:149 -msgid "Visibility Rect" +msgid "One Shot" msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:152 -msgid "The visibility rectangle controls the visibility of the particles on screen. If this rectangle is outside of the viewport, the engine will not render the particles on screen." +#: ../../docs/tutorials/2d/particle_systems_2d.rst:151 +msgid "When enabled, a GPUParticles2D node will emit all of its particles once and then never again." msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:154 -msgid "The rectangle's ``W`` and ``H`` properties respectively control its Width and its Height. The ``X`` and ``Y`` properties control the position of the upper-left corner of the rectangle, relative to the particle emitter." +#: ../../docs/tutorials/2d/particle_systems_2d.rst:155 +msgid "Preprocess" msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:158 -msgid "You can have Godot generate a Visibility Rect automatically using the toolbar above the 2d view. To do so, select the GPUParticles2D node and Click ``Particles > Generate Visibility Rect``. Godot will simulate the Particles2D node emitting particles for a few seconds and set the rectangle to fit the surface the particles take." +#: ../../docs/tutorials/2d/particle_systems_2d.rst:157 +msgid "Particle systems begin with zero particles emitted, then start emitting. This can be an inconvenience when loading a scene and systems like a torch, mist, etc. begin emitting the moment you enter. Preprocess is used to let the system process a given number of seconds before it is actually drawn the first time." msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:160 -msgid "You can control the emit duration with the ``Generation Time (sec)`` option. The maximum value is 25 seconds. If you need more time for your particles to move around, you can temporarily change the ``preprocess`` duration on the Particles2D node." +#: ../../docs/tutorials/2d/particle_systems_2d.rst:164 +msgid "Speed Scale" msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:163 -msgid "Local Coords" -msgstr "" - -#: ../../docs/tutorials/2d/particle_systems_2d.rst:165 -msgid "By default this option is on, and it means that the space that particles are emitted to is relative to the node. If the node is moved, all particles are moved with it:" +#: ../../docs/tutorials/2d/particle_systems_2d.rst:166 +msgid "The speed scale has a default value of ``1`` and is used to adjust the speed of a particle system. Lowering the value will make the particles slower while increasing the value will make the particles much faster." msgstr "" #: ../../docs/tutorials/2d/particle_systems_2d.rst:171 -msgid "If disabled, particles will emit to global space, meaning that if the node is moved, already emitted particles are not affected:" +msgid "Explosiveness" +msgstr "" + +#: ../../docs/tutorials/2d/particle_systems_2d.rst:173 +msgid "If lifetime is ``1`` and there are 10 particles, it means a particle will be emitted every 0.1 seconds. The explosiveness parameter changes this, and forces particles to be emitted all together. Ranges are:" msgstr "" #: ../../docs/tutorials/2d/particle_systems_2d.rst:177 -msgid "Draw Order" +msgid "0: Emit particles at regular intervals (default value)." msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:179 -msgid "This controls the order in which individual particles are drawn. ``Index`` means particles are drawn according to their emission order (default). ``Lifetime`` means they are drawn in order of remaining lifetime." +#: ../../docs/tutorials/2d/particle_systems_2d.rst:178 +msgid "1: Emit all particles simultaneously." msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:184 -msgid "ParticleProcessMaterial settings" +#: ../../docs/tutorials/2d/particle_systems_2d.rst:180 +msgid "Values in the middle are also allowed. This feature is useful for creating explosions or sudden bursts of particles:" msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:187 -msgid "Direction" +#: ../../docs/tutorials/2d/particle_systems_2d.rst:186 +msgid "Randomness" msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:189 -msgid "This is the base direction at which particles emit. The default is ``Vector3(1, 0, 0)`` which makes particles emit to the right. However, with the default gravity settings, particles will go straight down." +#: ../../docs/tutorials/2d/particle_systems_2d.rst:188 +msgid "All physics parameters can be randomized. Random values range from ``0`` to ``1``. The formula to randomize a parameter is:" msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:195 -msgid "For this property to be noticeable, you need an *initial velocity* greater than 0. Here, we set the initial velocity to 40. You'll notice that particles emit toward the right, then go down because of gravity." +#: ../../docs/tutorials/2d/particle_systems_2d.rst:196 +msgid "Fixed FPS" msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:202 -msgid "Spread" +#: ../../docs/tutorials/2d/particle_systems_2d.rst:198 +msgid "This setting can be used to set the particle system to render at a fixed FPS. For instance, changing the value to ``2`` will make the particles render at 2 frames per second. Note this does not slow down the particle system itself." msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:204 -msgid "This parameter is the angle in degrees which will be randomly added in either direction to the base ``Direction``. A spread of ``180`` will emit in all directions (+/- 180). For spread to do anything the \"Initial Velocity\" parameter must be greater than 0." +#: ../../docs/tutorials/2d/particle_systems_2d.rst:203 +msgid "Fract Delta" msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:212 -msgid "Flatness" +#: ../../docs/tutorials/2d/particle_systems_2d.rst:205 +msgid "This can be used to turn Fract Delta on or off." +msgstr "" + +#: ../../docs/tutorials/2d/particle_systems_2d.rst:208 +msgid "Drawing parameters" +msgstr "" + +#: ../../docs/tutorials/2d/particle_systems_2d.rst:211 +msgid "Visibility Rect" msgstr "" #: ../../docs/tutorials/2d/particle_systems_2d.rst:214 -msgid "This property is only useful for 3D particles." +msgid "The visibility rectangle controls the visibility of the particles on screen. If this rectangle is outside of the viewport, the engine will not render the particles on screen." msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:217 -msgid "Gravity" +#: ../../docs/tutorials/2d/particle_systems_2d.rst:216 +msgid "The rectangle's ``W`` and ``H`` properties respectively control its Width and its Height. The ``X`` and ``Y`` properties control the position of the upper-left corner of the rectangle, relative to the particle emitter." msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:219 -msgid "The gravity applied to every particle." +#: ../../docs/tutorials/2d/particle_systems_2d.rst:220 +msgid "You can have Godot generate a Visibility Rect automatically using the toolbar above the 2d view. To do so, select the GPUParticles2D node and Click ``Particles > Generate Visibility Rect``. Godot will simulate the Particles2D node emitting particles for a few seconds and set the rectangle to fit the surface the particles take." msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:224 -msgid "Initial Velocity" +#: ../../docs/tutorials/2d/particle_systems_2d.rst:222 +msgid "You can control the emit duration with the ``Generation Time (sec)`` option. The maximum value is 25 seconds. If you need more time for your particles to move around, you can temporarily change the ``preprocess`` duration on the Particles2D node." msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:226 -msgid "Initial velocity is the speed at which particles will be emitted (in pixels/sec). Speed might later be modified by gravity or other accelerations (as described further below)." +#: ../../docs/tutorials/2d/particle_systems_2d.rst:225 +msgid "Local Coords" +msgstr "" + +#: ../../docs/tutorials/2d/particle_systems_2d.rst:227 +msgid "By default this option is on, and it means that the space that particles are emitted to is relative to the node. If the node is moved, all particles are moved with it:" msgstr "" #: ../../docs/tutorials/2d/particle_systems_2d.rst:233 -msgid "Angular Velocity" +msgid "If disabled, particles will emit to global space, meaning that if the node is moved, already emitted particles are not affected:" msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:235 -msgid "Angular velocity is the initial angular velocity applied to particles." +#: ../../docs/tutorials/2d/particle_systems_2d.rst:239 +msgid "Draw Order" msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:238 -msgid "Spin Velocity" -msgstr "" - -#: ../../docs/tutorials/2d/particle_systems_2d.rst:240 -msgid "Spin velocity is the speed at which particles turn around their center (in degrees/sec)." +#: ../../docs/tutorials/2d/particle_systems_2d.rst:241 +msgid "This controls the order in which individual particles are drawn. ``Index`` means particles are drawn according to their emission order (default). ``Lifetime`` means they are drawn in order of remaining lifetime." msgstr "" #: ../../docs/tutorials/2d/particle_systems_2d.rst:246 -msgid "Orbit Velocity" +msgid "ParticleProcessMaterial settings" msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:248 -msgid "Orbit velocity is used to make particles turn around their center." +#: ../../docs/tutorials/2d/particle_systems_2d.rst:249 +msgid "Direction" msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:253 -msgid "Linear Acceleration" +#: ../../docs/tutorials/2d/particle_systems_2d.rst:251 +msgid "This is the base direction at which particles emit. The default is ``Vector3(1, 0, 0)`` which makes particles emit to the right. However, with the default gravity settings, particles will go straight down." msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:255 -msgid "The linear acceleration applied to each particle." +#: ../../docs/tutorials/2d/particle_systems_2d.rst:257 +msgid "For this property to be noticeable, you need an *initial velocity* greater than 0. Here, we set the initial velocity to 40. You'll notice that particles emit toward the right, then go down because of gravity." msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:258 -msgid "Radial Acceleration" -msgstr "" - -#: ../../docs/tutorials/2d/particle_systems_2d.rst:260 -msgid "If this acceleration is positive, particles are accelerated away from the center. If negative, they are absorbed towards it." +#: ../../docs/tutorials/2d/particle_systems_2d.rst:264 +msgid "Spread" msgstr "" #: ../../docs/tutorials/2d/particle_systems_2d.rst:266 -msgid "Tangential Acceleration" -msgstr "" - -#: ../../docs/tutorials/2d/particle_systems_2d.rst:268 -msgid "This acceleration will use the tangent vector to the center. Combining with radial acceleration can do nice effects." +msgid "This parameter is the angle in degrees which will be randomly added in either direction to the base ``Direction``. A spread of ``180`` will emit in all directions (+/- 180). For spread to do anything the \"Initial Velocity\" parameter must be greater than 0." msgstr "" #: ../../docs/tutorials/2d/particle_systems_2d.rst:274 -msgid "Damping" +msgid "Flatness" msgstr "" #: ../../docs/tutorials/2d/particle_systems_2d.rst:276 -msgid "Damping applies friction to the particles, forcing them to stop. It is especially useful for sparks or explosions, which usually begin with a high linear velocity and then stop as they fade." +msgid "This property is only useful for 3D particles." msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:283 -msgid "Angle" +#: ../../docs/tutorials/2d/particle_systems_2d.rst:279 +msgid "Gravity" msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:285 -msgid "Determines the initial angle of the particle (in degrees). This parameter is mostly useful randomized." +#: ../../docs/tutorials/2d/particle_systems_2d.rst:281 +msgid "The gravity applied to every particle." msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:291 -msgid "Scale" +#: ../../docs/tutorials/2d/particle_systems_2d.rst:286 +msgid "Initial Velocity" msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:293 -msgid "Determines the initial scale of the particles." +#: ../../docs/tutorials/2d/particle_systems_2d.rst:288 +msgid "Initial velocity is the speed at which particles will be emitted (in pixels/sec). Speed might later be modified by gravity or other accelerations (as described further below)." msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:298 -msgid "Color" +#: ../../docs/tutorials/2d/particle_systems_2d.rst:295 +msgid "Angular Velocity" +msgstr "" + +#: ../../docs/tutorials/2d/particle_systems_2d.rst:297 +msgid "Angular velocity is the initial angular velocity applied to particles." msgstr "" #: ../../docs/tutorials/2d/particle_systems_2d.rst:300 -msgid "Used to change the color of the particles being emitted." +msgid "Spin Velocity" msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:303 -msgid "Hue variation" +#: ../../docs/tutorials/2d/particle_systems_2d.rst:302 +msgid "Spin velocity is the speed at which particles turn around their center (in degrees/sec)." msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:305 -msgid "The ``Variation`` value sets the initial hue variation applied to each particle. The ``Variation Random`` value controls the hue variation randomness ratio." +#: ../../docs/tutorials/2d/particle_systems_2d.rst:308 +msgid "Orbit Velocity" msgstr "" #: ../../docs/tutorials/2d/particle_systems_2d.rst:310 -msgid "Emission Shapes" +msgid "Orbit velocity is used to make particles turn around their center." msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:312 -msgid "ParticleProcessMaterials allow you to set an Emission Mask, which dictates the area and direction in which particles are emitted. These can be generated from textures in your project." +#: ../../docs/tutorials/2d/particle_systems_2d.rst:315 +msgid "Linear Acceleration" msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:316 -msgid "Ensure that a ParticleProcessMaterial is set, and the GPUParticles2D node is selected. A \"Particles\" menu should appear in the Toolbar:" +#: ../../docs/tutorials/2d/particle_systems_2d.rst:317 +msgid "The linear acceleration applied to each particle." msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:321 -msgid "Open it and select \"Load Emission Mask\":" +#: ../../docs/tutorials/2d/particle_systems_2d.rst:320 +msgid "Radial Acceleration" msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:325 -msgid "Then select which texture you want to use as your mask:" +#: ../../docs/tutorials/2d/particle_systems_2d.rst:322 +msgid "If this acceleration is positive, particles are accelerated away from the center. If negative, they are absorbed towards it." msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:329 -msgid "A dialog box with several settings will appear." +#: ../../docs/tutorials/2d/particle_systems_2d.rst:328 +msgid "Tangential Acceleration" msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:332 -msgid "Emission Mask" -msgstr "" - -#: ../../docs/tutorials/2d/particle_systems_2d.rst:334 -msgid "Three types of emission masks can be generated from a texture:" +#: ../../docs/tutorials/2d/particle_systems_2d.rst:330 +msgid "This acceleration will use the tangent vector to the center. Combining with radial acceleration can do nice effects." msgstr "" #: ../../docs/tutorials/2d/particle_systems_2d.rst:336 -msgid "Solid Pixels: Particles will spawn from any area of the texture, excluding transparent areas." +msgid "Damping" msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:341 -msgid "Border Pixels: Particles will spawn from the outer edges of the texture." +#: ../../docs/tutorials/2d/particle_systems_2d.rst:338 +msgid "Damping applies friction to the particles, forcing them to stop. It is especially useful for sparks or explosions, which usually begin with a high linear velocity and then stop as they fade." msgstr "" #: ../../docs/tutorials/2d/particle_systems_2d.rst:345 -msgid "Directed Border Pixels: Similar to Border Pixels, but adds extra information to the mask to give particles the ability to emit away from the borders. Note that an ``Initial Velocity`` will need to be set in order to utilize this." +msgid "Angle" +msgstr "" + +#: ../../docs/tutorials/2d/particle_systems_2d.rst:347 +msgid "Determines the initial angle of the particle (in degrees). This parameter is mostly useful randomized." msgstr "" #: ../../docs/tutorials/2d/particle_systems_2d.rst:353 -msgid "Emission Colors" +msgid "Scale" msgstr "" #: ../../docs/tutorials/2d/particle_systems_2d.rst:355 +msgid "Determines the initial scale of the particles." +msgstr "" + +#: ../../docs/tutorials/2d/particle_systems_2d.rst:360 +msgid "Color" +msgstr "" + +#: ../../docs/tutorials/2d/particle_systems_2d.rst:362 +msgid "Used to change the color of the particles being emitted." +msgstr "" + +#: ../../docs/tutorials/2d/particle_systems_2d.rst:365 +msgid "Hue Variation" +msgstr "" + +#: ../../docs/tutorials/2d/particle_systems_2d.rst:367 +msgid "The ``Variation`` value sets the initial hue variation applied to each particle. The ``Variation Random`` value controls the hue variation randomness ratio." +msgstr "" + +#: ../../docs/tutorials/2d/particle_systems_2d.rst:374 +msgid "Animation" +msgstr "" + +#: ../../docs/tutorials/2d/particle_systems_2d.rst:378 +msgid "Particle flipbook animation is only effective if the CanvasItemMaterial used on the GPUParticles2D or CPUParticles2D node has been :ref:`configured accordingly `." +msgstr "" + +#: ../../docs/tutorials/2d/particle_systems_2d.rst:382 +msgid "To set up the particle flipbook for linear playback, set the **Speed Min** and **Speed Max** values to 1:" +msgstr "" + +#: ../../docs/tutorials/2d/particle_systems_2d.rst:388 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:388 +msgid "Setting up particle animation for playback during the particle's lifetime" +msgstr "" + +#: ../../docs/tutorials/2d/particle_systems_2d.rst:390 +msgid "By default, looping is disabled. If the particle is done playing before its lifetime ends, the particle will keep using the flipbook's last frame (which may be fully transparent depending on how the flipbook texture is designed). If looping is enabled, the animation will loop back to the first frame and resume playing." +msgstr "" + +#: ../../docs/tutorials/2d/particle_systems_2d.rst:396 +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 relationship between particle lifetime, animation speed, and number of images in the sprite sheet is this:" +msgstr "" + +#: ../../docs/tutorials/2d/particle_systems_2d.rst:403 +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 +msgid "Animation\\ FPS = \\frac{Number\\ of\\ images}{Lifetime}\n" +"\n" +"" +msgstr "" + +#: ../../docs/tutorials/2d/particle_systems_2d.rst:409 +msgid "If you wish the particle flipbook to be used as a source of random particle textures for every particle, keep the speed values at 0 and set **Offset Max** to 1 instead:" +msgstr "" + +#: ../../docs/tutorials/2d/particle_systems_2d.rst:417 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:417 +msgid "Setting up particle animation for random offset on emission" +msgstr "" + +#: ../../docs/tutorials/2d/particle_systems_2d.rst:419 +msgid "Note that the GPUParticles2D 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/2d/particle_systems_2d.rst:426 +msgid "Emission Shapes" +msgstr "" + +#: ../../docs/tutorials/2d/particle_systems_2d.rst:428 +msgid "ParticleProcessMaterials allow you to set an Emission Mask, which dictates the area and direction in which particles are emitted. These can be generated from textures in your project." +msgstr "" + +#: ../../docs/tutorials/2d/particle_systems_2d.rst:432 +msgid "Ensure that a ParticleProcessMaterial is set, and the GPUParticles2D node is selected. A \"Particles\" menu should appear in the Toolbar:" +msgstr "" + +#: ../../docs/tutorials/2d/particle_systems_2d.rst:437 +msgid "Open it and select \"Load Emission Mask\":" +msgstr "" + +#: ../../docs/tutorials/2d/particle_systems_2d.rst:441 +msgid "Then select which texture you want to use as your mask:" +msgstr "" + +#: ../../docs/tutorials/2d/particle_systems_2d.rst:445 +msgid "A dialog box with several settings will appear." +msgstr "" + +#: ../../docs/tutorials/2d/particle_systems_2d.rst:448 +msgid "Emission Mask" +msgstr "" + +#: ../../docs/tutorials/2d/particle_systems_2d.rst:450 +msgid "Three types of emission masks can be generated from a texture:" +msgstr "" + +#: ../../docs/tutorials/2d/particle_systems_2d.rst:452 +msgid "Solid Pixels: Particles will spawn from any area of the texture, excluding transparent areas." +msgstr "" + +#: ../../docs/tutorials/2d/particle_systems_2d.rst:457 +msgid "Border Pixels: Particles will spawn from the outer edges of the texture." +msgstr "" + +#: ../../docs/tutorials/2d/particle_systems_2d.rst:461 +msgid "Directed Border Pixels: Similar to Border Pixels, but adds extra information to the mask to give particles the ability to emit away from the borders. Note that an ``Initial Velocity`` will need to be set in order to utilize this." +msgstr "" + +#: ../../docs/tutorials/2d/particle_systems_2d.rst:469 +msgid "Emission Colors" +msgstr "" + +#: ../../docs/tutorials/2d/particle_systems_2d.rst:471 msgid "``Capture from Pixel`` will cause the particles to inherit the color of the mask at their spawn points." msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:357 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:473 msgid "Once you click \"OK\", the mask will be generated and set to the ParticleProcessMaterial, under the ``Emission Shape`` section:" msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:361 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:477 msgid "All of the values within this section have been automatically generated by the \"Load Emission Mask\" menu, so they should generally be left alone." msgstr "" -#: ../../docs/tutorials/2d/particle_systems_2d.rst:364 +#: ../../docs/tutorials/2d/particle_systems_2d.rst:480 msgid "An image should not be added to ``Point Texture`` or ``Color Texture`` directly. The \"Load Emission Mask\" menu should always be used instead." msgstr "" diff --git a/sphinx/templates/tutorials/2d/using_tilemaps.pot b/sphinx/templates/tutorials/2d/using_tilemaps.pot index d257419bd0..2059d2177a 100644 --- a/sphinx/templates/tutorials/2d/using_tilemaps.pot +++ b/sphinx/templates/tutorials/2d/using_tilemaps.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -32,465 +32,457 @@ msgstr "" msgid "A tilemap is a grid of tiles used to create a game's layout. There are several benefits to using :ref:`TileMap ` nodes to design your levels. First, they make it possible to draw the layout by \"painting\" the tiles onto a grid, which is much faster than placing individual :ref:`Sprite2D ` nodes one by one. Second, they allow for much larger levels because they are optimized for drawing large numbers of tiles. Finally, you can add collision, occlusion, and navigation shapes to tiles, adding greater functionality to the TileMap." msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:26 -msgid "Godot 4.0 has moved several per-tile properties, such as tile rotation, from TileMap to TileSet. Individual tiles can no longer be rotated while in the TileMap editor. Instead, the TileSet editor must be used to create alternative rotated tiles." -msgstr "" - -#: ../../docs/tutorials/2d/using_tilemaps.rst:31 -msgid "This change allows for greater design consistency, as not every tile needs to be rotated or flipped within a TileSet." -msgstr "" - -#: ../../docs/tutorials/2d/using_tilemaps.rst:35 +#: ../../docs/tutorials/2d/using_tilemaps.rst:25 msgid "Specifying the TileSet in the TileMap" msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:37 +#: ../../docs/tutorials/2d/using_tilemaps.rst:27 msgid "If you've followed the previous page on :ref:`doc_using_tilesets`, you should have a TileSet resource that is built-in to the TileMap node. This is good for prototyping, but in a real world project, you will generally have multiple levels reusing the same tileset." msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:42 +#: ../../docs/tutorials/2d/using_tilemaps.rst:32 msgid "The recommended way to reuse the same TileSet in several TileMap nodes is to save the TileSet to an external resource. To do so, click the dropdown next to the TileSet resource and choose **Save**:" msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:50 -#: ../../docs/tutorials/2d/using_tilemaps.rst:50 +#: ../../docs/tutorials/2d/using_tilemaps.rst:40 +#: ../../docs/tutorials/2d/using_tilemaps.rst:40 msgid "Saving the built-in TileSet resource to an external resource file" msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:53 +#: ../../docs/tutorials/2d/using_tilemaps.rst:43 msgid "Creating TileMap layers" msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:55 +#: ../../docs/tutorials/2d/using_tilemaps.rst:45 msgid "As of Godot 4.0, you can place several *layers* in a single TileMap node. For example, this allows you to distinguish foreground tiles from background tiles for better organization. You can place one tile per layer at a given location, which allows you to overlap several tiles together if you have more than one layer." msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:60 +#: ../../docs/tutorials/2d/using_tilemaps.rst:50 msgid "By default, a TileMap node automatically has one premade layer. You do not have to create additional layers if you only need a single layer, but if you wish to do so now, select the TileMap node and unfold the **Layers** section in the inspector:" msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:69 -#: ../../docs/tutorials/2d/using_tilemaps.rst:69 +#: ../../docs/tutorials/2d/using_tilemaps.rst:59 +#: ../../docs/tutorials/2d/using_tilemaps.rst:59 msgid "Creating layers in a TileMap node (example with \"background\" and \"foreground\")" msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:71 +#: ../../docs/tutorials/2d/using_tilemaps.rst:61 msgid "Each layer has several properties you can adjust:" msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:73 +#: ../../docs/tutorials/2d/using_tilemaps.rst:63 msgid "**Name:** A human-readable name to display in the TileMap editor. This can be something like \"background\", \"buildings\", \"vegetation\", etc." msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:75 +#: ../../docs/tutorials/2d/using_tilemaps.rst:65 msgid "**Enabled:** If ``true``, the layer is visible in the editor and when running the project." msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:77 +#: ../../docs/tutorials/2d/using_tilemaps.rst:67 msgid "**Modulate:** The color to use as a multiplier for all tiles on the layer. This is also multiplied with the per-tile **Modulate** property and the TileMap node's **Modulate** property. For example, you can use this to darken background tiles to make foreground tiles stand out more." msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:81 +#: ../../docs/tutorials/2d/using_tilemaps.rst:71 msgid "**Y Sort Enabled:** If ``true``, sorts tiles based on their Y position on the TileMap. This can be used to prevent sorting issues with certain tile setups, especially with isometric tiles." msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:84 +#: ../../docs/tutorials/2d/using_tilemaps.rst:74 msgid "**Y Sort Origin:** The vertical offset to use for Y-sorting on each tile (in pixels). Only effective if **Y Sort Enabled** is ``true``." msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:86 +#: ../../docs/tutorials/2d/using_tilemaps.rst:76 msgid "**Z Index:** Controls whether this layer is drawn in front of or behind other TileMap layers. This value can be positive or negative; the layer with the highest Z Index is drawn on top of other layers. If several layers have an equal Z Index property, the layer that is *last* in the list of layers (the one which appears at the bottom in the list) is drawn on top." msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:92 +#: ../../docs/tutorials/2d/using_tilemaps.rst:82 msgid "You can reorder layers by drag-and-dropping the \"three horizontal bars\" icon on the left of the entries in the **Layers** section." msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:97 +#: ../../docs/tutorials/2d/using_tilemaps.rst:87 msgid "You can create, rename or reorder layers in the future without affecting existing tiles. Be careful though, as *removing* a layer will also remove all tiles that were placed on the layer." msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:102 +#: ../../docs/tutorials/2d/using_tilemaps.rst:92 msgid "Opening the TileMap editor" msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:104 +#: ../../docs/tutorials/2d/using_tilemaps.rst:94 msgid "Select the TileMap node, then open the TileMap panel at the bottom of the editor:" msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:111 -#: ../../docs/tutorials/2d/using_tilemaps.rst:111 +#: ../../docs/tutorials/2d/using_tilemaps.rst:101 +#: ../../docs/tutorials/2d/using_tilemaps.rst:101 msgid "Opening the TileMap panel at the bottom of the editor. The TileMap node must be selected first." msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:114 +#: ../../docs/tutorials/2d/using_tilemaps.rst:104 msgid "Selecting tiles to use for painting" msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:116 +#: ../../docs/tutorials/2d/using_tilemaps.rst:106 msgid "First, if you've created additional layers above, make sure you've selected the layer you wish to paint on:" msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:123 -#: ../../docs/tutorials/2d/using_tilemaps.rst:123 +#: ../../docs/tutorials/2d/using_tilemaps.rst:113 +#: ../../docs/tutorials/2d/using_tilemaps.rst:113 msgid "Selecting a layer to paint on in the TileMap editor" msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:127 +#: ../../docs/tutorials/2d/using_tilemaps.rst:117 msgid "In the 2D editor, the layers you aren't currently editing from the same TileMap node will appear grayed out while in the TileMap editor. You can disable this behavior by clicking the icon next to the layer selection menu (**Highlight Selected TileMap Layer** tooltip)." msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:132 +#: ../../docs/tutorials/2d/using_tilemaps.rst:122 msgid "You can skip the above step if you haven't created additional layers, as the first layer is automatically selected when entering the TileMap editor." msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:135 +#: ../../docs/tutorials/2d/using_tilemaps.rst:125 msgid "Before you can place tiles in the 2D editor, you must select one or more tiles in the TileMap panel located at the bottom of the editor. To do so, click a tile in the TileMap panel, or hold down the mouse button to select multiple tiles:" msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:143 -#: ../../docs/tutorials/2d/using_tilemaps.rst:143 +#: ../../docs/tutorials/2d/using_tilemaps.rst:133 +#: ../../docs/tutorials/2d/using_tilemaps.rst:133 msgid "Selecting a tile in the TileMap editor by clicking it" msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:147 +#: ../../docs/tutorials/2d/using_tilemaps.rst:137 msgid "Like in the 2D and TileSet editors, you can pan across the TileMap panel using the middle or right mouse buttons, and zoom using the mouse wheel or buttons in the top-left corner." msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:151 +#: ../../docs/tutorials/2d/using_tilemaps.rst:141 msgid "You can also hold down :kbd:`Shift` to append to the current selection. When selecting more than one tile, multiple tiles will be placed every time you perform a painting operation. This can be used to paint structures composed of multiple tiles in a single click (such as large platforms or trees)." msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:156 +#: ../../docs/tutorials/2d/using_tilemaps.rst:146 msgid "The final selection does not have to be contiguous: if there is empty space between selected tiles, it will be left empty in the pattern that will be painted in the 2D editor." msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:164 -#: ../../docs/tutorials/2d/using_tilemaps.rst:164 +#: ../../docs/tutorials/2d/using_tilemaps.rst:154 +#: ../../docs/tutorials/2d/using_tilemaps.rst:154 msgid "Selecting multiple tiles in the TileMap editor by holding down the left mouse button" msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:166 +#: ../../docs/tutorials/2d/using_tilemaps.rst:156 msgid "If you've created alternative tiles in your TileSet, you can select them for painting on the right of the base tiles:" msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:173 -#: ../../docs/tutorials/2d/using_tilemaps.rst:173 +#: ../../docs/tutorials/2d/using_tilemaps.rst:163 +#: ../../docs/tutorials/2d/using_tilemaps.rst:163 msgid "Selecting an alternative tile in the TileMap editor" msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:175 +#: ../../docs/tutorials/2d/using_tilemaps.rst:165 msgid "Lastly, if you've created a *scenes collection* in the TileSet, you can place scene tiles in the TileMap:" msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:181 -#: ../../docs/tutorials/2d/using_tilemaps.rst:181 +#: ../../docs/tutorials/2d/using_tilemaps.rst:171 +#: ../../docs/tutorials/2d/using_tilemaps.rst:171 msgid "Placing a scene tile containing particles using the TileMap editor" msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:184 +#: ../../docs/tutorials/2d/using_tilemaps.rst:174 msgid "Painting modes and tools" msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:186 +#: ../../docs/tutorials/2d/using_tilemaps.rst:176 msgid "Using the toolbar at the top of the TileMap editor, you can choose between several painting modes and tools. These modes affect operation when clicking in the 2D editor, **not** the TileMap panel itself." msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:190 +#: ../../docs/tutorials/2d/using_tilemaps.rst:180 msgid "From left to right, the painting modes and tools you can choose are:" msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:193 +#: ../../docs/tutorials/2d/using_tilemaps.rst:183 msgid "Selection" msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:195 +#: ../../docs/tutorials/2d/using_tilemaps.rst:185 msgid "Select tiles by clicking a single tile, or by holding down the left mouse button to select multiple with a rectangle in the 2D editor. Note that empty space cannot be selected: if you create a rectangle selection, only non-empty tiles will be selected." msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:199 +#: ../../docs/tutorials/2d/using_tilemaps.rst:189 msgid "To append to the current selection, hold :kbd:`Shift` then select a tile. To remove from the current selection, hold :kbd:`Ctrl` then select a tile." msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:202 +#: ../../docs/tutorials/2d/using_tilemaps.rst:192 msgid "The selection can then be used in any other painting mode to quickly create copies of an already-placed pattern." msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:205 -msgid "While in Selection mode, you can't place new tiles, but you can still erase tiles by right-clicking after making a selection. The whole selection will be erased, regardless of where you click in the selection." +#: ../../docs/tutorials/2d/using_tilemaps.rst:195 +msgid "You can remove the selected tiles from the TileMap by pressing :kbd:`Del`." msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:209 +#: ../../docs/tutorials/2d/using_tilemaps.rst:197 msgid "You can toggle this mode temporarily while in Paint mode by holding :kbd:`Ctrl` then performing a selection." msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:214 +#: ../../docs/tutorials/2d/using_tilemaps.rst:202 msgid "You can copy and paste tiles that were already placed by performing a selection, pressing :kbd:`Ctrl + C` then pressing :kbd:`Ctrl + V`. The selection will be pasted after left-clicking. You can press :kbd:`Ctrl + V` another time to perform more copies this way. Right-click or press :kbd:`Escape` to cancel pasting." msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:221 +#: ../../docs/tutorials/2d/using_tilemaps.rst:209 msgid "Paint" msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:223 +#: ../../docs/tutorials/2d/using_tilemaps.rst:211 msgid "The standard Paint mode allows you to place tiles by clicking or holding down the left mouse button." msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:226 +#: ../../docs/tutorials/2d/using_tilemaps.rst:214 msgid "If you right-click, the currently selected tile will be erased from the tilemap. In other words, it will be replaced by empty space." msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:229 +#: ../../docs/tutorials/2d/using_tilemaps.rst:217 msgid "If you have selected multiple tiles in the TileMap or using the Selection tool, they will be placed every time you click or drag the mouse while holding down the left mouse button." msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:235 +#: ../../docs/tutorials/2d/using_tilemaps.rst:223 msgid "While in Paint mode, you can draw a line by holding :kbd:`Shift` *before* holding down the left mouse button, then dragging the mouse to the line's end point. This is identical to using the Line tool described below." msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:239 +#: ../../docs/tutorials/2d/using_tilemaps.rst:227 msgid "You can also draw a rectangle by holding :kbd:`Ctrl` and :kbd:`Shift` *before* holding down the left mouse button, then dragging the mouse to the rectangle's end point. This is identical to using the Rectangle tool described below." msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:244 +#: ../../docs/tutorials/2d/using_tilemaps.rst:232 msgid "Lastly, you can pick existing tiles in the 2D editor by holding :kbd:`Ctrl` then clicking on a tile (or holding and dragging the mouse). This will switch the currently painted tile(s) to the tile(s) you've just clicked. This is identical to using the Picker tool described below." msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:250 +#: ../../docs/tutorials/2d/using_tilemaps.rst:238 msgid "Line" msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:252 +#: ../../docs/tutorials/2d/using_tilemaps.rst:240 msgid "After selecting Line Paint mode, you can draw in a line that is always 1 tile thick (no matter its orientation)." msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:255 +#: ../../docs/tutorials/2d/using_tilemaps.rst:243 msgid "If you right-click while in Line Paint mode, you will erase in a line." msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:257 +#: ../../docs/tutorials/2d/using_tilemaps.rst:245 msgid "If you have selected multiple tiles in the TileMap or using the Selection tool, you can place them in a repeating pattern across the line." msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:260 +#: ../../docs/tutorials/2d/using_tilemaps.rst:248 msgid "You can toggle this mode temporarily while in Paint or Eraser mode by holding :kbd:`Shift` then drawing." msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:267 -#: ../../docs/tutorials/2d/using_tilemaps.rst:267 +#: ../../docs/tutorials/2d/using_tilemaps.rst:255 +#: ../../docs/tutorials/2d/using_tilemaps.rst:255 msgid "Using the line tool after selecting two tiles to draw platforms diagonally" msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:270 +#: ../../docs/tutorials/2d/using_tilemaps.rst:258 msgid "Rectangle" msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:272 +#: ../../docs/tutorials/2d/using_tilemaps.rst:260 msgid "After selecting Rectangle Paint mode, you can draw in an axis-aligned rectangle." msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:275 +#: ../../docs/tutorials/2d/using_tilemaps.rst:263 msgid "If you right-click while in Rectangle Paint mode, you will erase in an axis-aligned rectangle." msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:278 +#: ../../docs/tutorials/2d/using_tilemaps.rst:266 msgid "If you have selected multiple tiles in the TileMap or using the Selection tool, you can place them in a repeating pattern within the rectangle." msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:281 +#: ../../docs/tutorials/2d/using_tilemaps.rst:269 msgid "You can toggle this mode temporarily while in Paint or Eraser mode by holding :kbd:`Ctrl` and :kbd:`Shift` then drawing." msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:285 +#: ../../docs/tutorials/2d/using_tilemaps.rst:273 msgid "Bucket Fill" msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:287 +#: ../../docs/tutorials/2d/using_tilemaps.rst:275 msgid "After selecting Bucket Fill mode, you can choose whether painting should be limited to contiguous areas only by toggling the **Contiguous** checkbox that appears on the right of the toolbar." msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:291 +#: ../../docs/tutorials/2d/using_tilemaps.rst:279 msgid "If you enable **Contiguous** (the default), only matching tiles that touch the current selection will be replaced. This contiguous check is performed horizontally and vertically, but *not* diagonally." msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:295 +#: ../../docs/tutorials/2d/using_tilemaps.rst:283 msgid "If you disable **Contiguous**, all tiles with the same ID in the entire TileMap will be replaced by the currently selected tile. If selecting an empty tile with **Contiguous** unchecked, all tiles in the rectangle that encompasses the TileMap's effective area will be replaced instead." msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:300 +#: ../../docs/tutorials/2d/using_tilemaps.rst:288 msgid "If you right-click while in Bucket Fill mode, you will replace matching tiles with empty tiles." msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:303 +#: ../../docs/tutorials/2d/using_tilemaps.rst:291 msgid "If you have selected multiple tiles in the TileMap or using the Selection tool, you can place them in a repeating pattern within the filled area." msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:310 -#: ../../docs/tutorials/2d/using_tilemaps.rst:310 +#: ../../docs/tutorials/2d/using_tilemaps.rst:298 +#: ../../docs/tutorials/2d/using_tilemaps.rst:298 msgid "Using the Bucket Fill tool" msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:313 +#: ../../docs/tutorials/2d/using_tilemaps.rst:301 msgid "Picker" msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:315 +#: ../../docs/tutorials/2d/using_tilemaps.rst:303 msgid "After selecting Picker mode, you can pick existing tiles in the 2D editor by holding :kbd:`Ctrl` then clicking on a tile. This will switch the currently painted tile to the tile you've just clicked. You can also pick multiple tiles at once by holding down the left mouse button and forming a rectangle selection. Only non-empty tiles can be picked." msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:321 +#: ../../docs/tutorials/2d/using_tilemaps.rst:309 msgid "You can toggle this mode temporarily while in Paint mode by holding :kbd:`Ctrl` then clicking or dragging the mouse." msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:325 +#: ../../docs/tutorials/2d/using_tilemaps.rst:313 msgid "Eraser" msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:327 +#: ../../docs/tutorials/2d/using_tilemaps.rst:315 msgid "This mode is combined with any other painting mode (Paint, Line, Rectangle, Bucket Fill). When eraser mode is enabled, tiles will be replaced by empty tiles instead of drawing new lines when left-clicking." msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:331 +#: ../../docs/tutorials/2d/using_tilemaps.rst:319 msgid "You can toggle this mode temporarily while in any other mode by right-clicking instead of left-clicking." msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:335 +#: ../../docs/tutorials/2d/using_tilemaps.rst:323 msgid "Painting randomly using scattering" msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:337 +#: ../../docs/tutorials/2d/using_tilemaps.rst:325 msgid "While painting, you can optionally enable *randomization*. When enabled, a random tile will be chosen between all the currently selected tiles when painting. This is supported with the Paint, Line, Rectangle and Bucket Fill tools. For effective paint randomization, you must select multiple tiles in the TileMap editor or use scattering (both approaches can be combined)." msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:343 +#: ../../docs/tutorials/2d/using_tilemaps.rst:331 msgid "If **Scattering** is set to a value greater than 0, there is a chance that no tile will be placed when painting. This can be used to add occasional, non-repeating detail to large areas (such as adding grass or crumbs on a large top-down TileMap)." msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:348 +#: ../../docs/tutorials/2d/using_tilemaps.rst:336 msgid "Example when using Paint mode:" msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:354 -#: ../../docs/tutorials/2d/using_tilemaps.rst:354 +#: ../../docs/tutorials/2d/using_tilemaps.rst:342 +#: ../../docs/tutorials/2d/using_tilemaps.rst:342 msgid "Selecting from several times to randomly choose, then painting by holding down the left mouse button" msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:356 +#: ../../docs/tutorials/2d/using_tilemaps.rst:344 msgid "Example when using Bucket Fill mode:" msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:362 -#: ../../docs/tutorials/2d/using_tilemaps.rst:362 +#: ../../docs/tutorials/2d/using_tilemaps.rst:350 +#: ../../docs/tutorials/2d/using_tilemaps.rst:350 msgid "Using Bucket Fill tool with a single tile, but with randomization and scattering enabled" msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:366 +#: ../../docs/tutorials/2d/using_tilemaps.rst:354 msgid "Eraser mode does not take randomization and scattering into account. All tiles within the selection are always removed." msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:370 +#: ../../docs/tutorials/2d/using_tilemaps.rst:358 msgid "Saving and loading premade tile placements using patterns" msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:372 +#: ../../docs/tutorials/2d/using_tilemaps.rst:360 msgid "While you can copy and paste tiles while in Select mode, you may wish to save premade *patterns* of tiles to place together in a go. This can be done on a per-TileMap basis by choosing the **Patterns** tab of the TileMap editor." msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:376 +#: ../../docs/tutorials/2d/using_tilemaps.rst:364 msgid "To create a new pattern, switch to Select mode, perform a selection and press :kbd:`Ctrl + C`. Click on empty space within the Patterns tab (a blue focus rectangle should appear around the empty space), then press :kbd:`Ctrl + V`:" msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:384 -#: ../../docs/tutorials/2d/using_tilemaps.rst:384 +#: ../../docs/tutorials/2d/using_tilemaps.rst:372 +#: ../../docs/tutorials/2d/using_tilemaps.rst:372 msgid "Creating a new pattern from a selection in the TileMap editor" msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:386 +#: ../../docs/tutorials/2d/using_tilemaps.rst:374 msgid "To use an existing pattern, click its image in the **Patterns** tab, switch to any painting mode, then left-click somewhere in the 2D editor:" msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:393 -#: ../../docs/tutorials/2d/using_tilemaps.rst:393 +#: ../../docs/tutorials/2d/using_tilemaps.rst:381 +#: ../../docs/tutorials/2d/using_tilemaps.rst:381 msgid "Placing an existing pattern using the TileMap editor" msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:395 +#: ../../docs/tutorials/2d/using_tilemaps.rst:383 msgid "Like multi-tile selections, patterns will be repeated if used with the Line, Rectangle or Bucket Fill painting modes." msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:400 +#: ../../docs/tutorials/2d/using_tilemaps.rst:388 msgid "Despite being edited in the TileMap editor, patterns are stored in the TileSet resource. This allows reusing patterns in different TileMap nodes after loading a TileSet resource saved to an external file." msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:405 +#: ../../docs/tutorials/2d/using_tilemaps.rst:393 msgid "Handling tile connections automatically using terrains" msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:407 +#: ../../docs/tutorials/2d/using_tilemaps.rst:395 msgid "To use terrains, the TileMap node must feature at least one terrain set and a terrain within this terrain set. See :ref:`doc_using_tilesets_creating_terrain_sets` if you haven't created a terrain set for the TileSet yet." msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:412 +#: ../../docs/tutorials/2d/using_tilemaps.rst:400 msgid "There are 3 kinds of painting modes available for terrain connections:" msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:414 +#: ../../docs/tutorials/2d/using_tilemaps.rst:402 msgid "**Connect**, where tiles are connected to surrounding tiles on the same TileMap layer." msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:416 +#: ../../docs/tutorials/2d/using_tilemaps.rst:404 msgid "**Path**, where tiles are connected to tiles painted in the same stroke (until the mouse button is released)." msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:418 +#: ../../docs/tutorials/2d/using_tilemaps.rst:406 msgid "Tile-specific overrides to resolve conflicts or handle situations not covered by the terrain system." msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:421 +#: ../../docs/tutorials/2d/using_tilemaps.rst:409 msgid "The Connect mode is easier to use, but Path is more flexible as it allows for more artist control during painting. For instance, Path can allow roads to be directly adjacent to each other without being connected to each other, while Connect will force both roads to be connected." msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:430 -#: ../../docs/tutorials/2d/using_tilemaps.rst:430 +#: ../../docs/tutorials/2d/using_tilemaps.rst:418 +#: ../../docs/tutorials/2d/using_tilemaps.rst:418 msgid "Selecting Connect mode in the TileMap editor's Terrains tab" msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:436 -#: ../../docs/tutorials/2d/using_tilemaps.rst:436 +#: ../../docs/tutorials/2d/using_tilemaps.rst:424 +#: ../../docs/tutorials/2d/using_tilemaps.rst:424 msgid "Selecting Path mode in the TileMap editor's Terrains tab" msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:438 +#: ../../docs/tutorials/2d/using_tilemaps.rst:426 msgid "Lastly, you can select specific tiles from the terrain to resolve conflicts in certain situations:" msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:445 -#: ../../docs/tutorials/2d/using_tilemaps.rst:445 +#: ../../docs/tutorials/2d/using_tilemaps.rst:433 +#: ../../docs/tutorials/2d/using_tilemaps.rst:433 msgid "Painting with specific tiles in the TileMap editor's Terrains tab" msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:447 +#: ../../docs/tutorials/2d/using_tilemaps.rst:435 msgid "Any tile that has at least one of its bits set to a value set to the corresponding terrain ID will appear in the list of tiles to choose from." msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:451 +#: ../../docs/tutorials/2d/using_tilemaps.rst:439 msgid "Handling missing tiles" msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:453 +#: ../../docs/tutorials/2d/using_tilemaps.rst:441 msgid "If you remove tiles in the TileSet that are referenced in a TileMap, the TileMap will display a placeholder to indicate that an invalid tile ID is placed:" msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:460 -#: ../../docs/tutorials/2d/using_tilemaps.rst:460 +#: ../../docs/tutorials/2d/using_tilemaps.rst:448 +#: ../../docs/tutorials/2d/using_tilemaps.rst:448 msgid "Missing tiles in the TileMap editor due to the TileSet reference being broken" msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:462 +#: ../../docs/tutorials/2d/using_tilemaps.rst:450 msgid "These placeholders are **not** visible in the running project, but the tile data is still persisted to disk. This allows you to safely close and reopen such scenes. Once you re-add a tile with the matching ID, the tiles will appear with the new tile's appearance." msgstr "" -#: ../../docs/tutorials/2d/using_tilemaps.rst:469 +#: ../../docs/tutorials/2d/using_tilemaps.rst:457 msgid "Missing tile placeholders may not be visible until you select the TileMap node and open the TileMap editor." msgstr "" diff --git a/sphinx/templates/tutorials/2d/using_tilesets.pot b/sphinx/templates/tutorials/2d/using_tilesets.pot index b112fa7161..f1ea645810 100644 --- a/sphinx/templates/tutorials/2d/using_tilesets.pot +++ b/sphinx/templates/tutorials/2d/using_tilesets.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -581,73 +581,77 @@ msgstr "" msgid "Sometimes, you want to use a single tile image (found only once within the atlas), but configured in different ways. For example, you may want to use the same tile image, but rotated, flipped, or modulated with a different color. This can be done using *alternative tiles*." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:608 +#: ../../docs/tutorials/2d/using_tilesets.rst:610 +msgid "Since Godot 4.2, you don't have to create alternative tiles to rotate or flip tiles anymore. You can rotate any tile while placing it in the TileMap editor by using the rotation/flip buttons in the TileMap editor toolbar." +msgstr "" + +#: ../../docs/tutorials/2d/using_tilesets.rst:615 msgid "To create an alternative tile, right-click a base tile in the atlas displayed by the TileSet editor, then choose **Create an Alternative Tile**:" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:615 -#: ../../docs/tutorials/2d/using_tilesets.rst:615 +#: ../../docs/tutorials/2d/using_tilesets.rst:622 +#: ../../docs/tutorials/2d/using_tilesets.rst:622 msgid "Creating an alternative tile by right-clicking a base tile in the TileSet editor" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:617 +#: ../../docs/tutorials/2d/using_tilesets.rst:624 msgid "If currently in Select mode, the alternative tile will already be selected for editing. If not currently in Select mode, you can still create alternative tiles, but you will need to switch to Select mode and select the alternative tile to edit it." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:622 +#: ../../docs/tutorials/2d/using_tilesets.rst:629 msgid "If you don't see the alternative tile, pan over to the right of the atlas image, as alternative tiles always appear on the right of base tiles of a given atlas in the TileSet editor:" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:630 -#: ../../docs/tutorials/2d/using_tilesets.rst:630 +#: ../../docs/tutorials/2d/using_tilesets.rst:637 +#: ../../docs/tutorials/2d/using_tilesets.rst:637 msgid "Configuring an alternative tile after clicking it in the TileSet editor" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:632 +#: ../../docs/tutorials/2d/using_tilesets.rst:639 msgid "After selecting an alternative tile, you can change any properties using the middle column like you would on a base tile. However, the list of exposed properties is different compared to base tiles:" msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:636 +#: ../../docs/tutorials/2d/using_tilesets.rst:643 msgid "**Alternative ID:** The unique numerical identifier for this alternative tile. Changing it will break existing TileMaps, so be careful! This ID also controls the sorting in the list of alternative tiles displayed in the editor." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:639 +#: ../../docs/tutorials/2d/using_tilesets.rst:646 msgid "**Rendering > Flip H:** If ``true``, the tile is horizontally flipped." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:640 +#: ../../docs/tutorials/2d/using_tilesets.rst:647 msgid "**Rendering > Flip V:** If ``true``, the tile is vertically flipped." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:641 -msgid "**Rendering > Transpose:** If ``true``, the tile is rotated 90 degrees counter-clockwise. Combine this with **Flip H** and/or **Flip V** to perform 180-degree or 270-degree rotation." +#: ../../docs/tutorials/2d/using_tilesets.rst:648 +msgid "**Rendering > Transpose:** If ``true``, the tile is rotated 90 degrees *counter-clockwise* and then flipped vertically. In practice, this means that to rotate a tile by 90 degrees clockwise without flipping it, you should enable **Flip H** and **Transpose**. To rotate a tile by 180 degrees clockwise, enable **Flip H** and **Flip V**. To rotate a tile by 270 degrees clockwise, enable **Flip V** and **Transpose**." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:644 +#: ../../docs/tutorials/2d/using_tilesets.rst:654 msgid "**Rendering > Texture Origin:** The origin to use for drawing the tile. This can be used to visually offset the tile compared to the base tile." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:646 +#: ../../docs/tutorials/2d/using_tilesets.rst:656 msgid "**Rendering > Modulate:** The color multiplier to use when rendering the tile." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:647 +#: ../../docs/tutorials/2d/using_tilesets.rst:657 msgid "**Rendering > Material:** The material to use for this tile. This can be used to apply a different blend mode or custom shaders to a single tile." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:649 +#: ../../docs/tutorials/2d/using_tilesets.rst:659 msgid "**Z Index:** The sorting order for this tile. Higher values will make the tile render in front of others on the same layer." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:651 +#: ../../docs/tutorials/2d/using_tilesets.rst:661 msgid "**Y Sort Origin:** The vertical offset to use for tile sorting based on its Y coordinate (in pixels). This allows using layers as if they were on different height for top-down games. Adjusting this can help alleviate issues with sorting certain tiles. Only effective if **Y Sort Enabled** is ``true`` on the TileMap layer the tile is placed on." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:657 +#: ../../docs/tutorials/2d/using_tilesets.rst:667 msgid "You can create an additional alternative tile variant by clicking the large \"+\" icon next to the alternative tile. This is equivalent to selecting the base tile and right-clicking it to choose **Create an Alternative Tile** again." msgstr "" -#: ../../docs/tutorials/2d/using_tilesets.rst:663 +#: ../../docs/tutorials/2d/using_tilesets.rst:673 msgid "When creating an alternative tile, none of the properties from the base tile are inherited. You must set properties again on the alternative tile if you wish those to be identical on the base tile and the alternative tile." msgstr "" diff --git a/sphinx/templates/tutorials/3d/3d_antialiasing.pot b/sphinx/templates/tutorials/3d/3d_antialiasing.pot index 3ac9c942c5..2018d06bc8 100644 --- a/sphinx/templates/tutorials/3d/3d_antialiasing.pot +++ b/sphinx/templates/tutorials/3d/3d_antialiasing.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -66,7 +66,7 @@ msgid "The downside of MSAA is that it only operates on edges. This is because M msgstr "" #: ../../docs/tutorials/3d/3d_antialiasing.rst:60 -msgid "To mitigate aliasing on alpha scissor materials, alpha antialiasing (also called *alpha to coverage*) can be enabled on specific materials in the StandardMaterial3D or ORMMaterial3D properties. This only has an effect when MSAA is used (with any level). Alpha to coverage has a moderate performance cost, but it's very effective at reducing aliasing on transparent materials without introducing any blurriness." +msgid "To mitigate aliasing on alpha scissor materials, :ref:`alpha antialiasing ` (also called *alpha to coverage*) can be enabled on specific materials in the StandardMaterial3D or ORMMaterial3D properties. Alpha to coverage has a moderate performance cost, but it's effective at reducing aliasing on transparent materials without introducing any blurriness." msgstr "" #: ../../docs/tutorials/3d/3d_antialiasing.rst:67 diff --git a/sphinx/templates/tutorials/3d/3d_rendering_limitations.pot b/sphinx/templates/tutorials/3d/3d_rendering_limitations.pot index 77172f5c0b..27078fc38f 100644 --- a/sphinx/templates/tutorials/3d/3d_rendering_limitations.pot +++ b/sphinx/templates/tutorials/3d/3d_rendering_limitations.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -127,7 +127,7 @@ msgid "If you need to render semi-transparent areas of the texture, alpha scisso msgstr "" #: ../../docs/tutorials/3d/3d_rendering_limitations.rst:144 -msgid "If you want a material to fade with distance, use the StandardMaterial3D distance fade mode **Pixel Dither** or **Object Dither** instead of **PixelAlpha**. This will make the material opaque, which also speeds up rendering." +msgid "If you want a material to fade with distance, use the StandardMaterial3D distance fade mode **Pixel Dither** or **Object Dither** instead of **Pixel Alpha**. This will make the material opaque, which also speeds up rendering." msgstr "" #: ../../docs/tutorials/3d/3d_rendering_limitations.rst:152 diff --git a/sphinx/templates/tutorials/3d/3d_text.pot b/sphinx/templates/tutorials/3d/3d_text.pot index a350d6f234..a996f08e33 100644 --- a/sphinx/templates/tutorials/3d/3d_text.pot +++ b/sphinx/templates/tutorials/3d/3d_text.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-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 3ba52de74f..8c2b938568 100644 --- a/sphinx/templates/tutorials/3d/csg_tools.pot +++ b/sphinx/templates/tutorials/3d/csg_tools.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -21,7 +21,7 @@ msgid "Prototyping levels with CSG" msgstr "" #: ../../docs/tutorials/3d/csg_tools.rst:8 -msgid "CSG stands for **Constructive Solid Geometry**, and is a tool to combine basic shapes or custom meshes to create more complex shapes. In 3D modelling software, CSG is mostly known as \"Boolean Operators\"." +msgid "CSG stands for **Constructive Solid Geometry**, and is a tool to combine basic shapes or custom meshes to create more complex shapes. In 3D modeling software, CSG is mostly known as \"Boolean Operators\"." msgstr "" #: ../../docs/tutorials/3d/csg_tools.rst:12 @@ -125,7 +125,7 @@ msgid "Custom meshes" msgstr "" #: ../../docs/tutorials/3d/csg_tools.rst:89 -msgid "Any mesh can be used for :ref:`CSGMesh3D `; the mesh can be modelled in other software and imported into Godot. Multiple materials are supported. There are some restrictions for geometry:" +msgid "Any mesh can be used for :ref:`CSGMesh3D `; the mesh can be modeled in other software and imported into Godot. Multiple materials are supported. There are some restrictions for geometry:" msgstr "" #: ../../docs/tutorials/3d/csg_tools.rst:93 @@ -345,7 +345,7 @@ msgid "Exporting as glTF" msgstr "" #: ../../docs/tutorials/3d/csg_tools.rst:297 -msgid "It can be useful to block out a level using CSG, then export it as a 3d model, to import into 3D modelling software. You can do this by selecting **Scene > Export As... > glTF 2.0 Scene**." +msgid "It can be useful to block out a level using CSG, then export it as a 3d model, to import into 3D modeling software. You can do this by selecting **Scene > Export As... > glTF 2.0 Scene**." msgstr "" #: ../../docs/:0 diff --git a/sphinx/templates/tutorials/3d/environment_and_post_processing.pot b/sphinx/templates/tutorials/3d/environment_and_post_processing.pot index 4a23e992ba..1f6bf371a6 100644 --- a/sphinx/templates/tutorials/3d/environment_and_post_processing.pot +++ b/sphinx/templates/tutorials/3d/environment_and_post_processing.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -165,623 +165,695 @@ msgid "**Sky** lets you define a background sky material (see below). By default msgstr "" #: ../../docs/tutorials/3d/environment_and_post_processing.rst:155 -msgid "**Canvas** displays the 2D scene as a background to the 3D scene." +msgid "**Canvas** displays the 2D scene as a background to the 3D scene. This can be used to make environment effects visible on 2D rendering, such as :ref:`glow in 2D `." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:156 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:158 msgid "**Keep** does not draw any sky, keeping what was present on previous frames instead. This improves performance in purely indoor scenes, but creates a \"hall of mirrors\" visual glitch if the sky is visible at any time." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:161 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:163 msgid "Sky materials" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:163 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:165 msgid "When using the **Sky** background mode (or the ambient/reflected light mode is set to **Sky**), a Sky subresource becomes available to edit in the Environment resource. Editing this subresource allows you to create a SkyMaterial resource within the Sky." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:168 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:170 msgid "There are 3 built-in sky materials to choose from:" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:170 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:172 msgid "**PanoramaSkyMaterial:** Use a 360 degree panorama sky image (2:1 aspect ratio recommended). To benefit from high dynamic range, the panorama image must be in an HDR-compatible format such as ``.hdr`` or ``.exr`` rather than a standard dynamic range format like ``.png`` or ``.jpg``." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:174 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:176 msgid "**ProceduralSkyMaterial:** Use a procedurally generated sky with adjustable ground, sun, sky and horizon colors. This is the type of sky used in the editor preview. The sun's position is automatically derived from the first 4 DirectionalLight3D nodes present in the scene. There can be up to 4 suns at a given time." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:179 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:181 msgid "**PhysicalSkyMaterial:** Use a physically-based procedural sky with adjustable scattering parameters. The sun's position is automatically derived from the first DirectionalLight3D node present in the scene. PhysicalSkyMaterial is slightly more expensive to render compared to ProceduralSkyMaterial. There can be up to 1 sun at a given time." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:185 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:187 msgid "Panorama sky images are sometimes called HDRIs (High Dynamic Range Images). You can find freely licensed HDRIs on `Poly Haven `__." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:190 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:192 msgid "HDR PanoramaSkyMaterial textures with very bright spots (such as real life photos with the sun visible) may result in visible sparkles on ambient and specular reflections. This is caused by the texture's peak exposure being too high." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:195 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:197 msgid "To resolve this, select the panorama texture in the FileSystem dock, go to the Import dock, enable **HDR Clamp Exposure** then click **Reimport**." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:198 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:200 msgid "If you need a custom sky material (e.g. for procedural clouds), you can create a custom :ref:`sky shader `." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:202 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:204 msgid "Ambient light" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:204 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:206 msgid "Ambient light (as defined here) is a type of light that affects every piece of geometry with the same intensity. It is global and independent of lights that might be added to the scene. Ambient light is one of the two components of image-based lighting. Unlike reflected light, ambient light does not vary depending on the camera's position and viewing angle." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:210 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:212 msgid "There are several types of ambient light to choose from:" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:212 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:214 msgid "**Background:** Source ambient light from the background, such as the sky, custom color or clear color (default). Ambient light intensity will vary depending on the sky image's contents, which can result in more visually appealing ambient lighting. A sky must be set as background for this mode to be visible." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:217 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:219 msgid "**Disabled:** Do not use any ambient light. Useful for purely indoor scenes." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:218 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:220 msgid "**Color:** Use a constant color for ambient light, ignoring the background sky. Ambient light intensity will be the same on all sides, which may result in the scene's lighting looking more flat. Useful for indoor scenes where pitch black shadows may be too dark, or to maximize performance on low-end devices." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:223 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:225 msgid "**Sky:** Source ambient light from a specified sky, even if the background is set to a mode other than **Sky**. If the background mode is already **Sky**, this mode behaves identically to **Background**." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:229 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:231 msgid "When the ambient light mode is set to Sky or Background (and background is set to Sky), it's possible to blend between the ambient color and sky using the **Sky Contribution** property. This value is set to ``1.0`` by default, which means that only the ambient sky is used. The ambient color is ignored unless **Sky Contribution** is decreased below ``1.0``." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:235 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:237 msgid "Here is a comparison of how different ambient light affects a scene:" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:239 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:241 msgid "Finally, there is an **Energy** setting which is a multiplier. It's useful when working with HDR." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:242 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:244 msgid "In general, you should only rely on ambient light alone for simple scenes or large exteriors. You may also do so to boost performance. Ambient light is fast to render, but it doesn't provide the best lighting quality. It's better to generate ambient light from :ref:`ReflectionProbe `, :ref:`VoxelGI ` or :ref:`SDFGI `, as these will simulate how indirect light propagates more accurately. Below is a comparison, in terms of quality, between using a flat ambient color and a VoxelGI:" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:252 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:254 msgid "Using one of the methods described above will replace constant ambient lighting with ambient lighting from the probes." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:256 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:258 msgid "Reflected light" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:258 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:260 msgid "Reflected light (also called specular light) is the other of the two components of image-based lighting." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:261 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:263 msgid "Reflected light can be set to one of 3 modes:" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:263 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:265 msgid "**Background:** Reflect from the background, such as the sky, custom color or clear color (default)." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:265 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:267 msgid "**Disabled:** Do not reflect any light from the environment. Useful for purely indoor scenes, or to maximize performance on low-end devices." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:267 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:269 msgid "**Sky:** Reflect from the background sky, even if the background is set to a mode other than **Sky**. If the background mode is already **Sky**, this mode behaves identically to **Background**." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:272 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:274 msgid "Fog" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:276 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:278 msgid "This section refers to non-volumetric fog only. It is possible to use both non-volumetric fog and :ref:`doc_volumetric_fog` at the same time." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:280 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:282 msgid "Fog, as in real life, makes distant objects fade away into a uniform color. There are two kinds of fog in Godot:" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:283 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:285 msgid "**Depth Fog:** This one is applied based on the distance from the camera." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:284 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:286 msgid "**Height Fog:** This one is applied to any objects below (or above) a certain height, regardless of the distance from the camera." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:289 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:291 msgid "Both of these fog types can have their curve tweaked, making their transition more or less sharp." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:291 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:293 msgid "Two properties can be tweaked to make the fog effect more interesting:" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:293 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:295 msgid "The first is **Sun Amount**, which makes use of the Sun Color property of the fog. When looking towards a directional light (usually a sun), the color of the fog will be changed, simulating the sunlight passing through the fog." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:297 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:299 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:303 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:305 msgid "Volumetric Fog" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:305 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:307 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:310 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:312 msgid "See :ref:`doc_volumetric_fog` for documentation on setting up volumetric fog." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:313 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:315 msgid "Tonemap" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:315 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:317 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:320 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:322 msgid "The tone mapping options are:" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:322 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:324 msgid "**Mode:** The tone mapping mode to use." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:324 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:326 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:327 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:329 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:330 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:332 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:332 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:334 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:339 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:341 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:344 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:346 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:350 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:352 msgid "Mid- and post-processing effects" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:352 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:354 msgid "The Environment resource supports many popular mid- and post-processing effects." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:356 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:358 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:364 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:366 msgid "Screen-Space Reflections (SSR)" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:366 -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:408 -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:480 -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:526 -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:753 +#: ../../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 msgid "*This feature is only available when using the Forward+ backend, not Mobile or Compatibility.*" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:369 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:371 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:377 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:379 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:381 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:383 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:386 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:388 msgid "A few user-controlled parameters are available to better tweak the technique:" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:388 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:390 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:390 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:392 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:392 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:394 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:394 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:396 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:400 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:402 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:406 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:408 msgid "Screen-Space Ambient Occlusion (SSAO)" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:411 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:413 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:418 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:420 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:422 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:424 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:428 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:430 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:432 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:434 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:438 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:440 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:443 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:445 msgid "Tweaking :abbr:`SSAO (Screen-Space Ambient Occlusion)` is possible with several parameters:" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:448 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:450 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:451 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:453 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:458 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:460 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:460 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:462 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:463 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:465 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:466 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:468 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:470 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:472 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:478 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:482 msgid "Screen-Space Indirect Lighting (SSIL)" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:483 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:487 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:489 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:493 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:494 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:498 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:501 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:505 msgid "Tweaking :abbr:`SSIL (Screen-Space Indirect Lighting)` is possible with several parameters:" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:503 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:507 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:507 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:511 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:509 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:513 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:513 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:517 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:524 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:528 msgid "Signed Distance Field Global Illumination (SDFGI)" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:529 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:533 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:535 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:539 msgid "See :ref:`doc_using_sdfgi` for instructions on setting up this global illumination technique." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:543 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:547 msgid "Glow" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:545 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:549 +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 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:551 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:558 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:554 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:561 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:563 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:570 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:568 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:575 msgid "Both will cause the light to start bleeding out of the brighter areas." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:570 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:577 msgid "Once glow is visible, it can be controlled with a few extra parameters:" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:572 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:579 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:574 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:581 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:578 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:585 msgid "The **Blend Mode** of the effect can also be changed:" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:580 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:587 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:583 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:590 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:585 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:592 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:587 -msgid "**Replace** can be used to blur the whole screen or debug the effect. It only shows the glow effect without the image below." +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:594 +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:589 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:597 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:595 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:603 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:601 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:609 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:606 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:614 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:613 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:621 msgid "There are 2 main use cases for a glow map texture:" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:615 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:623 msgid "Create a \"lens dirt\" effect using a dirt pattern texture." msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:616 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:624 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:622 -msgid "Glow can be used in 2D as well. To do so, set the environment background mode to **Canvas** then enable glow as usual. You may have to decrease **Glow HDR Threshold** to see a difference." +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:631 +msgid "Using glow in 2D" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:627 -msgid "Adjustments" +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:633 +msgid "There are 2 ways to use glow in 2D:" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:629 -msgid "At the end of processing, Godot offers the possibility to do some standard image adjustments." +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:635 +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:634 -msgid "**Basic BCS adjustments**" +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:642 +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:636 -msgid "The first adjustment is being able to change the typical **Brightness**, **Contrast**, and **Saturation** properties:" +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:645 +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:641 -msgid "**Color correction using a 1D gradient**" -msgstr "" - -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:643 -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:649 -msgid "A linear black-to-white gradient like the following one will produce no effect:" -msgstr "" - -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:653 -msgid "But creating custom ones will allow to map each channel to a different color:" -msgstr "" - -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:657 -msgid "**Color correction using a 3D LUT**" +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:648 +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 -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)." +msgid "Example of using glow in a 2D scene" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:666 -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):" +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:659 +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 +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 -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." +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:677 -msgid "You can use this neutral 33×33×33 LUT template as a base (right-click and choose **Save as…**):" +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:678 +msgid "Using glow to blur the screen" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:682 -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." +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:680 +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:688 -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." +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:687 +msgid "To use glow as a blurring solution:" +msgstr "" + +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:689 +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 -msgid "For example, modifying the LUT template in an image editor to give it a \"sepia\" look results in the image on the right:" +msgid "Set **Intensity** to ``1.0`` and **Bloom** to ``1.0``." +msgstr "" + +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:695 +msgid "Set the blend mode to **Replace** and **HDR Luminance Cap** to ``1.0``." msgstr "" #: ../../docs/tutorials/3d/environment_and_post_processing.rst:701 -msgid "Adjustments and color correction are applied *after* tonemapping. This means the tonemapping properties defined above still have an effect when adjustments are enabled." +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:701 +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 +msgid "Adjustments" msgstr "" #: ../../docs/tutorials/3d/environment_and_post_processing.rst:706 -msgid "Camera attribute options" -msgstr "" - -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:709 -msgid "Depth of Field / Far Blur" +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 -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):" +msgid "**Basic BCS adjustments**" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:717 -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:729 -msgid "The **Amount** parameter controls the amount of blur. For larger blurs, tweaking the **Quality** may be needed in order to avoid artifacts." +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:713 +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:721 -msgid "Depth of Field / Near Blur" +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:718 +msgid "**Color correction using a 1D gradient**" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:723 -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):" +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:720 +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:732 -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 `__." +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:726 +msgid "A linear black-to-white gradient like the following one will produce no effect:" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:740 -msgid "When using CameraAttributesPhysical instead of CameraAttributesPractical, depth of field is automatically computed from the camera attributes' focus distance, focal length, and aperture." +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:730 +msgid "But creating custom ones will allow to map each channel to a different color:" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:745 -msgid "Exposure" +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:734 +msgid "**Color correction using a 3D LUT**" msgstr "" -#: ../../docs/tutorials/3d/environment_and_post_processing.rst:747 -msgid "This multiplies the overall scene brightness visible from the camera. Higher values result in a visually brighter scene." +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:736 +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:751 -msgid "Auto Exposure" +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:743 +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:756 -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." +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:748 +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 +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 +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 -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." +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 -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." +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:777 -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." +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:778 +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 -msgid "The user-controllable values in the Auto Exposure section come with sensible defaults, but you can still tweak them:" +msgid "Camera attribute options" +msgstr "" + +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:786 +msgid "Depth of Field / Far Blur" msgstr "" #: ../../docs/tutorials/3d/environment_and_post_processing.rst:788 -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:790 -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." +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 -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)." +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:797 -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." +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:799 +msgid "Depth of Field / Near Blur" msgstr "" #: ../../docs/tutorials/3d/environment_and_post_processing.rst:801 +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 +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 +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 +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 +msgid "Exposure" +msgstr "" + +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:825 +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 +msgid "Auto Exposure" +msgstr "" + +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:834 +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 +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 +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 +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 +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 +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 +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 +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 +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 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:808 +#: ../../docs/tutorials/3d/environment_and_post_processing.rst:886 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 a053dd594f..09f29c254c 100644 --- a/sphinx/templates/tutorials/3d/global_illumination/faking_global_illumination.pot +++ b/sphinx/templates/tutorials/3d/global_illumination/faking_global_illumination.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-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 b89c22146e..3e58d26582 100644 --- a/sphinx/templates/tutorials/3d/global_illumination/index.pot +++ b/sphinx/templates/tutorials/3d/global_illumination/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-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 68241bf870..e517d095cb 100644 --- a/sphinx/templates/tutorials/3d/global_illumination/introduction_to_global_illumination.pot +++ b/sphinx/templates/tutorials/3d/global_illumination/introduction_to_global_illumination.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-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 1b5def7d26..4ac54e2eca 100644 --- a/sphinx/templates/tutorials/3d/global_illumination/reflection_probes.pot +++ b/sphinx/templates/tutorials/3d/global_illumination/reflection_probes.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -20,160 +20,181 @@ msgstr "" msgid "Reflection probes" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:6 +#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:8 +msgid "Reflection probes are only supported in the Clustered Forward and Forward Mobile rendering backends, not the Compatibility backend." +msgstr "" + +#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:11 msgid "As stated in the :ref:`doc_standard_material_3d`, objects can show reflected and/or diffuse light. Reflection probes are used as a source of reflected *and* ambient light for objects inside their area of influence. They can be used to provide more accurate reflections than :ref:`VoxelGI ` and :ref:`SDFGI ` while being fairly cheap on system resources." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:12 +#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:17 msgid "Since reflection probes can also store ambient light, they can be used as a low-end alternative to VoxelGI and SDFGI when :ref:`baked lightmaps ` aren't viable (e.g. in procedurally generated levels)." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:16 +#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:21 msgid "Reflection probes can also be used at the same time as screen-space reflections to provide reflections for off-screen objects. In this case, Godot will blend together the screen-space reflections and reflections from reflection probes." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:22 +#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:27 msgid "Not sure if ReflectionProbe is suited to your needs? See :ref:`doc_introduction_to_global_illumination_comparison` for a comparison of GI techniques available in Godot 4." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:27 +#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:32 msgid "Visual comparison" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:33 -#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:33 +#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:38 +#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:38 msgid "Reflection probe disabled. Environment sky is used as a fallback." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:39 -#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:39 +#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:44 +#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:44 +#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:51 msgid "Reflection probe enabled." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:41 +#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:51 +msgid "Reflection probe enabled with LightmapGI used at the same time. The lightmap appears in the reflection." +msgstr "" + +#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:53 msgid "By combining reflection probes with screen-space reflections, you can get the best of both worlds: high-quality reflections for general room structure (that remain present when off-screen), while also having real-time reflections for small details." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:50 +#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:62 msgid "Reflections in a room using ReflectionProbe only." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:50 +#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:62 msgid "Reflections in a room using ReflectionProbe only. Notice how small details don't have any reflections." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:57 +#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:69 msgid "Reflections in a room using screen-space reflections only." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:57 +#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:69 msgid "Reflections in a room using screen-space reflections only. Notice how the reflection on the sides of the room's walls is partly missing due to being off-screen." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:65 +#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:77 msgid "Reflections in a room using ReflectionProbe and screen-space reflections together." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:65 +#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:77 msgid "Reflections in a room using ReflectionProbe and screen-space reflections together. The screen-space reflections are blended with the reflection probe, acting as a fallback in situations where the reflection probe fails to display any reflection." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:71 +#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:83 msgid "Setting up a ReflectionProbe" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:73 +#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:85 msgid "Add a :ref:`class_ReflectionProbe` node." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:74 +#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:86 msgid "Configure the ReflectionProbe's extents in the inspector to fit your scene. To get reasonably accurate reflections, you should generally have one ReflectionProbe node per room (sometimes more for large rooms)." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:80 +#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:92 msgid "Remember that ReflectionProbe extents don't have to be square, and you can even rotate the ReflectionProbe node to fit rooms that aren't aligned with the X/Z grid. Use this to your advantage to better cover rooms without having to place too many ReflectionProbe nodes." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:86 +#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:98 msgid "ReflectionProbe properties" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:88 +#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:100 msgid "**Update Mode:** Controls when the reflection probe updates. **Once** only renders the scene once every time the ReflectionProbe is moved. This makes it much faster to render compared to the **Always** update mode, which forces the probe to re-render everything around it every frame. Leave this property on **Once** (default) unless you need the reflection probe to update every frame." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:94 +#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:106 msgid "**Intensity:** The brightness of the reflections and ambient lighting. This usually doesn't need to be changed from its default value of ``1.0``, but you can decrease it ``1.0`` if you find that reflections look too strong." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:97 +#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:109 msgid "**Max Distance:** Controls the maximum distance used by the ReflectionProbe's internal camera. The distance is always at least equal to the **Extents**, but this can be increased to make objects located outside the extents visible in reflections. *This property does not affect the maximum distance at which the ReflectionProbe itself is visible.*" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:102 +#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:114 msgid "**Extents:** The area that will be affected by the ReflectionProbe's lighting and reflections." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:104 +#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:116 msgid "**Origin Offset:** The origin to use for the internal camera used for reflection probe rendering. This must always be constrained within the **Extents**. If needed, adjust this to prevent the reflection from being obstructed by a solid object located exactly at the center of the ReflectionProbe." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:109 +#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:121 msgid "**Box Projection:** Controls whether parallax correction should be used when rendering the reflection probe. This adjusts the reflection's appearance depending on the camera's position (relative to the reflection probe). This has a small performance cost, but the quality increase is often worth it in box-shaped rooms. Note that this effect doesn't work quite as well in rooms with less regular shapes (such as ellipse-shaped rooms)." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:115 +#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:127 msgid "**Interior:** If enabled, ambient lighting will not be sourced from the environment sky, and the background sky won't be rendered onto the reflection probe." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:118 +#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:130 msgid "**Enable Shadows:** Controls whether real-time light shadows should be rendered within the reflection probe. Enable this to improve reflection quality at the cost of performance. This should be left disabled for reflection probes with the **Always** mode, as it's very expensive to render reflections with shadows every frame. Fully :ref:`baked light ` shadows are not affected by this setting and will be rendered in the reflection probe regardless." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:125 +#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:137 msgid "**Cull Mask:** Controls which objects are visible in the reflection. This can be used to improve performance by excluding small objects from the reflection. This can also be used to prevent an object from having self-reflection artifacts in situations where **Origin Offset** can't be used." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:129 +#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:141 msgid "**Mesh LOD Threshold:** The automatic level of detail threshold to use for rendering meshes within the reflection. This only affects meshes that have automatic LODs generated for them. Higher values can improve performance by using less detailed geometry, especially for objects that are far away from the reflection's origin. The visual difference of using less detailed objects is usually not very noticeable during gameplay, especially in rough reflections." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:137 +#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:149 msgid "The Ambient category features several properties to adjust ambient lighting rendered by the ReflectionProbe:" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:140 +#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:152 msgid "**Mode:** If set to **Disabled**, no ambient light is added by the probe. If set to **Environment**, the ambient light color is automatically sampled from the environment sky (if **Interior** is disabled) and the reflection's average color. If set to **Constant Color**, the color specified in the **Color** property is used instead. The **Constant Color** mode can be used as an approximation of area lighting." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:146 +#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:158 msgid "**Color:** The color to use when the ambient light mode is set to **Constant Mode**." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:147 +#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:159 msgid "**Color Energy:** The multiplier to use for the ambient light custom **Color**. This only has an effect when the ambient light mode is **Custom Color**." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:152 +#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:164 msgid "ReflectionProbe blending" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:154 +#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:166 msgid "To make transitions between reflection sources smoother, Godot supports automatic probe blending:" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:157 +#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:169 msgid "Up to 4 ReflectionProbes can be blended together at a given location. A ReflectionProbe will also fade out smoothly back to environment lighting when it isn't touching any other ReflectionProbe node." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:160 +#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:172 msgid "SDFGI and VoxelGI will blend in smoothly with ReflectionProbes if used. This allows placing ReflectionProbes strategically to get more accurate (or fully real-time) reflections where needed, while still having rough reflections available in the VoxelGI or SDFGI's area of influence." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:165 +#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:177 msgid "To make several ReflectionProbes blend with each other, you need to have part of each ReflectionProbe overlap each other's area. The extents should only overlap as little possible with other reflection probes to improve rendering performance (typically a few units in 3D space)." msgstr "" +#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:183 +msgid "Limitations" +msgstr "" + +#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:185 +msgid "When using the Forward+ renderer, Godot uses a *clustering* approach for reflection probe rendering. As many reflection probes as desired can be added (as long as performance allows). However, there's still a default limit of 512 *clustered elements* that can be present in the current camera view. A clustered element is an omni light, a spot light, a :ref:`decal ` or a :ref:`reflection probe `. This limit can be increased by adjusting the **Rendering > Limits > Cluster Builder > Max Clustered Elements** advanced project setting." +msgstr "" + +#: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:194 +msgid "When using the Forward Mobile backend, only 8 reflection probes can be applied on each individual Mesh *resource*. If there are more reflection probes affecting a single mesh, not all of them will be rendered on the mesh." +msgstr "" + #: ../../docs/:0 msgid "Translation status" msgstr "" 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 0ff007893b..d0c2e3809f 100644 --- a/sphinx/templates/tutorials/3d/global_illumination/using_lightmap_gi.pot +++ b/sphinx/templates/tutorials/3d/global_illumination/using_lightmap_gi.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -231,162 +231,262 @@ msgid "Disabled" msgstr "" #: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:245 -msgid "The light is ignored when baking lightmaps. Keep in mind hiding a light will have no effect for baking, so this must be used instead of hiding the Light node." +msgid "The light is ignored when baking lightmaps. This is the mode to use for dynamic lighting effects such as explosions and weapon effects." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:248 -msgid "This is the mode to use for dynamic lighting effects such as explosions and weapon effects." +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:250 +msgid "Hiding a light has no effect on the resulting lightmap bake. This means you must use the Disabled bake mode instead of hiding the Light node by disabling its **Visible** property." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:251 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:255 msgid "Dynamic" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:253 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:257 msgid "This is the default mode, and is a compromise between performance and real-time friendliness. Only indirect lighting will be baked. Direct light and shadows are still real-time, as they would be without LightmapGI." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:257 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:261 msgid "This mode allows performing *subtle* changes to a light's color, energy and position while still looking fairly correct. For example, you can use this to create flickering static torches that have their indirect light baked." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:262 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:266 msgid "Static" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:264 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:268 msgid "Both indirect and direct lighting will be baked. Since static surfaces can skip lighting and shadow computations entirely, this mode provides the best performance along with smooth shadows that never fade based on distance. The real-time light will not affect baked surfaces anymore, but it will still affect dynamic objects. When using the **All** bake mode on a light, dynamic objects will not cast real-time shadows onto baked surfaces, so you need to use a different approach such as blob shadows instead. Blob shadows can be implemented with a Decal node." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:273 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:277 msgid "The light will not be adjustable at all during gameplay. Moving the light or changing its color (or energy) will not have any effect on static surfaces." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:276 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:280 msgid "Since bake modes can be adjusted on a per-light basis, it is possible to create hybrid baked light setups. One popular option is to use a real-time DirectionalLight with its bake mode set to **Dynamic**, and use the **Static** bake mode for OmniLights and SpotLights. This provides good performance while still allowing dynamic objects to cast real-time shadows in outdoor areas." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:282 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:286 msgid "Fully baked lights can also make use of light nodes' **Size** (omni/spot) or **Angular Distance** (directional) properties. This allows for shadows with realistic penumbra that increases in size as the distance between the caster and the shadow increases. This also has a lower performance cost compared to real-time PCSS shadows, as only dynamic objects have real-time shadows rendered on them." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:292 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:296 msgid "Baking" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:294 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:298 msgid "To begin the bake process, click the **Bake Lightmaps** button at the top of the 3D editor viewport when selecting the LightmapGI node:" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:299 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:303 msgid "This can take from seconds to minutes (or hours) depending on scene size, bake method and quality selected." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:304 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:308 msgid "Baking lightmaps is a process that can require a lot of video memory, especially if the resulting texture is large. Due to internal limitations, the engine may also crash if the generated texture size is too large (even on systems with a lot of video memory)." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:309 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:313 msgid "To avoid crashes, make sure the lightmap texel size in the Import dock is set to a high enough value." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:313 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:317 msgid "Tweaks" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:315 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:319 msgid "**Quality:** Four bake quality modes are provided: Low, Medium, High, and Ultra. Higher quality takes more time, but result in a better-looking lightmap with less noise. The difference is especially noticeable with emissive materials or areas that get little to no direct lighting. Each bake quality mode can be further adjusted in the Project Settings." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:320 -msgid "**Bounces:** The number of bounces to use for indirect lighting. The default value (``3``) is a good compromise between bake times and quality. Higher values will make light bounce around more times before it stops, which makes indirect lighting look smoother (but also brighter). During the initial lighting iteration work, it is recommended to decrease the number of bounces to ``1`` to speed up baking. Remember that your scene will be darker when decreasing the number of bounces." +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:324 +msgid "**Bounces:** The number of bounces to use for indirect lighting. The default value (``3``) is a good compromise between bake times and quality. Higher values will make light bounce around more times before it stops, which makes indirect lighting look smoother (but also possibly brighter depending on materials and geometry)." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:327 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:329 +msgid "**Bounce Indirect Energy:** The global multiplier to use when baking lights' indirect energy. This multiplies each light's own **Indirect Energy** value. Values different from ``1.0`` are not physically accurate, but can be used for artistic effect." +msgstr "" + +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:333 msgid "**Directional:** If enabled, stores directional information for lightmaps. This improves normal mapped materials' appearance for baked surfaces, especially with fully baked lights (since they also have direct light baked). The downside is that directional lightmaps are slightly more expensive to render. They also require more time to bake and result in larger file sizes." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:332 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:338 msgid "**Interior:** If enabled, environment lighting will not be sourced. Use this for purely indoor scenes to avoid light leaks." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:334 -msgid "**Use Denoiser:** If enabled, uses `OpenImageDenoise `__ to make the lightmap significantly less noisy. This increases bake times and can occasionally introduce artifacts, but the result is often worth it. **All** bake mode on a light, this will turn colored lighting into grayscale lighting. This can be disabled together with HDR to get the smallest possible lightmap file at a given resolution." -msgstr "" - #: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:340 -msgid "**Bias:** The offset value to use for shadows in 3D units. You generally don't need to change this value, except if you run into issues with light bleeding or dark spots in your lightmap after baking. This setting does not affect real-time shadows casted on baked surfaces (for lights with **Dynamic** bake mode)." +msgid "**Use Texture for Bounces:** If enabled, a texture with the lighting information will be generated to speed up the generation of indirect lighting at the cost of some accuracy. The geometry might exhibit extra light leak artifacts when using low resolution lightmaps or UVs that stretch the lightmap significantly across surfaces. Leave this enabled if unsure." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:344 -msgid "**Max Texture Size:** The maximum texture size for the generated texture atlas. Higher values will result in fewer slices being generated, but may not work on all hardware as a result of hardware limitations on texture sizes. Leave this at its default value of ``16384`` if unsure." +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:345 +msgid "**Use Denoiser:** If enabled, uses a denoising algorithm to make the lightmap significantly less noisy. This increases bake times and can occasionally introduce artifacts, but the result is often worth it. See :ref:`doc_using_lightmap_gi_denoising` for more information." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:348 -msgid "**Environment > Mode:** Controls how environment lighting is sourced when baking lightmaps. The default value of **Scene** is suited for levels with visible exterior parts. For purely indoor scenes, set this to **Disabled** to avoid light leaks and speed up baking. This can also be set to **Custom Sky** or **Custom Color** to use environment lighting that differs from the actual scene's environment sky." +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:349 +msgid "**Denoiser Strength:** The strength of denoising step applied to the generated lightmaps. Higher values are more effective at removing noise, but can reduce shadow detail for static shadows. Only effective if denoising is enabled and the denoising method is :abbr:`JNLM (Non-Local Means with Joint Filtering)` (:abbr:`OIDN (Open Image Denoise)` does not have a denoiser strength setting)." msgstr "" #: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:354 -msgid "**Gen Probes > Subdiv:** See :ref:`doc_using_lightmap_gi_dynamic_objects`." -msgstr "" - -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:355 -msgid "**Data > Light Data:** See :ref:`doc_using_lightmap_gi_data`." +msgid "**Bias:** The offset value to use for shadows in 3D units. You generally don't need to change this value, except if you run into issues with light bleeding or dark spots in your lightmap after baking. This setting does not affect real-time shadows casted on baked surfaces (for lights with **Dynamic** bake mode)." msgstr "" #: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:358 +msgid "**Max Texture Size:** The maximum texture size for the generated texture atlas. Higher values will result in fewer slices being generated, but may not work on all hardware as a result of hardware limitations on texture sizes. Leave this at its default value of ``16384`` if unsure." +msgstr "" + +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:362 +msgid "**Environment > Mode:** Controls how environment lighting is sourced when baking lightmaps. The default value of **Scene** is suited for levels with visible exterior parts. For purely indoor scenes, set this to **Disabled** to avoid light leaks and speed up baking. This can also be set to **Custom Sky** or **Custom Color** to use environment lighting that differs from the actual scene's environment sky." +msgstr "" + +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:368 +msgid "**Gen Probes > Subdiv:** See :ref:`doc_using_lightmap_gi_dynamic_objects`." +msgstr "" + +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:369 +msgid "**Data > Light Data:** See :ref:`doc_using_lightmap_gi_data`." +msgstr "" + +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:372 msgid "Balancing bake times with quality" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:360 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:374 msgid "Since high-quality bakes can take very long (up to dozens of minutes for large complex scenes), it is recommended to use lower quality settings at first. Then, once you are confident with your scene's lighting setup, raise the quality settings and perform a \"final\" bake before exporting your project." msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:365 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:379 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:373 -msgid "Dynamic objects" -msgstr "" - -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:375 -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:379 -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:386 -msgid "There are 2 ways to add light probes to a scene:" -msgstr "" - #: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:388 -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." +msgid "Denoising" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:392 -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." +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:390 +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 +msgid "Comparison between denoising disabled and enabled" +msgstr "" + +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:400 +msgid "Comparison between denoising disabled and enabled (with the default JNLM denoiser)." +msgstr "" + +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:402 +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 +msgid "JNLM (Non-Local Means with Joint Filtering)" +msgstr "" + +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:410 +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 +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 +msgid "Comparison between JNLM denoiser strength values" +msgstr "" + +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:423 +msgid "Comparison between JNLM denoiser strength values. Higher values can reduce detail." +msgstr "" + +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:426 +msgid "OIDN (Open Image Denoise)" +msgstr "" + +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:428 +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 +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 +msgid "On AMD GPUs, HIP must be installed and configured." +msgstr "" + +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:436 +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 +msgid "On Intel GPUs, SYCL must be installed and configured." +msgstr "" + +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:442 +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 +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 +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 +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 +msgid "Comparison between JNLM and OIDN denoisers" +msgstr "" + +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:472 +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 +msgid "Dynamic objects" +msgstr "" + +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:480 +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 +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 +msgid "There are 2 ways to add light probes to a scene:" +msgstr "" + +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:493 +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 +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 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:404 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:509 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:411 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:516 msgid "Lightmap data" msgstr "" -#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:413 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:518 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:422 +#: ../../docs/tutorials/3d/global_illumination/using_lightmap_gi.rst:527 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 "" diff --git a/sphinx/templates/tutorials/3d/global_illumination/using_sdfgi.pot b/sphinx/templates/tutorials/3d/global_illumination/using_sdfgi.pot index 5053ca3d00..f26aa4c2b0 100644 --- a/sphinx/templates/tutorials/3d/global_illumination/using_sdfgi.pot +++ b/sphinx/templates/tutorials/3d/global_illumination/using_sdfgi.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-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 49a1daaa27..7d5b22e111 100644 --- a/sphinx/templates/tutorials/3d/global_illumination/using_voxel_gi.pot +++ b/sphinx/templates/tutorials/3d/global_illumination/using_voxel_gi.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/3d/high_dynamic_range.pot b/sphinx/templates/tutorials/3d/high_dynamic_range.pot index ce7284b990..6a4774c5a5 100644 --- a/sphinx/templates/tutorials/3d/high_dynamic_range.pot +++ b/sphinx/templates/tutorials/3d/high_dynamic_range.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -25,7 +25,7 @@ msgid "Introduction" msgstr "" #: ../../docs/tutorials/3d/high_dynamic_range.rst:11 -msgid "Normally, an artist does all the 3D modelling, then all the texturing, looks at their awesome looking model in the 3D modeling software and says \"looks fantastic, ready for integration!\" then goes into the game, lighting is setup and the game runs." +msgid "Normally, an artist does all the 3D modeling, then all the texturing, looks at their awesome looking model in the 3D modeling software and says \"looks fantastic, ready for integration!\" then goes into the game, lighting is setup and the game runs." msgstr "" #: ../../docs/tutorials/3d/high_dynamic_range.rst:16 diff --git a/sphinx/templates/tutorials/3d/index.pot b/sphinx/templates/tutorials/3d/index.pot index 256ff157e2..fbfe4cf618 100644 --- a/sphinx/templates/tutorials/3d/index.pot +++ b/sphinx/templates/tutorials/3d/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-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 137d05e012..0054f3feef 100644 --- a/sphinx/templates/tutorials/3d/introduction_to_3d.pot +++ b/sphinx/templates/tutorials/3d/introduction_to_3d.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -81,7 +81,7 @@ msgid "Immediate geometry" msgstr "" #: ../../docs/tutorials/3d/introduction_to_3d.rst:83 -msgid "If, instead, you need to generate simple geometry that will be updated often, Godot provides a special node, :ref:`ImmediateMesh `, which provides an OpenGL 1.x style immediate-mode API to create points, lines, triangles, etc." +msgid "If, instead, you need to generate simple geometry that will be updated often, Godot provides a special :ref:`ImmediateMesh ` resource that can be used in a :ref:`MeshInstance3D ` node. This provides an OpenGL 1.x-style immediate-mode API to create points, lines, triangles, etc." msgstr "" #: ../../docs/tutorials/3d/introduction_to_3d.rst:90 @@ -177,70 +177,122 @@ msgid "To center the view on the selected object, press :kbd:`F`." msgstr "" #: ../../docs/tutorials/3d/introduction_to_3d.rst:179 -msgid "View menu" +msgid "Using Blender-style transform shortcuts" msgstr "" #: ../../docs/tutorials/3d/introduction_to_3d.rst:181 -msgid "The view options are controlled by the \"View\" menu in the viewport's toolbar." +msgid "Since Godot 4.2, you can enable Blender-style shortcuts for translating, rotating and scaling nodes. In Blender, these shortcuts are:" +msgstr "" + +#: ../../docs/tutorials/3d/introduction_to_3d.rst:184 +msgid ":kbd:`G` for translating" msgstr "" #: ../../docs/tutorials/3d/introduction_to_3d.rst:185 -msgid "You can hide the gizmos in the 3D view of the editor through this menu:" +msgid ":kbd:`R` for rotating" msgstr "" -#: ../../docs/tutorials/3d/introduction_to_3d.rst:189 -msgid "To hide a specific type of gizmos, you can toggle them off in the \"View\" menu." +#: ../../docs/tutorials/3d/introduction_to_3d.rst:186 +msgid ":kbd:`S` for scaling" +msgstr "" + +#: ../../docs/tutorials/3d/introduction_to_3d.rst:188 +msgid "After pressing a shortcut key while focusing on the 3D editor viewport, move the mouse or enter a number to move the selected node(s) by the specified amount in 3D units. You can constrain movement to a specific axis by specifying the axis as a letter, then the distance (if entering a value with the keyboard)." msgstr "" #: ../../docs/tutorials/3d/introduction_to_3d.rst:194 -msgid "Default environment" +msgid "For instance, to move the selection upwards by 2.5 units, enter the following sequence in order (Y+ is upwards in Godot):" msgstr "" -#: ../../docs/tutorials/3d/introduction_to_3d.rst:196 -msgid "When created from the Project Manager, the 3D environment has a default sky." +#: ../../docs/tutorials/3d/introduction_to_3d.rst:197 +msgid ":kbd:`G`-:kbd:`Y`-:kbd:`2`-:kbd:`.`-:kbd:`5`-:kbd:`Enter`" msgstr "" -#: ../../docs/tutorials/3d/introduction_to_3d.rst:200 -msgid "Given how physically-based rendering works, it is advised to always try to work with a default environment in order to provide indirect and reflected light to your objects." +#: ../../docs/tutorials/3d/introduction_to_3d.rst:199 +msgid "To use Blender-style transform shortcuts in Godot, go to the Editor Settings' **Shortcuts** tab, then in the Spatial Editor section:" +msgstr "" + +#: ../../docs/tutorials/3d/introduction_to_3d.rst:202 +msgid "Bind **Begin Translate Transformation** to :kbd:`G`." +msgstr "" + +#: ../../docs/tutorials/3d/introduction_to_3d.rst:203 +msgid "Bind **Begin Rotate Transformation** to :kbd:`R`." +msgstr "" + +#: ../../docs/tutorials/3d/introduction_to_3d.rst:204 +msgid "Bind **Begin Scale Transformation** to :kbd:`S`." msgstr "" #: ../../docs/tutorials/3d/introduction_to_3d.rst:205 -msgid "Cameras" +msgid "Finally, unbind **Scale Mode** so that its shortcut won't conflict with **Begin Rotate Transformation**." msgstr "" -#: ../../docs/tutorials/3d/introduction_to_3d.rst:207 -msgid "No matter how many objects are placed in the 3D space, nothing will be displayed unless a :ref:`Camera3D ` is also added to the scene. Cameras can work in either orthogonal or perspective projections:" +#: ../../docs/tutorials/3d/introduction_to_3d.rst:209 +msgid "View menu" msgstr "" -#: ../../docs/tutorials/3d/introduction_to_3d.rst:214 -msgid "Cameras are associated with (and only display to) a parent or grandparent viewport. Since the root of the scene tree is a viewport, cameras will display on it by default, but if sub-viewports (either as render target or picture-in-picture) are desired, they need their own children cameras to display." +#: ../../docs/tutorials/3d/introduction_to_3d.rst:211 +msgid "The view options are controlled by the \"View\" menu in the viewport's toolbar." msgstr "" -#: ../../docs/tutorials/3d/introduction_to_3d.rst:222 -msgid "When dealing with multiple cameras, the following rules are enforced for each viewport:" +#: ../../docs/tutorials/3d/introduction_to_3d.rst:215 +msgid "You can hide the gizmos in the 3D view of the editor through this menu:" msgstr "" -#: ../../docs/tutorials/3d/introduction_to_3d.rst:225 -msgid "If no cameras are present in the scene tree, the first one that enters it will become the active camera. Further cameras entering the scene will be ignored (unless they are set as *current*)." +#: ../../docs/tutorials/3d/introduction_to_3d.rst:219 +msgid "To hide a specific type of gizmos, you can toggle them off in the \"View\" menu." msgstr "" -#: ../../docs/tutorials/3d/introduction_to_3d.rst:228 -msgid "If a camera has the \"*current*\" property set, it will be used regardless of any other camera in the scene. If the property is set, it will become active, replacing the previous camera." +#: ../../docs/tutorials/3d/introduction_to_3d.rst:224 +msgid "Default environment" msgstr "" -#: ../../docs/tutorials/3d/introduction_to_3d.rst:231 -msgid "If an active camera leaves the scene tree, the first camera in tree-order will take its place." +#: ../../docs/tutorials/3d/introduction_to_3d.rst:226 +msgid "When created from the Project Manager, the 3D environment has a default sky." +msgstr "" + +#: ../../docs/tutorials/3d/introduction_to_3d.rst:230 +msgid "Given how physically-based rendering works, it is advised to always try to work with a default environment in order to provide indirect and reflected light to your objects." msgstr "" #: ../../docs/tutorials/3d/introduction_to_3d.rst:235 -msgid "Lights" +msgid "Cameras" msgstr "" #: ../../docs/tutorials/3d/introduction_to_3d.rst:237 +msgid "No matter how many objects are placed in the 3D space, nothing will be displayed unless a :ref:`Camera3D ` is also added to the scene. Cameras can work in either orthogonal or perspective projections:" +msgstr "" + +#: ../../docs/tutorials/3d/introduction_to_3d.rst:244 +msgid "Cameras are associated with (and only display to) a parent or grandparent viewport. Since the root of the scene tree is a viewport, cameras will display on it by default, but if sub-viewports (either as render target or picture-in-picture) are desired, they need their own children cameras to display." +msgstr "" + +#: ../../docs/tutorials/3d/introduction_to_3d.rst:252 +msgid "When dealing with multiple cameras, the following rules are enforced for each viewport:" +msgstr "" + +#: ../../docs/tutorials/3d/introduction_to_3d.rst:255 +msgid "If no cameras are present in the scene tree, the first one that enters it will become the active camera. Further cameras entering the scene will be ignored (unless they are set as *current*)." +msgstr "" + +#: ../../docs/tutorials/3d/introduction_to_3d.rst:258 +msgid "If a camera has the \"*current*\" property set, it will be used regardless of any other camera in the scene. If the property is set, it will become active, replacing the previous camera." +msgstr "" + +#: ../../docs/tutorials/3d/introduction_to_3d.rst:261 +msgid "If an active camera leaves the scene tree, the first camera in tree-order will take its place." +msgstr "" + +#: ../../docs/tutorials/3d/introduction_to_3d.rst:265 +msgid "Lights" +msgstr "" + +#: ../../docs/tutorials/3d/introduction_to_3d.rst:267 msgid "The background environment emits some ambient light which appears on surfaces. Still, without any light sources placed in the scene, the scene will appear quite dark unless the background environment is very bright." msgstr "" -#: ../../docs/tutorials/3d/introduction_to_3d.rst:241 +#: ../../docs/tutorials/3d/introduction_to_3d.rst:271 msgid "Most outdoor scenes have a directional light (the sun or moon), while indoor scenes typically have several positional lights (lamps, torches, …). See :ref:`doc_lights_and_shadows` for more information on setting up lights in Godot." msgstr "" diff --git a/sphinx/templates/tutorials/3d/lights_and_shadows.pot b/sphinx/templates/tutorials/3d/lights_and_shadows.pot index 3210b6191e..0627ec24c3 100644 --- a/sphinx/templates/tutorials/3d/lights_and_shadows.pot +++ b/sphinx/templates/tutorials/3d/lights_and_shadows.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -164,376 +164,380 @@ msgstr "" msgid "**Blur:** Multiplies the shadow blur radius for this light. This works with both traditional shadow mapping and contact-hardening shadows (lights with **Angular Distance** or **Size** greater than ``0.0``). Higher values result in softer shadows, which will also appear to be more temporally stable for moving objects. The downside of increasing shadow blur is that it will make the grainy pattern used for filtering more noticeable. See also :ref:`doc_lights_and_shadows_shadow_filter_mode`." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:127 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:130 +msgid "Tweaking shadow bias" +msgstr "" + +#: ../../docs/tutorials/3d/lights_and_shadows.rst:132 msgid "Below is an image of what tweaking bias looks like. Default values work for most cases, but in general, it depends on the size and complexity of geometry." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:130 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:135 msgid "If the **Shadow Bias** or **Shadow Normal Bias** is set too low for a given light, the shadow will be \"smeared\" onto the objects. This will cause the light's intended appearance to darken, and is called *shadow acne*:" msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:136 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:141 msgid "On the other hand, if the **Shadow Bias** or **Shadow Normal Bias** is set too high for a given light, the shadow may appear to be disconnected from the object. This is called *peter-panning*:" msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:142 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:147 msgid "In general, increasing **Shadow Normal Bias** is preferred over increasing **Shadow Bias**. Increasing **Shadow Normal Bias** does not cause as much peter-panning as increasing **Shadow Bias**, but it can still resolve most shadow acne issues efficiently. The downside of increasing **Shadow Normal Bias** is that it can make shadows appear thinner for certain objects." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:148 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:153 msgid "Any sort of bias issues can be fixed by :ref:`increasing the shadow map resolution `, at the cost of decreased performance." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:154 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:159 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:159 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:164 msgid "Directional light" msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:161 +#: ../../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)." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:166 +#: ../../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." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:173 +#: ../../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." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:177 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:182 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:183 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:188 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:189 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:194 msgid "Directional shadow mapping" msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:191 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:196 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:196 +#: ../../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." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:203 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:208 msgid "With this, shadows become more detailed:" msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:207 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:212 msgid "To control PSSM, a number of parameters are exposed:" msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:211 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:216 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:217 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:222 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:227 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:232 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:233 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:238 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:238 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:243 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:244 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:249 msgid "Omni light" msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:246 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:251 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:251 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:256 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:254 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:259 msgid "To solve this, a **Range** parameter is introduced together with an attenuation function." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:258 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:263 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:262 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:267 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:271 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:278 msgid "Omni shadow mapping" msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:273 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:280 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:276 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:283 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:284 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:291 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:289 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:296 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:294 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:301 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:297 -#: ../../docs/tutorials/3d/lights_and_shadows.rst:340 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:304 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:347 msgid "With the projector texture below, the following result is obtained:" msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:305 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:312 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:310 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:317 msgid "Spot light" msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:312 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:319 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:317 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:324 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:320 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:327 msgid "**Angle:** The aperture angle of the light." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:321 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:328 msgid "**Angle Attenuation:** The cone attenuation, which helps soften the cone borders." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:324 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:331 msgid "Spot shadow mapping" msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:326 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:333 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:331 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:338 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:336 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:343 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:348 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:355 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:357 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:364 msgid "Shadow atlas" msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:359 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:366 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:363 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:370 msgid "The resolution applies to the whole shadow atlas. This atlas is divided into four quadrants:" msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:367 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:374 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:371 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:378 msgid "The shadow atlas allocates space as follows:" msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:373 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:380 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:374 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:381 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:376 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:383 msgid "Every frame, the following procedure is performed for all lights:" msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:378 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:385 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:379 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:386 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:380 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:387 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:382 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:389 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:386 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:393 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:389 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:396 msgid "The first and most detailed quadrant can store 4 shadows." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:390 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:397 msgid "The second quadrant can store 4 other shadows." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:391 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:398 msgid "The third quadrant can store 16 shadows, with less detail." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:392 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:399 msgid "The fourth and least detailed quadrant can store 64 shadows, with even less detail." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:394 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:401 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:400 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:407 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:408 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:415 msgid "Balancing performance and quality" msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:410 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:417 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:413 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:420 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:416 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:423 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:420 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:427 msgid "Shadow map size" msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:422 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:429 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:427 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:434 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:435 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:442 msgid "Shadow filter mode" msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:437 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:444 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:441 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:448 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_fxaa`, or increase the shadow filter quality to **Soft Medium** or higher." msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:446 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:453 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:452 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:461 msgid "16-bits versus 32-bit" msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:454 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:463 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:458 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:467 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:464 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:473 msgid "Light/shadow distance fade" msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:466 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:475 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:470 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:479 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:474 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:483 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:476 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:485 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:479 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:488 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:487 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:496 msgid "PCSS recommendations" msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:489 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:498 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:494 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:503 msgid "To avoid performance issues, it's recommended to:" msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:496 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:505 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:500 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:509 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:507 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:516 msgid "Projector filter mode" msgstr "" -#: ../../docs/tutorials/3d/lights_and_shadows.rst:509 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:518 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:518 +#: ../../docs/tutorials/3d/lights_and_shadows.rst:527 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 99e0588f02..548b6b89f5 100644 --- a/sphinx/templates/tutorials/3d/mesh_lod.pot +++ b/sphinx/templates/tutorials/3d/mesh_lod.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-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 497a8fb0f7..f03181945e 100644 --- a/sphinx/templates/tutorials/3d/occlusion_culling.pot +++ b/sphinx/templates/tutorials/3d/occlusion_culling.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-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 b893018f77..eb460b73f5 100644 --- a/sphinx/templates/tutorials/3d/particles/attractors.pot +++ b/sphinx/templates/tutorials/3d/particles/attractors.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-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 422a3b11fa..02b26a1658 100644 --- a/sphinx/templates/tutorials/3d/particles/collision.pot +++ b/sphinx/templates/tutorials/3d/particles/collision.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-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 bfdde1bc1c..45a6cf951e 100644 --- a/sphinx/templates/tutorials/3d/particles/complex_shapes.pot +++ b/sphinx/templates/tutorials/3d/particles/complex_shapes.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-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 a4b3ab5177..2b6edf45c1 100644 --- a/sphinx/templates/tutorials/3d/particles/creating_a_3d_particle_system.pot +++ b/sphinx/templates/tutorials/3d/particles/creating_a_3d_particle_system.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -81,34 +81,86 @@ msgid "You can convert GPU particles to CPU particles at any time using the entr msgstr "" #: ../../docs/tutorials/3d/particles/creating_a_3d_particle_system.rst:75 -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:77 -msgid "multiple draw passes" +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 "turbulence" -msgstr "" - -#: ../../docs/tutorials/3d/particles/creating_a_3d_particle_system.rst:79 -msgid "sub-emitters" +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 "trails" +msgid "multiple draw passes" msgstr "" #: ../../docs/tutorials/3d/particles/creating_a_3d_particle_system.rst:81 -msgid "attractors" +msgid "turbulence" msgstr "" #: ../../docs/tutorials/3d/particles/creating_a_3d_particle_system.rst:82 -msgid "collision" +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 "" diff --git a/sphinx/templates/tutorials/3d/particles/index.pot b/sphinx/templates/tutorials/3d/particles/index.pot index f5448037f8..3064eb51d2 100644 --- a/sphinx/templates/tutorials/3d/particles/index.pot +++ b/sphinx/templates/tutorials/3d/particles/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -73,26 +73,26 @@ msgid "There are two types of 3D particle systems in Godot: :ref:`class_GPUParti msgstr "" #: ../../docs/tutorials/3d/particles/index.rst:53 -msgid "CPU particle systems are less flexible than their GPU counterpart, but they work on a wider range of hardware and provide better support for older devices and mobile phones. Because they are processed on the CPU, they are not as performant as GPU particle systems and can't render as many individual particles." +msgid "CPU particle systems are less flexible than their GPU counterpart, but they work on a wider range of hardware and provide better support for older devices and mobile phones. Because they are processed on the CPU, they are not as performant as GPU particle systems and can't render as many individual particles. In addition they currently do not have all the available options GPU particles have for control." msgstr "" -#: ../../docs/tutorials/3d/particles/index.rst:57 +#: ../../docs/tutorials/3d/particles/index.rst:58 msgid "GPU particle systems run on the GPU and can render hundreds of thousands of particles on modern hardware. You can write custom particle shaders for them, which makes them very flexible. You can also make them interact with the environment by using attractor and collision nodes." msgstr "" -#: ../../docs/tutorials/3d/particles/index.rst:61 +#: ../../docs/tutorials/3d/particles/index.rst:62 msgid "There are three particle attractor nodes: :ref:`class_GPUParticlesAttractorBox3D`, :ref:`class_GPUParticlesAttractorSphere3D`, and :ref:`class_GPUParticlesAttractorVectorField3D`. An attractor node applies a force to all particles in its reach and pulls them closer or pushes them away based on the direction of that force." msgstr "" -#: ../../docs/tutorials/3d/particles/index.rst:65 +#: ../../docs/tutorials/3d/particles/index.rst:66 msgid "There are several particle collision nodes. :ref:`class_GPUParticlesCollisionBox3D` and :ref:`class_GPUParticlesCollisionSphere3D` are the simple ones. You can use them to create basic shapes like boxes, a floor, or a wall that particles collide with. The other two nodes provide more complex collision behavior. The :ref:`class_GPUParticlesCollisionSDF3D` is useful when you want indoor scenes to collide with particles without having to create all the individual box and sphere colliders by hand. If you want particles to collide with large outdoor scenes, you would use the :ref:`class_GPUParticlesCollisionHeightField3D` node. It creates a heightmap of your world and the objects in it and uses that for large-scale particle collisions." msgstr "" -#: ../../docs/tutorials/3d/particles/index.rst:76 +#: ../../docs/tutorials/3d/particles/index.rst:77 msgid "Basic usage" msgstr "" -#: ../../docs/tutorials/3d/particles/index.rst:87 +#: ../../docs/tutorials/3d/particles/index.rst:88 msgid "Advanced topics" msgstr "" diff --git a/sphinx/templates/tutorials/3d/particles/process_material_properties.pot b/sphinx/templates/tutorials/3d/particles/process_material_properties.pot index 9a1530bc8e..cf12c4a3a9 100644 --- a/sphinx/templates/tutorials/3d/particles/process_material_properties.pot +++ b/sphinx/templates/tutorials/3d/particles/process_material_properties.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -40,68 +40,68 @@ msgstr "" 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:32 -msgid "Emission shape" -msgstr "" - -#: ../../docs/tutorials/3d/particles/process_material_properties.rst:34 -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:44 -msgid "Simple particle emission shapes" -msgstr "" - -#: ../../docs/tutorials/3d/particles/process_material_properties.rst:44 -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:50 -msgid "Ring-shaped particle system" -msgstr "" - -#: ../../docs/tutorials/3d/particles/process_material_properties.rst:50 -msgid "A ring-shaped particle system" -msgstr "" - -#: ../../docs/tutorials/3d/particles/process_material_properties.rst:52 -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:59 -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:65 +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:30 msgid "Particle flags" msgstr "" -#: ../../docs/tutorials/3d/particles/process_material_properties.rst:67 +#: ../../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:71 +#: ../../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:78 +#: ../../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 "Gravity" +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:85 -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." +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:89 +msgid "Angle" msgstr "" -#: ../../docs/tutorials/3d/particles/process_material_properties.rst:95 -msgid "Different values for particle gravity" -msgstr "" - -#: ../../docs/tutorials/3d/particles/process_material_properties.rst:95 -msgid "Left\\: (X=0,Y=-9.8,Z=0), middle\\: (X=0,Y=9.8,Z=0), right\\: (X=4,Y=2,Z=0)." +#: ../../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:98 @@ -153,301 +153,321 @@ msgid "While the ``Direction`` property controls a particle's movement direction msgstr "" #: ../../docs/tutorials/3d/particles/process_material_properties.rst:144 -msgid "Linear acceleration" +msgid "Accelerations" msgstr "" -#: ../../docs/tutorials/3d/particles/process_material_properties.rst:146 -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." +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:147 +msgid "Gravity" msgstr "" -#: ../../docs/tutorials/3d/particles/process_material_properties.rst:155 -msgid "Different values for particle linear acceleration" +#: ../../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:155 -msgid "Negative (top) and positive (bottom) linear acceleration" +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:159 +msgid "Different values for particle gravity" msgstr "" -#: ../../docs/tutorials/3d/particles/process_material_properties.rst:157 -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." +#: ../../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:164 -msgid "Radial acceleration" -msgstr "" - -#: ../../docs/tutorials/3d/particles/process_material_properties.rst:166 -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:174 -msgid "Different values for particle radial acceleration" -msgstr "" - -#: ../../docs/tutorials/3d/particles/process_material_properties.rst:174 -msgid "Negative (left) and positive (right) radial acceleration" -msgstr "" - -#: ../../docs/tutorials/3d/particles/process_material_properties.rst:177 -msgid "Tangential acceleration" -msgstr "" - -#: ../../docs/tutorials/3d/particles/process_material_properties.rst:183 -#: ../../docs/tutorials/3d/particles/process_material_properties.rst:183 -msgid "Tangents on a circle" -msgstr "" - -#: ../../docs/tutorials/3d/particles/process_material_properties.rst:185 -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:189 -msgid "Let's unpack that." -msgstr "" - -#: ../../docs/tutorials/3d/particles/process_material_properties.rst:191 -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:199 -#: ../../docs/tutorials/3d/particles/process_material_properties.rst:199 -msgid "Tangential acceleration from above" -msgstr "" - -#: ../../docs/tutorials/3d/particles/process_material_properties.rst:201 -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:205 -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:210 -msgid "Damping" -msgstr "" - -#: ../../docs/tutorials/3d/particles/process_material_properties.rst:212 -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:218 -msgid "Angle" -msgstr "" - -#: ../../docs/tutorials/3d/particles/process_material_properties.rst:220 -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:227 +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:162 msgid "Angular velocity" msgstr "" -#: ../../docs/tutorials/3d/particles/process_material_properties.rst:229 +#: ../../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:236 +#: ../../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:239 -msgid "Scale" +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:174 +msgid "Linear acceleration" msgstr "" -#: ../../docs/tutorials/3d/particles/process_material_properties.rst:241 -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." +#: ../../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 +#: ../../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 +#: ../../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:240 +msgid "Damping" +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 "Color" +msgid "Attractor interaction" msgstr "" #: ../../docs/tutorials/3d/particles/process_material_properties.rst:250 -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." +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:259 -msgid "Particle color ramp" +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:255 +msgid "Display" msgstr "" -#: ../../docs/tutorials/3d/particles/process_material_properties.rst:259 -msgid "Setting up a color ramp" +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:258 +msgid "Scale" msgstr "" -#: ../../docs/tutorials/3d/particles/process_material_properties.rst:261 -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." +#: ../../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:267 -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." +msgid "Color" msgstr "" -#: ../../docs/tutorials/3d/particles/process_material_properties.rst:276 -msgid "Hue variation" +#: ../../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 "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*." +msgid "Particle color ramp" msgstr "" -#: ../../docs/tutorials/3d/particles/process_material_properties.rst:282 -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>`__." +#: ../../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 "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." +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:294 -msgid "Different values for hue variation" +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:295 +msgid "Hue variation" msgstr "" -#: ../../docs/tutorials/3d/particles/process_material_properties.rst:294 -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:299 -msgid "Turbulence" +#: ../../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 "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 `." +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:308 +#: ../../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:318 msgid "Animation" msgstr "" -#: ../../docs/tutorials/3d/particles/process_material_properties.rst:310 +#: ../../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:314 -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 flip book. You can use them for animated particles like smoke or fire. These are the steps to create an animated particle system:" +#: ../../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:323 +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:333 msgid "A sprite sheet" msgstr "" -#: ../../docs/tutorials/3d/particles/process_material_properties.rst:323 +#: ../../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:325 +#: ../../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:326 +#: ../../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:327 +#: ../../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:328 +#: ../../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:329 +#: ../../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:330 +#: ../../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:332 +#: ../../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:343 +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:353 msgid "Animated particles" msgstr "" -#: ../../docs/tutorials/3d/particles/process_material_properties.rst:343 +#: ../../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:345 +#: ../../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 relationship between particle lifetime, animation speed, and number of images in the sprite sheet is this:" msgstr "" -#: ../../docs/tutorials/3d/particles/process_material_properties.rst:352 -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." +#: ../../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/3d/particles/process_material_properties.rst:355 -msgid "Animation\\ FPS = \\frac{Lifetime}{Number\\ Of\\ Images}\n" +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:365 +msgid "Animation\\ FPS = \\frac{Number\\ of\\ images}{Lifetime}\n" "\n" "" msgstr "" -#: ../../docs/tutorials/3d/particles/process_material_properties.rst:358 +#: ../../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:369 +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:379 msgid "Animated particles lifetimes" msgstr "" -#: ../../docs/tutorials/3d/particles/process_material_properties.rst:369 +#: ../../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:374 -msgid "Sub-emitter" +#: ../../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:380 -msgid "Sub-emitter modes" +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:390 +msgid "Turbulence" msgstr "" -#: ../../docs/tutorials/3d/particles/process_material_properties.rst:380 -msgid "The available sub-emitter modes" +#: ../../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:382 -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:391 -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:394 -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/process_material_properties.rst:398 -msgid "Attractor interaction" -msgstr "" - -#: ../../docs/tutorials/3d/particles/process_material_properties.rst:400 -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:405 +#: ../../docs/tutorials/3d/particles/process_material_properties.rst:401 msgid "Collision" msgstr "" -#: ../../docs/tutorials/3d/particles/process_material_properties.rst:407 +#: ../../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:413 +#: ../../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:419 +#: ../../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:424 +#: ../../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/:0 msgid "Translation status" msgstr "" diff --git a/sphinx/templates/tutorials/3d/particles/properties.pot b/sphinx/templates/tutorials/3d/particles/properties.pot index 825d56863a..60ad8838d9 100644 --- a/sphinx/templates/tutorials/3d/particles/properties.pot +++ b/sphinx/templates/tutorials/3d/particles/properties.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -33,86 +33,94 @@ msgid "The ``Amount`` property controls the maximum number of particles visible 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:26 +#: ../../docs/tutorials/3d/particles/properties.rst:32 msgid "Time properties" msgstr "" -#: ../../docs/tutorials/3d/particles/properties.rst:31 +#: ../../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:35 -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 formular you would use:" +#: ../../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:39 -msgid "particlesPerSecond = \\frac{Amount}{Lifetime}" +#: ../../docs/tutorials/3d/particles/properties.rst:45 +msgid "Particles per second = \\frac{Amount}{Lifetime}" msgstr "" -#: ../../docs/tutorials/3d/particles/properties.rst:43 +#: ../../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:46 +#: ../../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:51 +#: ../../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:56 +#: ../../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:66 +#: ../../docs/tutorials/3d/particles/properties.rst:75 msgid "No preprocess (left) vs. 4 seconds of preprocess (right)" msgstr "" -#: ../../docs/tutorials/3d/particles/properties.rst:68 +#: ../../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:74 +#: ../../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:76 +#: ../../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:81 +#: ../../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:92 +#: ../../docs/tutorials/3d/particles/properties.rst:101 msgid "Particles running at low FPS" msgstr "" -#: ../../docs/tutorials/3d/particles/properties.rst:92 +#: ../../docs/tutorials/3d/particles/properties.rst:101 msgid "Interpolation on (left) vs. off (right)" msgstr "" -#: ../../docs/tutorials/3d/particles/properties.rst:94 +#: ../../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:100 +#: ../../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:110 +#: ../../docs/tutorials/3d/particles/properties.rst:119 msgid "Collision properties" msgstr "" -#: ../../docs/tutorials/3d/particles/properties.rst:112 +#: ../../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:121 +#: ../../docs/tutorials/3d/particles/properties.rst:130 msgid "Drawing properties" msgstr "" @@ -120,51 +128,51 @@ msgstr "" msgid "Particle drawing properties" msgstr "" -#: ../../docs/tutorials/3d/particles/properties.rst:127 +#: ../../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:133 +#: ../../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:137 +#: ../../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:145 +#: ../../docs/tutorials/3d/particles/properties.rst:154 msgid "Local space coordinates (left) vs. world space coordinates (right)" msgstr "" -#: ../../docs/tutorials/3d/particles/properties.rst:147 +#: ../../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:154 +#: ../../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:166 +#: ../../docs/tutorials/3d/particles/properties.rst:175 msgid "Trail properties" msgstr "" -#: ../../docs/tutorials/3d/particles/properties.rst:172 +#: ../../docs/tutorials/3d/particles/properties.rst:181 msgid "Particle trails" msgstr "" -#: ../../docs/tutorials/3d/particles/properties.rst:172 +#: ../../docs/tutorials/3d/particles/properties.rst:181 msgid "Particle trail properties" msgstr "" -#: ../../docs/tutorials/3d/particles/properties.rst:174 +#: ../../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:177 +#: ../../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:180 +#: ../../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 "" diff --git a/sphinx/templates/tutorials/3d/particles/subemitters.pot b/sphinx/templates/tutorials/3d/particles/subemitters.pot index 3dcca89a58..46008e045a 100644 --- a/sphinx/templates/tutorials/3d/particles/subemitters.pot +++ b/sphinx/templates/tutorials/3d/particles/subemitters.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-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 974dded7eb..a68ab9c697 100644 --- a/sphinx/templates/tutorials/3d/particles/trails.pot +++ b/sphinx/templates/tutorials/3d/particles/trails.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+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 "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 ``Length Secs`` 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``." +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 diff --git a/sphinx/templates/tutorials/3d/particles/turbulence.pot b/sphinx/templates/tutorials/3d/particles/turbulence.pot index d6e7552818..a0aaa456b8 100644 --- a/sphinx/templates/tutorials/3d/particles/turbulence.pot +++ b/sphinx/templates/tutorials/3d/particles/turbulence.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-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 dab612e041..9c4982fa71 100644 --- a/sphinx/templates/tutorials/3d/physical_light_and_camera_units.pot +++ b/sphinx/templates/tutorials/3d/physical_light_and_camera_units.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-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 a311e5cdd5..0a66487606 100644 --- a/sphinx/templates/tutorials/3d/procedural_geometry/arraymesh.pot +++ b/sphinx/templates/tutorials/3d/procedural_geometry/arraymesh.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/3d/procedural_geometry/immediatemesh.pot b/sphinx/templates/tutorials/3d/procedural_geometry/immediatemesh.pot index ce2226060f..73910f91e9 100644 --- a/sphinx/templates/tutorials/3d/procedural_geometry/immediatemesh.pot +++ b/sphinx/templates/tutorials/3d/procedural_geometry/immediatemesh.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -21,35 +21,47 @@ msgid "Using ImmediateMesh" msgstr "" #: ../../docs/tutorials/3d/procedural_geometry/immediatemesh.rst:6 -msgid "Unlike the SurfaceTool or ArrayMesh, :ref:`ImmediateMesh ` is an actual node. Being a node makes it quick to add to a scene and get visual output. It uses an OpenGL 1.x-style API like SurfaceTool, but it's actually designed to create meshes on the fly." +msgid "The :ref:`ImmediateMesh ` is a convenient tool to create dynamic geometry using an OpenGL 1.x-style API. Which makes it both approachable to use and efficient for meshes which need to be updated every frame." msgstr "" #: ../../docs/tutorials/3d/procedural_geometry/immediatemesh.rst:10 -msgid "Generating complex geometry (several thousand vertices) with this node is inefficient, even if it's done only once. Instead, it is designed to generate simple geometry that changes every frame." +msgid "Generating complex geometry (several thousand vertices) with this tool is inefficient, even if it's done only once. Instead, it is designed to generate simple geometry that changes every frame." msgstr "" #: ../../docs/tutorials/3d/procedural_geometry/immediatemesh.rst:13 -msgid "Before starting, you should clear the geometry by calling ``clear_surfaces()``. This ensures that you are not building upon the geometry from the previous frame. If you want to keep geometry between frames, do not call ``clear_surfaces()``." +msgid "First, you need to create a :ref:`MeshInstance3D ` and add an :ref:`ImmediateMesh ` to it in the Inspector." msgstr "" -#: ../../docs/tutorials/3d/procedural_geometry/immediatemesh.rst:17 -msgid "To begin generating geometry you must call ``surface_begin()``. ``surface_begin()`` takes a ``PrimitiveType`` as an argument. ``PrimitiveType`` is an OpenGL concept that instructs the GPU how to arrange the primitive based on the vertices given whether it is triangles, lines, points, etc. A complete list can be found under the :ref:`Mesh ` class reference page." +#: ../../docs/tutorials/3d/procedural_geometry/immediatemesh.rst:16 +msgid "Next, add a script to the MeshInstance3D. The code for the ImmediateMesh should go in the ``_process()`` function if you want it to update each frame, or in the ``_ready()`` function if you want to create the mesh once and not update it. If you only generate a surface once, the ImmediateMesh is just as efficient as any other kind of mesh as the generated mesh is cached and reused." msgstr "" #: ../../docs/tutorials/3d/procedural_geometry/immediatemesh.rst:22 +msgid "To begin generating geometry you must call ``surface_begin()``. ``surface_begin()`` takes a ``PrimitiveType`` as an argument. ``PrimitiveType`` instructs the GPU how to arrange the primitive based on the vertices given whether it is triangles, lines, points, etc. A complete list can be found under the :ref:`Mesh ` class reference page." +msgstr "" + +#: ../../docs/tutorials/3d/procedural_geometry/immediatemesh.rst:28 msgid "Once you have called ``surface_begin()`` you are ready to start adding vertices. You add vertices one at a time. First you add vertex specific attributes such as normals or UVs using ``surface_set_****()`` (e.g. ``surface_set_normal()``). Then you call ``surface_add_vertex()`` to add a vertex with those attributes. For example:" msgstr "" -#: ../../docs/tutorials/3d/procedural_geometry/immediatemesh.rst:34 -msgid "Only attributes added before the call to ``surface_add_vertex()`` will be included in that vertex." +#: ../../docs/tutorials/3d/procedural_geometry/immediatemesh.rst:42 +msgid "Only attributes added before the call to ``surface_add_vertex()`` will be included in that vertex. If you add an attribute twice before calling ``surface_add_vertex()``, only the second call will be used." msgstr "" -#: ../../docs/tutorials/3d/procedural_geometry/immediatemesh.rst:36 -msgid "Finally, once you have added all your vertices call ``surface_end()`` to signal that you have finished generating the mesh." +#: ../../docs/tutorials/3d/procedural_geometry/immediatemesh.rst:46 +msgid "Finally, once you have added all your vertices call ``surface_end()`` to signal that you have finished generating the surface. You can call ``surface_begin()`` and ``surface_end()`` multiple times to generate multiple surfaces for the mesh." msgstr "" -#: ../../docs/tutorials/3d/procedural_geometry/immediatemesh.rst:38 -msgid "The example code below draws a single triangle." +#: ../../docs/tutorials/3d/procedural_geometry/immediatemesh.rst:50 +msgid "The example code below draws a single triangle in the ``_ready()`` function." +msgstr "" + +#: ../../docs/tutorials/3d/procedural_geometry/immediatemesh.rst:78 +msgid "The ImmediateMesh can also be used across frames. Each time you call ``surface_begin()`` and ``surface_end()``, you are adding a new surface to the ImmediateMesh. If you want to recreate the mesh from scratch each frame, call ``surface_clear()`` before calling ``surface_begin()``." +msgstr "" + +#: ../../docs/tutorials/3d/procedural_geometry/immediatemesh.rst:101 +msgid "The above code will dynamically create and draw a single surface each frame." msgstr "" #: ../../docs/:0 diff --git a/sphinx/templates/tutorials/3d/procedural_geometry/index.pot b/sphinx/templates/tutorials/3d/procedural_geometry/index.pot index a7f8faeb20..c046967f37 100644 --- a/sphinx/templates/tutorials/3d/procedural_geometry/index.pot +++ b/sphinx/templates/tutorials/3d/procedural_geometry/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -41,126 +41,126 @@ msgid "What is a Mesh?" msgstr "" #: ../../docs/tutorials/3d/procedural_geometry/index.rst:33 -msgid "Many things in Godot have mesh in their name: the :ref:`Mesh `, the :ref:`ArrayMesh `, the :ref:`MeshInstance3D `, the :ref:`MultiMesh `, and the :ref:`MultiMeshInstance3D `. While they are all related, they have slightly different uses." +msgid "Many things in Godot have mesh in their name: the :ref:`Mesh `, the :ref:`ArrayMesh `, the :ref:`ImmediateMesh `, the :ref:`MeshInstance3D `, the :ref:`MultiMesh `, and the :ref:`MultiMeshInstance3D `. While they are all related, they have slightly different uses." msgstr "" -#: ../../docs/tutorials/3d/procedural_geometry/index.rst:37 +#: ../../docs/tutorials/3d/procedural_geometry/index.rst:40 msgid "Meshes and ArrayMeshes are resources that are drawn using a MeshInstance3D node. Resources like Meshes and ArrayMeshes cannot be added to the scene directly. A MeshInstance3D represents one instance of a mesh in your scene. You can reuse a single mesh in multiple MeshInstance3Ds to draw it in different parts of your scene with different materials or transformations (scale, rotation, position etc.)." msgstr "" -#: ../../docs/tutorials/3d/procedural_geometry/index.rst:43 +#: ../../docs/tutorials/3d/procedural_geometry/index.rst:46 msgid "If you are going to draw the same object many times, it can be helpful to use a MultiMesh with a MultiMeshInstance3D. MultiMeshInstance3Ds draw meshes thousands of times very cheaply by taking advantage of hardware instancing. The drawback with using a MultiMeshInstance3D is that each of your mesh's surfaces are limited to one material for all instances. It uses an instance array to store different colors and transformations for each instance, but all the instances of each surface use the same material." msgstr "" -#: ../../docs/tutorials/3d/procedural_geometry/index.rst:51 +#: ../../docs/tutorials/3d/procedural_geometry/index.rst:54 msgid "What a Mesh is" msgstr "" -#: ../../docs/tutorials/3d/procedural_geometry/index.rst:53 +#: ../../docs/tutorials/3d/procedural_geometry/index.rst:56 msgid "A Mesh is composed of one or more surfaces. A surface is an array composed of multiple sub-arrays containing vertices, normals, UVs, etc. Normally the process of constructing surfaces and meshes is hidden from the user in the :ref:`RenderingServer `, but with ArrayMeshes, the user can construct a Mesh manually by passing in an array containing the surface information." msgstr "" -#: ../../docs/tutorials/3d/procedural_geometry/index.rst:59 +#: ../../docs/tutorials/3d/procedural_geometry/index.rst:62 msgid "Surfaces" msgstr "" -#: ../../docs/tutorials/3d/procedural_geometry/index.rst:61 +#: ../../docs/tutorials/3d/procedural_geometry/index.rst:64 msgid "Each surface has its own material. Alternatively, you can override the material for all surfaces in the Mesh when you use a MeshInstance3D using the :ref:`material_override ` property." msgstr "" -#: ../../docs/tutorials/3d/procedural_geometry/index.rst:65 +#: ../../docs/tutorials/3d/procedural_geometry/index.rst:68 msgid "Surface array" msgstr "" -#: ../../docs/tutorials/3d/procedural_geometry/index.rst:67 +#: ../../docs/tutorials/3d/procedural_geometry/index.rst:70 msgid "The surface array is an array of length ``ArrayMesh.ARRAY_MAX``. Each position in the array is filled with a sub-array containing per-vertex information. For example, the array located at ``ArrayMesh.ARRAY_NORMAL`` is a :ref:`PackedVector3Array ` of vertex normals. See :ref:`Mesh.ArrayType ` for more information." msgstr "" -#: ../../docs/tutorials/3d/procedural_geometry/index.rst:72 +#: ../../docs/tutorials/3d/procedural_geometry/index.rst:75 msgid "The surface array can be indexed or non-indexed. Creating a non-indexed array is as easy as not assigning an array at the index ``ArrayMesh.ARRAY_INDEX``. A non-indexed array stores unique vertex information for every triangle, meaning that when two triangles share a vertex, the vertex is duplicated in the array. An indexed surface array only stores vertex information for each unique vertex and then also stores an array of indices which maps out how to construct the triangles from the vertex array. In general, using an indexed array is faster, but it means you have to share vertex data between triangles, which is not always desired (e.g. when you want per-face normals)." msgstr "" -#: ../../docs/tutorials/3d/procedural_geometry/index.rst:81 +#: ../../docs/tutorials/3d/procedural_geometry/index.rst:84 msgid "Tools" msgstr "" -#: ../../docs/tutorials/3d/procedural_geometry/index.rst:83 +#: ../../docs/tutorials/3d/procedural_geometry/index.rst:86 msgid "Godot provides different ways of accessing and working with geometry. More information on each will be provided in the following tutorials." msgstr "" -#: ../../docs/tutorials/3d/procedural_geometry/index.rst:87 +#: ../../docs/tutorials/3d/procedural_geometry/index.rst:90 msgid "ArrayMesh" msgstr "" -#: ../../docs/tutorials/3d/procedural_geometry/index.rst:89 +#: ../../docs/tutorials/3d/procedural_geometry/index.rst:92 msgid "The ArrayMesh resource extends Mesh to add a few different quality of life functions and, most importantly, the ability to construct a Mesh surface through scripting." msgstr "" -#: ../../docs/tutorials/3d/procedural_geometry/index.rst:92 +#: ../../docs/tutorials/3d/procedural_geometry/index.rst:95 msgid "For more information about the ArrayMesh, please see the :ref:`ArrayMesh tutorial `." msgstr "" -#: ../../docs/tutorials/3d/procedural_geometry/index.rst:95 +#: ../../docs/tutorials/3d/procedural_geometry/index.rst:98 msgid "MeshDataTool" msgstr "" -#: ../../docs/tutorials/3d/procedural_geometry/index.rst:97 +#: ../../docs/tutorials/3d/procedural_geometry/index.rst:100 msgid "The MeshDataTool is a resource that converts Mesh data into arrays of vertices, faces, and edges that can be modified at runtime." msgstr "" -#: ../../docs/tutorials/3d/procedural_geometry/index.rst:100 +#: ../../docs/tutorials/3d/procedural_geometry/index.rst:103 msgid "For more information about the MeshDataTool, please see the :ref:`MeshDataTool tutorial `." msgstr "" -#: ../../docs/tutorials/3d/procedural_geometry/index.rst:103 +#: ../../docs/tutorials/3d/procedural_geometry/index.rst:106 msgid "SurfaceTool" msgstr "" -#: ../../docs/tutorials/3d/procedural_geometry/index.rst:105 +#: ../../docs/tutorials/3d/procedural_geometry/index.rst:108 msgid "The SurfaceTool allows the creation of Meshes using an OpenGL 1.x immediate mode style interface." msgstr "" -#: ../../docs/tutorials/3d/procedural_geometry/index.rst:107 +#: ../../docs/tutorials/3d/procedural_geometry/index.rst:110 msgid "For more information about the SurfaceTool, please see the :ref:`SurfaceTool tutorial `." msgstr "" -#: ../../docs/tutorials/3d/procedural_geometry/index.rst:110 +#: ../../docs/tutorials/3d/procedural_geometry/index.rst:113 msgid "ImmediateMesh" msgstr "" -#: ../../docs/tutorials/3d/procedural_geometry/index.rst:112 -msgid "ImmediateMesh is a node that uses an immediate mode style interface (like SurfaceTool) to draw objects. The difference between ImmediateMesh and the SurfaceTool is that ImmediateMesh is a node itself that can be added to the scene tree and is drawn directly from the code, while The SurfaceTool generates a Mesh that needs to be added to a MeshInstance3D to be seen." -msgstr "" - -#: ../../docs/tutorials/3d/procedural_geometry/index.rst:117 -msgid "ImmediateMesh is useful for prototyping because of its straightforward API, but it is slow because the geometry is rebuilt every frame. It is most useful for adding simple geometry for visual debugging (e.g. by drawing lines to visualize physics raycasts etc.)." +#: ../../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." msgstr "" #: ../../docs/tutorials/3d/procedural_geometry/index.rst:121 -msgid "For more information about ImmediateMesh, please see the :ref:`ImmediateMesh tutorial `." -msgstr "" - -#: ../../docs/tutorials/3d/procedural_geometry/index.rst:124 -msgid "Which one should I use?" +msgid "ImmediateMesh is useful for prototyping because of its straightforward API, but it is slow because the geometry is rebuilt each time you make a change. It is most useful for adding simple geometry for visual debugging (e.g. by drawing lines to visualize physics raycasts etc.)." msgstr "" #: ../../docs/tutorials/3d/procedural_geometry/index.rst:126 +msgid "For more information about ImmediateMesh, please see the :ref:`ImmediateMesh tutorial `." +msgstr "" + +#: ../../docs/tutorials/3d/procedural_geometry/index.rst:129 +msgid "Which one should I use?" +msgstr "" + +#: ../../docs/tutorials/3d/procedural_geometry/index.rst:131 msgid "Which approach you use depends on what you are trying to do and what kind of procedure you are comfortable with." msgstr "" -#: ../../docs/tutorials/3d/procedural_geometry/index.rst:128 +#: ../../docs/tutorials/3d/procedural_geometry/index.rst:133 msgid "Both SurfaceTool and ArrayMesh are excellent for generating static geometry (meshes) that don't change over time." msgstr "" -#: ../../docs/tutorials/3d/procedural_geometry/index.rst:130 +#: ../../docs/tutorials/3d/procedural_geometry/index.rst:135 msgid "Using an ArrayMesh is slightly faster than using a SurfaceTool, but the API is a little more challenging. Additionally, SurfaceTool has a few quality of life methods such as ``generate_normals()`` and ``index()``." msgstr "" -#: ../../docs/tutorials/3d/procedural_geometry/index.rst:133 -msgid "ImmediateMesh regenerates the mesh every frame, so it is much slower than ArrayMesh or SurfaceTool. However, if you need the geometry to change every frame anyway, it provides a much easier interface that may even be a little faster than generating an ArrayMesh every frame." +#: ../../docs/tutorials/3d/procedural_geometry/index.rst:138 +msgid "ImmediateMesh is more limited than both ArrayMesh and SurfaceTool. However, if you need the geometry to change every frame anyway, it provides a much easier interface that can be slightly faster than generating an ArrayMesh every frame." msgstr "" -#: ../../docs/tutorials/3d/procedural_geometry/index.rst:137 +#: ../../docs/tutorials/3d/procedural_geometry/index.rst:142 msgid "The MeshDataTool is not fast, but it gives you access to all kinds of properties of the mesh that you don't get with the others (edges, faces, etc.). It is incredibly useful when you need that sort of data to transform the mesh, but it is not a good idea to use it if that extra information is not needed. The MeshDataTool is best used if you are going to be using an algorithm that requires access to the face or edge array." msgstr "" diff --git a/sphinx/templates/tutorials/3d/procedural_geometry/meshdatatool.pot b/sphinx/templates/tutorials/3d/procedural_geometry/meshdatatool.pot index d30fe6183e..d2114df015 100644 --- a/sphinx/templates/tutorials/3d/procedural_geometry/meshdatatool.pot +++ b/sphinx/templates/tutorials/3d/procedural_geometry/meshdatatool.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-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 e97b44c634..c491455dca 100644 --- a/sphinx/templates/tutorials/3d/procedural_geometry/surfacetool.pot +++ b/sphinx/templates/tutorials/3d/procedural_geometry/surfacetool.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-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 df134b321d..7df9b12b76 100644 --- a/sphinx/templates/tutorials/3d/resolution_scaling.pot +++ b/sphinx/templates/tutorials/3d/resolution_scaling.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-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 0bac0b820f..55d87924e2 100644 --- a/sphinx/templates/tutorials/3d/standard_material_3d.pot +++ b/sphinx/templates/tutorials/3d/standard_material_3d.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -61,635 +61,735 @@ msgid "Transparency" msgstr "" #: ../../docs/tutorials/3d/standard_material_3d.rst:50 -msgid "In Godot, materials are not transparent unless specifically configured to be. The main reason behind this is that transparent materials are rendered using a different technique (sorted from back to front and rendered in order)." +msgid "By default, materials in Godot are opaque. This is fast to render, but it means the material can't be seen through even if you use a transparent texture in the **Albedo > Texture** property (or set **Albedo > Color** to a transparent color)." msgstr "" #: ../../docs/tutorials/3d/standard_material_3d.rst:54 -msgid "This technique is less efficient (many state changes happen) and makes the materials unusable with many mid- and post-processing effects (such as SSAO, SSR, etc.) that require perfectly opaque geometry." +msgid "To be able to see through a material, the material needs to be made *transparent*. Godot offers several transparency modes:" msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:58 -msgid "For this reason, materials in Godot are assumed opaque unless specified otherwise. The main settings that enable transparency are:" +#: ../../docs/tutorials/3d/standard_material_3d.rst:57 +msgid "**Disabled:** Material is opaque. This is the fastest to render, with all rendering features supported." msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:61 -msgid "Transparency (this one)" -msgstr "" - -#: ../../docs/tutorials/3d/standard_material_3d.rst:62 -msgid "Blend mode set to other than \"Mix\"" -msgstr "" - -#: ../../docs/tutorials/3d/standard_material_3d.rst:63 -msgid "Enabling distance or proximity fade" +#: ../../docs/tutorials/3d/standard_material_3d.rst:60 +msgid "**Alpha:** Material is transparent. Semi-transparent areas are drawn with blending. This is slow to render, but it allows for partial transparency (also known as translucency). Materials using alpha blending also can't cast shadows, and are not visible in screen-space reflections." msgstr "" #: ../../docs/tutorials/3d/standard_material_3d.rst:65 -msgid "When transparency other than ``0`` or ``1`` is not needed, it's possible to set a threshold to prevent the object from rendering semi-transparent pixels using the alpha scissor option." +msgid "**Alpha** is a good fit for particle effects and VFX." msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:71 -msgid "This renders the object via the opaque pipeline when opaque pre-pass is on, which is faster and allows it to use mid- and post-process effects such as SSAO, SSR, etc." +#: ../../docs/tutorials/3d/standard_material_3d.rst:67 +msgid "**Alpha Scissor:** Material is transparent. Semi-transparent areas whose opacity is below **Alpha Scissor Threshold** are not drawn (above this opacity, these are drawn as opaque). This is faster to render than Alpha and doesn't exhibit transparency sorting issues. The downside is that this results in \"all or nothing\" transparency, with no intermediate values possible. Materials using alpha scissor can cast shadows." msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:76 -msgid "Blend Mode" +#: ../../docs/tutorials/3d/standard_material_3d.rst:74 +msgid "**Alpha Scissor** is ideal for foliage and fences, since these have hard edges and require correct sorting to look good." msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:78 -msgid "Controls the blend mode for the material. Keep in mind that any mode other than *Mix* forces the object to go through the transparent pipeline." -msgstr "" - -#: ../../docs/tutorials/3d/standard_material_3d.rst:81 -msgid "**Mix:** Default blend mode, alpha controls how much the object is visible." +#: ../../docs/tutorials/3d/standard_material_3d.rst:77 +msgid "**Alpha Hash:** Material is transparent. Semi-transparent areas are drawn using dithering. This is also \"all or nothing\" transparency, but dithering helps represent partially opaque areas with limited precision depending on viewport resolution. Materials using alpha hash can cast shadows." msgstr "" #: ../../docs/tutorials/3d/standard_material_3d.rst:82 -msgid "**Add:** The final color of the object is added to the color of the screen, nice for flares or some fire-like effects." +msgid "**Alpha Hash** is suited for realistic-looking hair, although stylized hair may work better with alpha scissor." msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:84 -msgid "**Sub:** The final color of the object is subtracted from the color of the screen." +#: ../../docs/tutorials/3d/standard_material_3d.rst:85 +msgid "**Depth Pre-Pass:** This renders the object's fully opaque pixels via the opaque pipeline first, then renders the rest with alpha blending. This allows transparency sorting to be *mostly* correct (albeit not fully so, as partially transparent regions may still exhibit incorrect sorting). Materials using depth prepass can cast shadows." msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:86 -msgid "**Mul:** The final color of the object is multiplied with the color of the screen." -msgstr "" - -#: ../../docs/tutorials/3d/standard_material_3d.rst:92 -msgid "Cull Mode" -msgstr "" - -#: ../../docs/tutorials/3d/standard_material_3d.rst:94 -msgid "Determines which side of the object is not drawn when backfaces are rendered:" +#: ../../docs/tutorials/3d/standard_material_3d.rst:93 +msgid "Godot will automatically force the material to be transparent with alpha blending if *any* of these conditions is met:" msgstr "" #: ../../docs/tutorials/3d/standard_material_3d.rst:96 -msgid "**Back:** The back of the object is culled when not visible (default)." +msgid "Setting the transparency mode to **Alpha** (as described here)." msgstr "" #: ../../docs/tutorials/3d/standard_material_3d.rst:97 -msgid "**Front:** The front of the object is culled when not visible." +msgid "Setting a blend mode other than the default **Mix**" msgstr "" #: ../../docs/tutorials/3d/standard_material_3d.rst:98 -msgid "**Disabled:** Used for objects that are double-sided (no culling is performed)." +msgid "Enabling **Refraction**, **Proximity Fade**, or **Distance Fade**." msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:102 -msgid "By default, Blender has backface culling disabled on materials and will export materials to match how they render in Blender. This means that materials in Godot will have their cull mode set to **Disabled**. This can decrease performance since backfaces will be rendered, even when they are being culled by other faces. To resolve this, enable **Backface Culling** in Blender's Materials tab, then export the scene to glTF again." +#: ../../docs/tutorials/3d/standard_material_3d.rst:100 +msgid "Comparison between alpha blending (left) and alpha scissor (right) transparency:" msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:110 -msgid "Depth Draw Mode" +#: ../../docs/tutorials/3d/standard_material_3d.rst:106 +msgid "Alpha-blended transparency has several :ref:`limitations `:" msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:112 -msgid "Specifies when depth rendering must take place." +#: ../../docs/tutorials/3d/standard_material_3d.rst:109 +msgid "Alpha-blended materials are significantly slower to render, especially if they overlap." msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:114 -msgid "**Opaque Only (default):** Depth is only drawn for opaque objects." +#: ../../docs/tutorials/3d/standard_material_3d.rst:111 +msgid "Alpha-blended materials may exhibit sorting issues when transparent surfaces overlap each other. This means that surfaces may render in the incorrect order, with surfaces in the back appearing to be in front of those which are actually closer to the camera." msgstr "" #: ../../docs/tutorials/3d/standard_material_3d.rst:115 -msgid "**Always:** Depth draw is drawn for both opaque and transparent objects." +msgid "Alpha-blended materials don't cast shadows, although they can receive shadows." msgstr "" #: ../../docs/tutorials/3d/standard_material_3d.rst:116 -msgid "**Never:** No depth draw takes place (do not confuse this with the No Depth Test option below)." +msgid "Alpha-blended materials don't appear in any reflections (other than reflection probes)." msgstr "" #: ../../docs/tutorials/3d/standard_material_3d.rst:118 -msgid "**Depth Pre-Pass:** For transparent objects, an opaque pass is made first with the opaque parts, then transparency is drawn above. Use this option with transparent grass or tree foliage." +msgid "Screen-space reflections and sharp SDFGI reflections don't appear on alpha-blended materials. When SDFGI is enabled, rough reflections are used as a fallback regardless of material roughness." msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:125 -msgid "No Depth Test" +#: ../../docs/tutorials/3d/standard_material_3d.rst:122 +msgid "Before using the **Alpha** transparency mode, always consider whether another transparency mode is more suited for your needs." msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:127 -msgid "In order for close objects to appear over far away objects, depth testing is performed. Disabling it has the result of objects appearing over (or under) everything else." +#: ../../docs/tutorials/3d/standard_material_3d.rst:128 +msgid "Alpha Antialiasing" msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:131 -msgid "Disabling this makes the most sense for drawing indicators in world space, and works very well with the *Render Priority* property of Material (see the bottom of this page)." +#: ../../docs/tutorials/3d/standard_material_3d.rst:132 +msgid "This property is only visible when the transparency mode is **Alpha Scissor** or **Alpha Hash**." msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:138 -msgid "Shading" +#: ../../docs/tutorials/3d/standard_material_3d.rst:135 +msgid "While alpha scissor and alpha hash materials are faster to render than alpha-blended materials, they exhibit hard edges between opaque and transparent regions. While it's possible to use post-processing-based :ref:`antialiasing techniques ` such as FXAA and TAA, this is not always desired as these techniques tend to make the final result look blurrier or exhibit ghosting artifacts." msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:141 -msgid "Shading mode" +#: ../../docs/tutorials/3d/standard_material_3d.rst:142 +msgid "There are 3 alpha antialiasing modes available:" msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:143 -msgid "Godot has a more or less uniform cost per pixel thanks to depth pre-pass. All lighting calculations are made by running the lighting shader on every pixel." +#: ../../docs/tutorials/3d/standard_material_3d.rst:144 +msgid "**Disabled:** No alpha antialiasing. Edges of transparent materials will appear aliased unless a post-processing-based antialiasing solution is used." msgstr "" #: ../../docs/tutorials/3d/standard_material_3d.rst:146 -msgid "As these calculations are costly, performance can be brought down considerably in some corner cases such as drawing several layers of transparency (which is common in particle systems). Switching to per-vertex lighting may help in these cases." +msgid "**Alpha Edge Blend:** Results in a smooth transition between opaque and transparent areas. Also known as \"alpha to coverage\"." msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:151 -msgid "Additionally, on low-end or mobile devices, switching to vertex lighting can considerably increase rendering performance." +#: ../../docs/tutorials/3d/standard_material_3d.rst:148 +msgid "**Alpha Edge Clip:** Results in a sharp, but still antialiased transition between opaque and transparent areas. Also known as \"alpha to coverage + alpha to one\"." msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:156 -msgid "Keep in mind that when vertex lighting is enabled, only directional lighting can produce shadows (for performance reasons)." +#: ../../docs/tutorials/3d/standard_material_3d.rst:152 +msgid "When the alpha antialiasing mode is set to **Alpha Edge Blend** or **Alpha Edge Clip**, a new **Alpha Antialiasing Edge** property becomes visible below in the inspector. This property controls the threshold below which pixels should be made transparent. While you've already defined an alpha scissor threshold (when using **Alpha Scissor** only), this additional threshold is used to smoothly transition between opaque and transparent pixels. **Alpha Antialiasing Edge** must *always* be set to a value that is strictly below the alpha scissor threshold. The default of ``0.3`` is a sensible value with an alpha scissor of threshold of ``0.5``, but remember to adjust this alpha antialiasing edge when modifying the alpha scissor threshold." msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:159 -msgid "However, in some cases you might want to show just the albedo (color) and ignore the rest. To do this you can set the shading mode to unshaded" -msgstr "" - -#: ../../docs/tutorials/3d/standard_material_3d.rst:165 -msgid "Diffuse Mode" -msgstr "" - -#: ../../docs/tutorials/3d/standard_material_3d.rst:167 -msgid "Specifies the algorithm used by diffuse scattering of light when hitting the object. The default is *Burley*. Other modes are also available:" -msgstr "" - -#: ../../docs/tutorials/3d/standard_material_3d.rst:170 -msgid "**Burley:** Default mode, the original Disney Principled PBS diffuse algorithm." +#: ../../docs/tutorials/3d/standard_material_3d.rst:163 +msgid "If you find the antialiasing effect not effective enough, try increasing **Alpha Antialiasing Edge** while making sure it's below **Alpha Scissor Threshold** (if the material uses alpha scissor). On the other hand, if you notice the texture's appearance visibly changing as the camera moves closer to the material, try decreasing **Alpha Antialiasing Edge**." msgstr "" #: ../../docs/tutorials/3d/standard_material_3d.rst:171 -msgid "**Lambert:** Is not affected by roughness." -msgstr "" - -#: ../../docs/tutorials/3d/standard_material_3d.rst:172 -msgid "**Lambert Wrap:** Extends Lambert to cover more than 90 degrees when roughness increases. Works great for hair and simulating cheap subsurface scattering. This implementation is energy conserving." +msgid "For best results, MSAA 3D should be set to at least 2× in the Project Settings when using alpha antialiasing. This is because this feature relies on alpha to coverage, which is a feature provided by MSAA." msgstr "" #: ../../docs/tutorials/3d/standard_material_3d.rst:175 -msgid "**Oren Nayar:** This implementation aims to take microsurfacing into account (via roughness). Works well for clay-like materials and some types of cloth." +msgid "Without MSAA, a fixed dithering pattern is applied on the material's edges, which isn't very effective at smoothing out edges (although it can still help a little)." msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:177 -msgid "**Toon:** Provides a hard cut for lighting, with smoothing affected by roughness. It is recommended you disable sky contribution from your environment's ambient light settings or disable ambient light in the StandardMaterial3D to achieve a better effect." +#: ../../docs/tutorials/3d/standard_material_3d.rst:180 +msgid "Blend Mode" +msgstr "" + +#: ../../docs/tutorials/3d/standard_material_3d.rst:182 +msgid "Controls the blend mode for the material. Keep in mind that any mode other than *Mix* forces the object to go through the transparent pipeline." msgstr "" #: ../../docs/tutorials/3d/standard_material_3d.rst:185 -msgid "Specular Mode" +msgid "**Mix:** Default blend mode, alpha controls how much the object is visible." msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:187 -msgid "Specifies how the specular blob will be rendered. The specular blob represents the shape of a light source reflected in the object." +#: ../../docs/tutorials/3d/standard_material_3d.rst:186 +msgid "**Add:** The final color of the object is added to the color of the screen, nice for flares or some fire-like effects." +msgstr "" + +#: ../../docs/tutorials/3d/standard_material_3d.rst:188 +msgid "**Sub:** The final color of the object is subtracted from the color of the screen." msgstr "" #: ../../docs/tutorials/3d/standard_material_3d.rst:190 -msgid "**SchlickGGX:** The most common blob used by PBR 3D engines nowadays." +msgid "**Mul:** The final color of the object is multiplied with the color of the screen." msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:191 -msgid "**Blinn:** Common in previous-generation engines. Not worth using nowadays, but left here for the sake of compatibility." +#: ../../docs/tutorials/3d/standard_material_3d.rst:196 +msgid "Cull Mode" msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:193 -msgid "**Phong:** Same as above." -msgstr "" - -#: ../../docs/tutorials/3d/standard_material_3d.rst:194 -msgid "**Toon:** Creates a toon blob, which changes size depending on roughness." -msgstr "" - -#: ../../docs/tutorials/3d/standard_material_3d.rst:195 -msgid "**Disabled:** Sometimes the blob gets in the way. Begone!" +#: ../../docs/tutorials/3d/standard_material_3d.rst:198 +msgid "Determines which side of the object is not drawn when backfaces are rendered:" msgstr "" #: ../../docs/tutorials/3d/standard_material_3d.rst:200 -msgid "Disable Ambient Light" +msgid "**Back:** The back of the object is culled when not visible (default)." +msgstr "" + +#: ../../docs/tutorials/3d/standard_material_3d.rst:201 +msgid "**Front:** The front of the object is culled when not visible." msgstr "" #: ../../docs/tutorials/3d/standard_material_3d.rst:202 -msgid "Makes the object not receive any kind of ambient lighting that would otherwise light it." +msgid "**Disabled:** Used for objects that are double-sided (no culling is performed)." msgstr "" #: ../../docs/tutorials/3d/standard_material_3d.rst:206 -msgid "Disable Fog" +msgid "By default, Blender has backface culling disabled on materials and will export materials to match how they render in Blender. This means that materials in Godot will have their cull mode set to **Disabled**. This can decrease performance since backfaces will be rendered, even when they are being culled by other faces. To resolve this, enable **Backface Culling** in Blender's Materials tab, then export the scene to glTF again." msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:208 -msgid "Makes the object unaffected by depth-based or volumetric fog. This is useful for particles or other additively blended materials that would otherwise show the shape of the mesh (even in places where it would be invisible without the fog)." +#: ../../docs/tutorials/3d/standard_material_3d.rst:214 +msgid "Depth Draw Mode" msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:211 -msgid "Vertex Color" +#: ../../docs/tutorials/3d/standard_material_3d.rst:216 +msgid "Specifies when depth rendering must take place." msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:213 -msgid "This setting allows choosing what is done by default to vertex colors that come from your 3D modelling application. By default, they are ignored." +#: ../../docs/tutorials/3d/standard_material_3d.rst:218 +msgid "**Opaque Only (default):** Depth is only drawn for opaque objects." msgstr "" #: ../../docs/tutorials/3d/standard_material_3d.rst:219 -msgid "Use as Albedo" +msgid "**Always:** Depth draw is drawn for both opaque and transparent objects." msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:221 -msgid "Choosing this option means vertex color is used as albedo color." +#: ../../docs/tutorials/3d/standard_material_3d.rst:220 +msgid "**Never:** No depth draw takes place (do not confuse this with the No Depth Test option below)." msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:224 -msgid "Is sRGB" +#: ../../docs/tutorials/3d/standard_material_3d.rst:222 +msgid "**Depth Pre-Pass:** For transparent objects, an opaque pass is made first with the opaque parts, then transparency is drawn above. Use this option with transparent grass or tree foliage." msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:226 -msgid "Most 3D modeling software will likely export vertex colors as sRGB, so toggling this option on will help them look correct." +#: ../../docs/tutorials/3d/standard_material_3d.rst:229 +msgid "No Depth Test" msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:230 -msgid "Albedo" +#: ../../docs/tutorials/3d/standard_material_3d.rst:231 +msgid "In order for close objects to appear over far away objects, depth testing is performed. Disabling it has the result of objects appearing over (or under) everything else." msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:232 -msgid "*Albedo* is the base color for the material, on which all the other settings operate. When set to *Unshaded*, this is the only color that is visible. In previous versions of Godot, this channel was named *Diffuse*. The change of name mainly happened because, in PBR (Physically Based Rendering), this color affects many more calculations than just the diffuse lighting path." +#: ../../docs/tutorials/3d/standard_material_3d.rst:235 +msgid "Disabling this makes the most sense for drawing indicators in world space, and works very well with the *Render Priority* property of Material (see the bottom of this page)." msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:238 -msgid "Albedo color and texture can be used together as they are multiplied." -msgstr "" - -#: ../../docs/tutorials/3d/standard_material_3d.rst:240 -msgid "*Alpha channel* in albedo color and texture is also used for the object transparency. If you use a color or texture with *alpha channel*, make sure to either enable transparency or *alpha scissoring* for it to work." +#: ../../docs/tutorials/3d/standard_material_3d.rst:242 +msgid "Shading" msgstr "" #: ../../docs/tutorials/3d/standard_material_3d.rst:245 -msgid "Metallic" +msgid "Shading mode" msgstr "" #: ../../docs/tutorials/3d/standard_material_3d.rst:247 -msgid "Godot uses a metallic model over competing models due to its simplicity. This parameter defines how reflective the material is. The more reflective, the less diffuse/ambient light affects the material and the more light is reflected. This model is called \"energy-conserving\"." +msgid "Godot has a more or less uniform cost per pixel thanks to depth pre-pass. All lighting calculations are made by running the lighting shader on every pixel." msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:252 -msgid "The *Specular* parameter is a general amount for the reflectivity (unlike *Metallic*, this is not energy-conserving, so leave it at ``0.5`` and don't touch it unless you need to)." +#: ../../docs/tutorials/3d/standard_material_3d.rst:250 +msgid "As these calculations are costly, performance can be brought down considerably in some corner cases such as drawing several layers of transparency (which is common in particle systems). Switching to per-vertex lighting may help in these cases." msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:256 -msgid "The minimum internal reflectivity is ``0.04``, so it's impossible to make a material completely unreflective, just like in real life." +#: ../../docs/tutorials/3d/standard_material_3d.rst:255 +msgid "Additionally, on low-end or mobile devices, switching to vertex lighting can considerably increase rendering performance." msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:262 -msgid "Roughness" +#: ../../docs/tutorials/3d/standard_material_3d.rst:260 +msgid "Keep in mind that when vertex lighting is enabled, only directional lighting can produce shadows (for performance reasons)." msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:264 -msgid "*Roughness* affects the way reflection happens. A value of ``0`` makes it a perfect mirror while a value of ``1`` completely blurs the reflection (simulating natural microsurfacing). Most common types of materials can be achieved with the right combination of *Metallic* and *Roughness*." +#: ../../docs/tutorials/3d/standard_material_3d.rst:263 +msgid "However, in some cases you might want to show just the albedo (color) and ignore the rest. To do this you can set the shading mode to unshaded" msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:272 -msgid "Emission" +#: ../../docs/tutorials/3d/standard_material_3d.rst:269 +msgid "Diffuse Mode" +msgstr "" + +#: ../../docs/tutorials/3d/standard_material_3d.rst:271 +msgid "Specifies the algorithm used by diffuse scattering of light when hitting the object. The default is *Burley*. Other modes are also available:" msgstr "" #: ../../docs/tutorials/3d/standard_material_3d.rst:274 -msgid "*Emission* specifies how much light is emitted by the material (keep in mind this does not include light surrounding geometry unless :ref:`VoxelGI ` or :ref:`SDFGI ` are used). This value is added to the resulting final image and is not affected by other lighting in the scene." +msgid "**Burley:** Default mode, the original Disney Principled PBS diffuse algorithm." msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:282 -msgid "Normal map" +#: ../../docs/tutorials/3d/standard_material_3d.rst:275 +msgid "**Lambert:** Is not affected by roughness." msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:284 -msgid "Normal mapping allows you to set a texture that represents finer shape detail. This does not modify geometry, only the incident angle for light. In Godot, only the red and green channels of normal maps are used for better compression and wider compatibility." +#: ../../docs/tutorials/3d/standard_material_3d.rst:276 +msgid "**Lambert Wrap:** Extends Lambert to cover more than 90 degrees when roughness increases. Works great for hair and simulating cheap subsurface scattering. This implementation is energy conserving." msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:293 -msgid "Godot requires the normal map to use the X+, Y+ and Z+ coordinates, this is known as OpenGL style. If you've imported a material made to be used with another engine it may be DirectX style, in which case the normal map needs to be converted so its Y axis is flipped." +#: ../../docs/tutorials/3d/standard_material_3d.rst:279 +msgid "**Oren Nayar:** This implementation aims to take microsurfacing into account (via roughness). Works well for clay-like materials and some types of cloth." +msgstr "" + +#: ../../docs/tutorials/3d/standard_material_3d.rst:281 +msgid "**Toon:** Provides a hard cut for lighting, with smoothing affected by roughness. It is recommended you disable sky contribution from your environment's ambient light settings or disable ambient light in the StandardMaterial3D to achieve a better effect." +msgstr "" + +#: ../../docs/tutorials/3d/standard_material_3d.rst:289 +msgid "Specular Mode" +msgstr "" + +#: ../../docs/tutorials/3d/standard_material_3d.rst:291 +msgid "Specifies how the specular blob will be rendered. The specular blob represents the shape of a light source reflected in the object." +msgstr "" + +#: ../../docs/tutorials/3d/standard_material_3d.rst:294 +msgid "**SchlickGGX:** The most common blob used by PBR 3D engines nowadays." +msgstr "" + +#: ../../docs/tutorials/3d/standard_material_3d.rst:295 +msgid "**Blinn:** Common in previous-generation engines. Not worth using nowadays, but left here for the sake of compatibility." +msgstr "" + +#: ../../docs/tutorials/3d/standard_material_3d.rst:297 +msgid "**Phong:** Same as above." msgstr "" #: ../../docs/tutorials/3d/standard_material_3d.rst:298 -msgid "More information about normal maps (including a coordinate order table for popular engines) can be found `here `__." +msgid "**Toon:** Creates a toon blob, which changes size depending on roughness." msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:303 -msgid "Rim" +#: ../../docs/tutorials/3d/standard_material_3d.rst:299 +msgid "**Disabled:** Sometimes the blob gets in the way. Begone!" msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:305 -msgid "Some fabrics have small micro-fur that causes light to scatter around it. Godot emulates this with the *Rim* parameter. Unlike other rim lighting implementations, which just use the emission channel, this one actually takes light into account (no light means no rim). This makes the effect considerably more believable." +#: ../../docs/tutorials/3d/standard_material_3d.rst:304 +msgid "Disable Ambient Light" +msgstr "" + +#: ../../docs/tutorials/3d/standard_material_3d.rst:306 +msgid "Makes the object not receive any kind of ambient lighting that would otherwise light it." +msgstr "" + +#: ../../docs/tutorials/3d/standard_material_3d.rst:310 +msgid "Disable Fog" msgstr "" #: ../../docs/tutorials/3d/standard_material_3d.rst:312 -msgid "Rim size depends on roughness, and there is a special parameter to specify how it must be colored. If *Tint* is ``0``, the color of the light is used for the rim. If *Tint* is ``1``, then the albedo of the material is used. Using intermediate values generally works best." +msgid "Makes the object unaffected by depth-based or volumetric fog. This is useful for particles or other additively blended materials that would otherwise show the shape of the mesh (even in places where it would be invisible without the fog)." msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:318 -msgid "Clearcoat" +#: ../../docs/tutorials/3d/standard_material_3d.rst:315 +msgid "Vertex Color" msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:321 -msgid "The *Clearcoat* parameter is used to add a secondary pass of transparent coat to the material. This is common in car paint and toys. In practice, it's a smaller specular blob added on top of the existing material." +#: ../../docs/tutorials/3d/standard_material_3d.rst:317 +msgid "This setting allows choosing what is done by default to vertex colors that come from your 3D modeling application. By default, they are ignored." +msgstr "" + +#: ../../docs/tutorials/3d/standard_material_3d.rst:323 +msgid "Use as Albedo" +msgstr "" + +#: ../../docs/tutorials/3d/standard_material_3d.rst:325 +msgid "Choosing this option means vertex color is used as albedo color." msgstr "" #: ../../docs/tutorials/3d/standard_material_3d.rst:328 -msgid "Anisotropy" +msgid "Is sRGB" msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:331 -msgid "This changes the shape of the specular blob and aligns it to tangent space. Anisotropy is commonly used with hair, or to make materials such as brushed aluminum more realistic. It works especially well when combined with flowmaps." +#: ../../docs/tutorials/3d/standard_material_3d.rst:330 +msgid "Most 3D modeling software will likely export vertex colors as sRGB, so toggling this option on will help them look correct." msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:338 -msgid "Ambient Occlusion" +#: ../../docs/tutorials/3d/standard_material_3d.rst:334 +msgid "Albedo" msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:340 -msgid "It is possible to specify a baked ambient occlusion map. This map affects how much ambient light reaches each surface of the object (it does not affect direct light by default). While it is possible to use Screen-Space Ambient Occlusion (SSAO) to generate ambient occlusion, nothing beats the quality of a well-baked AO map. It is recommended to bake ambient occlusion whenever possible." +#: ../../docs/tutorials/3d/standard_material_3d.rst:336 +msgid "*Albedo* is the base color for the material, on which all the other settings operate. When set to *Unshaded*, this is the only color that is visible. In previous versions of Godot, this channel was named *Diffuse*. The change of name mainly happened because, in PBR (Physically Based Rendering), this color affects many more calculations than just the diffuse lighting path." +msgstr "" + +#: ../../docs/tutorials/3d/standard_material_3d.rst:342 +msgid "Albedo color and texture can be used together as they are multiplied." +msgstr "" + +#: ../../docs/tutorials/3d/standard_material_3d.rst:344 +msgid "*Alpha channel* in albedo color and texture is also used for the object transparency. If you use a color or texture with *alpha channel*, make sure to either enable transparency or *alpha scissoring* for it to work." msgstr "" #: ../../docs/tutorials/3d/standard_material_3d.rst:349 -msgid "Height" +msgid "Metallic" msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:352 -msgid "Setting a depth map on a material produces a ray-marched search to emulate the proper displacement of cavities along the view direction. This is not real added geometry, but an illusion of depth. It may not work for complex objects, but it produces a realistic depth effect for textures. For best results, *Depth* should be used together with normal mapping." +#: ../../docs/tutorials/3d/standard_material_3d.rst:351 +msgid "Godot uses a metallic model over competing models due to its simplicity. This parameter defines how reflective the material is. The more reflective, the less diffuse/ambient light affects the material and the more light is reflected. This model is called \"energy-conserving\"." msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:361 -msgid "Subsurface Scattering" +#: ../../docs/tutorials/3d/standard_material_3d.rst:356 +msgid "The *Specular* parameter is a general amount for the reflectivity (unlike *Metallic*, this is not energy-conserving, so leave it at ``0.5`` and don't touch it unless you need to)." msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:364 -msgid "This effect emulates light that penetrates an object's surface, is scattered, and then comes out. It is useful to create realistic skin, marble, colored liquids, etc." +#: ../../docs/tutorials/3d/standard_material_3d.rst:360 +msgid "The minimum internal reflectivity is ``0.04``, so it's impossible to make a material completely unreflective, just like in real life." msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:371 -msgid "Back Lighting" +#: ../../docs/tutorials/3d/standard_material_3d.rst:366 +msgid "Roughness" msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:373 -#: ../../docs/tutorials/3d/standard_material_3d.rst:572 -msgid "This controls how much light from the lit side (visible to light) is transferred to the dark side (opposite from the light). This works well for thin objects such as plant leaves, grass, human ears, etc." +#: ../../docs/tutorials/3d/standard_material_3d.rst:368 +msgid "*Roughness* affects the way reflection happens. A value of ``0`` makes it a perfect mirror while a value of ``1`` completely blurs the reflection (simulating natural microsurfacing). Most common types of materials can be achieved with the right combination of *Metallic* and *Roughness*." +msgstr "" + +#: ../../docs/tutorials/3d/standard_material_3d.rst:376 +msgid "Emission" msgstr "" #: ../../docs/tutorials/3d/standard_material_3d.rst:378 -msgid "Refraction" +msgid "*Emission* specifies how much light is emitted by the material (keep in mind this does not include light surrounding geometry unless :ref:`VoxelGI ` or :ref:`SDFGI ` are used). This value is added to the resulting final image and is not affected by other lighting in the scene." msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:380 -msgid "When refraction is enabled, it supersedes alpha blending, and Godot attempts to fetch information from behind the object being rendered instead. This allows distorting the transparency in a way similar to refraction in real life." -msgstr "" - -#: ../../docs/tutorials/3d/standard_material_3d.rst:384 -msgid "Remember to use a transparent albedo texture (or reduce the albedo color's alpha channel) to make refraction visible, as refraction relies on transparency to have a visible effect." +#: ../../docs/tutorials/3d/standard_material_3d.rst:386 +msgid "Normal map" msgstr "" #: ../../docs/tutorials/3d/standard_material_3d.rst:388 -msgid "A normal map can optionally be specified in the **Refraction Texture** property to allow distorting the refraction's direction on a per-pixel basis." +msgid "Normal mapping allows you to set a texture that represents finer shape detail. This does not modify geometry, only the incident angle for light. In Godot, only the red and green channels of normal maps are used for better compression and wider compatibility." msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:395 -msgid "Refraction is implemented as a screen-space effect and forces the material to be transparent. This makes the effect relatively fast, but this results in some limitations:" +#: ../../docs/tutorials/3d/standard_material_3d.rst:397 +msgid "Godot requires the normal map to use the X+, Y+ and Z+ coordinates, this is known as OpenGL style. If you've imported a material made to be used with another engine it may be DirectX style, in which case the normal map needs to be converted so its Y axis is flipped." msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:399 -msgid ":ref:`Transparency sorting ` issues may occur." +#: ../../docs/tutorials/3d/standard_material_3d.rst:402 +msgid "More information about normal maps (including a coordinate order table for popular engines) can be found `here `__." msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:401 -msgid "The refractive material cannot refract onto itself, or onto other transparent materials. A refractive material behind another transparent material will be invisible." +#: ../../docs/tutorials/3d/standard_material_3d.rst:407 +msgid "Rim" msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:404 -msgid "Off-screen objects cannot appear in the refraction. This is most noticeable with high refraction strength values." +#: ../../docs/tutorials/3d/standard_material_3d.rst:409 +msgid "Some fabrics have small micro-fur that causes light to scatter around it. Godot emulates this with the *Rim* parameter. Unlike other rim lighting implementations, which just use the emission channel, this one actually takes light into account (no light means no rim). This makes the effect considerably more believable." msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:406 -msgid "Opaque materials in front of the refractive material will appear to have \"refracted\" edges, even though they shouldn't." +#: ../../docs/tutorials/3d/standard_material_3d.rst:416 +msgid "Rim size depends on roughness, and there is a special parameter to specify how it must be colored. If *Tint* is ``0``, the color of the light is used for the rim. If *Tint* is ``1``, then the albedo of the material is used. Using intermediate values generally works best." msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:410 -msgid "Detail" -msgstr "" - -#: ../../docs/tutorials/3d/standard_material_3d.rst:412 -msgid "Godot allows using secondary albedo and normal maps to generate a detail texture, which can be blended in many ways. By combining this with secondary UV or triplanar modes, many interesting textures can be achieved." -msgstr "" - -#: ../../docs/tutorials/3d/standard_material_3d.rst:418 -msgid "There are several settings that control how detail is used." -msgstr "" - -#: ../../docs/tutorials/3d/standard_material_3d.rst:420 -msgid "Mask: The detail mask is a black and white image used to control where the blending takes place on a texture. White is for the detail textures, Black is for the regular material textures, different shades of gray are for partial blending of the material textures and detail textures." +#: ../../docs/tutorials/3d/standard_material_3d.rst:422 +msgid "Clearcoat" msgstr "" #: ../../docs/tutorials/3d/standard_material_3d.rst:425 -msgid "Blend Mode: These four modes control how the textures are blended together." +msgid "The *Clearcoat* parameter is used to add a secondary pass of transparent coat to the material. This is common in car paint and toys. In practice, it's a smaller specular blob added on top of the existing material." msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:427 -msgid "Mix: Combines pixel values of both textures. At black, only show the material texture, at white, only show the detail texture. Values of gray create a smooth blend between the two." -msgstr "" - -#: ../../docs/tutorials/3d/standard_material_3d.rst:431 -msgid "Add: Adds pixel values of one Texture with the other. Unlike mix mode both textures are completely mixed at white parts of a mask and not at gray parts. The original texture is mostly unchanged at black" +#: ../../docs/tutorials/3d/standard_material_3d.rst:432 +msgid "Anisotropy" msgstr "" #: ../../docs/tutorials/3d/standard_material_3d.rst:435 -msgid "Sub: Subtracts pixel values of one texture with the other. The second texture is completely subtracted at white parts of a mask with only a little subtraction in black parts, gray parts being different levels of subtraction based on the exact texture." +msgid "This changes the shape of the specular blob and aligns it to tangent space. Anisotropy is commonly used with hair, or to make materials such as brushed aluminum more realistic. It works especially well when combined with flowmaps." msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:440 -msgid "Mul: Multiplies the RGB channel numbers for each pixel from the top texture with the values for the corresponding pixel from the bottom texture." +#: ../../docs/tutorials/3d/standard_material_3d.rst:442 +msgid "Ambient Occlusion" msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:443 -msgid "Albedo: This is where you put an albedo texture you want to blend. If nothing is in this slot it will be interpreted as white by default." -msgstr "" - -#: ../../docs/tutorials/3d/standard_material_3d.rst:446 -msgid "Normal: This is where you put a normal texture you want to blend. If nothing is in this slot it will be interpreted as a flat normal map. This can still be used even if the material does not have normal map enabled." -msgstr "" - -#: ../../docs/tutorials/3d/standard_material_3d.rst:451 -msgid "UV1 and UV2" +#: ../../docs/tutorials/3d/standard_material_3d.rst:444 +msgid "It is possible to specify a baked ambient occlusion map. This map affects how much ambient light reaches each surface of the object (it does not affect direct light by default). While it is possible to use Screen-Space Ambient Occlusion (SSAO) to generate ambient occlusion, nothing beats the quality of a well-baked AO map. It is recommended to bake ambient occlusion whenever possible." msgstr "" #: ../../docs/tutorials/3d/standard_material_3d.rst:453 -msgid "Godot supports two UV channels per material. Secondary UV is often useful for ambient occlusion or emission (baked light). UVs can be scaled and offset, which is useful when using repeating textures." +msgid "Height" msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:460 -msgid "Triplanar Mapping" +#: ../../docs/tutorials/3d/standard_material_3d.rst:456 +msgid "Setting a depth map on a material produces a ray-marched search to emulate the proper displacement of cavities along the view direction. This is not real added geometry, but an illusion of depth. It may not work for complex objects, but it produces a realistic depth effect for textures. For best results, *Depth* should be used together with normal mapping." msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:462 -msgid "Triplanar mapping is supported for both UV1 and UV2. This is an alternative way to obtain texture coordinates, sometimes called \"Autotexture\". Textures are sampled in X, Y and Z and blended by the normal. Triplanar mapping can be performed in either world space or object space." +#: ../../docs/tutorials/3d/standard_material_3d.rst:465 +msgid "Subsurface Scattering" msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:467 -msgid "In the image below, you can see how all primitives share the same material with world triplanar, so the brick texture continues smoothly between them." -msgstr "" - -#: ../../docs/tutorials/3d/standard_material_3d.rst:473 -msgid "World Triplanar" +#: ../../docs/tutorials/3d/standard_material_3d.rst:468 +msgid "This effect emulates light that penetrates an object's surface, is scattered, and then comes out. It is useful to create realistic skin, marble, colored liquids, etc." msgstr "" #: ../../docs/tutorials/3d/standard_material_3d.rst:475 -msgid "When using triplanar mapping, it is computed in object local space. This option makes it use world space instead." +msgid "Back Lighting" msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:481 -msgid "Sampling" +#: ../../docs/tutorials/3d/standard_material_3d.rst:477 +#: ../../docs/tutorials/3d/standard_material_3d.rst:676 +msgid "This controls how much light from the lit side (visible to light) is transferred to the dark side (opposite from the light). This works well for thin objects such as plant leaves, grass, human ears, etc." +msgstr "" + +#: ../../docs/tutorials/3d/standard_material_3d.rst:482 +msgid "Refraction" msgstr "" #: ../../docs/tutorials/3d/standard_material_3d.rst:484 -msgid "Filter" +msgid "When refraction is enabled, Godot attempts to fetch information from behind the object being rendered. This allows distorting the transparency in a way similar to refraction in real life." msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:486 -msgid "The filtering method for the textures used by the material. See :ref:`this page` for a full list of options and their description." -msgstr "" - -#: ../../docs/tutorials/3d/standard_material_3d.rst:490 -msgid "Repeat" +#: ../../docs/tutorials/3d/standard_material_3d.rst:488 +msgid "Remember to use a transparent albedo texture (or reduce the albedo color's alpha channel) to make refraction visible, as refraction relies on transparency to have a visible effect." msgstr "" #: ../../docs/tutorials/3d/standard_material_3d.rst:492 -msgid "if the textures used by the material repeat, and how they repeat. See :ref:`this page` for a full list of options and their description." -msgstr "" - -#: ../../docs/tutorials/3d/standard_material_3d.rst:496 -msgid "Shadows" +msgid "A normal map can optionally be specified in the **Refraction Texture** property to allow distorting the refraction's direction on a per-pixel basis." msgstr "" #: ../../docs/tutorials/3d/standard_material_3d.rst:499 -msgid "Do Not Receive Shadows" +msgid "Refraction is implemented as a screen-space effect and forces the material to be transparent. This makes the effect relatively fast, but this results in some limitations:" msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:501 -msgid "Makes the object not receive any kind of shadow that would otherwise be cast onto it." +#: ../../docs/tutorials/3d/standard_material_3d.rst:503 +msgid ":ref:`Transparency sorting ` issues may occur." msgstr "" #: ../../docs/tutorials/3d/standard_material_3d.rst:505 -msgid "Use Shadow to Opacity" +msgid "The refractive material cannot refract onto itself, or onto other transparent materials. A refractive material behind another transparent material will be invisible." msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:507 -msgid "Lighting modifies the alpha so shadowed areas are opaque and non-shadowed areas are transparent. Useful for overlaying shadows onto a camera feed in AR." +#: ../../docs/tutorials/3d/standard_material_3d.rst:508 +msgid "Off-screen objects cannot appear in the refraction. This is most noticeable with high refraction strength values." msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:511 -msgid "Billboard" +#: ../../docs/tutorials/3d/standard_material_3d.rst:510 +msgid "Opaque materials in front of the refractive material will appear to have \"refracted\" edges, even though they shouldn't." msgstr "" #: ../../docs/tutorials/3d/standard_material_3d.rst:514 -msgid "Billboard Mode" +msgid "Detail" msgstr "" #: ../../docs/tutorials/3d/standard_material_3d.rst:516 -msgid "Enables billboard mode for drawing materials. This controls how the object faces the camera:" -msgstr "" - -#: ../../docs/tutorials/3d/standard_material_3d.rst:519 -msgid "**Disabled:** Billboard mode is disabled." -msgstr "" - -#: ../../docs/tutorials/3d/standard_material_3d.rst:520 -msgid "**Enabled:** Billboard mode is enabled, the object's -Z axis will always face the camera." +msgid "Godot allows using secondary albedo and normal maps to generate a detail texture, which can be blended in many ways. By combining this with secondary UV or triplanar modes, many interesting textures can be achieved." msgstr "" #: ../../docs/tutorials/3d/standard_material_3d.rst:522 -msgid "**Y-Billboard:** The object's X axis will always be aligned with the camera." +msgid "There are several settings that control how detail is used." msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:523 -msgid "**Particles:** Most suited for particle systems, because it allows specifying animation options." +#: ../../docs/tutorials/3d/standard_material_3d.rst:524 +msgid "Mask: The detail mask is a black and white image used to control where the blending takes place on a texture. White is for the detail textures, Black is for the regular material textures, different shades of gray are for partial blending of the material textures and detail textures." msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:528 -msgid "The above options are only enabled for Particle Billboard." +#: ../../docs/tutorials/3d/standard_material_3d.rst:529 +msgid "Blend Mode: These four modes control how the textures are blended together." msgstr "" #: ../../docs/tutorials/3d/standard_material_3d.rst:531 -msgid "Billboard Keep Scale" +msgid "Mix: Combines pixel values of both textures. At black, only show the material texture, at white, only show the detail texture. Values of gray create a smooth blend between the two." msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:533 -msgid "Enables scaling a mesh in billboard mode." +#: ../../docs/tutorials/3d/standard_material_3d.rst:535 +msgid "Add: Adds pixel values of one Texture with the other. Unlike mix mode both textures are completely mixed at white parts of a mask and not at gray parts. The original texture is mostly unchanged at black" msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:536 -msgid "Grow" +#: ../../docs/tutorials/3d/standard_material_3d.rst:539 +msgid "Sub: Subtracts pixel values of one texture with the other. The second texture is completely subtracted at white parts of a mask with only a little subtraction in black parts, gray parts being different levels of subtraction based on the exact texture." msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:538 -msgid "Grows the object vertices in the direction pointed by their normals:" +#: ../../docs/tutorials/3d/standard_material_3d.rst:544 +msgid "Mul: Multiplies the RGB channel numbers for each pixel from the top texture with the values for the corresponding pixel from the bottom texture." msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:542 -msgid "This is commonly used to create cheap outlines. Add a second material pass, make it black and unshaded, reverse culling (Cull Front), and add some grow:" +#: ../../docs/tutorials/3d/standard_material_3d.rst:547 +msgid "Albedo: This is where you put an albedo texture you want to blend. If nothing is in this slot it will be interpreted as white by default." msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:548 -msgid "Transform" +#: ../../docs/tutorials/3d/standard_material_3d.rst:550 +msgid "Normal: This is where you put a normal texture you want to blend. If nothing is in this slot it will be interpreted as a flat normal map. This can still be used even if the material does not have normal map enabled." msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:551 -msgid "Fixed Size" +#: ../../docs/tutorials/3d/standard_material_3d.rst:555 +msgid "UV1 and UV2" msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:553 -msgid "This causes the object to be rendered at the same size no matter the distance. This is useful mostly for indicators (no depth test and high render priority) and some types of billboards." +#: ../../docs/tutorials/3d/standard_material_3d.rst:557 +msgid "Godot supports two UV channels per material. Secondary UV is often useful for ambient occlusion or emission (baked light). UVs can be scaled and offset, which is useful when using repeating textures." msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:558 -msgid "Use Point Size" +#: ../../docs/tutorials/3d/standard_material_3d.rst:564 +msgid "Triplanar Mapping" msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:560 -msgid "This option is only effective when the geometry rendered is made of points (generally it's made of triangles when imported from 3D modeling software). If so, then those points can be resized (see below)." +#: ../../docs/tutorials/3d/standard_material_3d.rst:566 +msgid "Triplanar mapping is supported for both UV1 and UV2. This is an alternative way to obtain texture coordinates, sometimes called \"Autotexture\". Textures are sampled in X, Y and Z and blended by the normal. Triplanar mapping can be performed in either world space or object space." msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:565 -msgid "Point Size" +#: ../../docs/tutorials/3d/standard_material_3d.rst:571 +msgid "In the image below, you can see how all primitives share the same material with world triplanar, so the brick texture continues smoothly between them." msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:567 -msgid "When drawing points, specify the point size in pixels." -msgstr "" - -#: ../../docs/tutorials/3d/standard_material_3d.rst:570 -msgid "Transmission" +#: ../../docs/tutorials/3d/standard_material_3d.rst:577 +msgid "World Triplanar" msgstr "" #: ../../docs/tutorials/3d/standard_material_3d.rst:579 -msgid "Proximity and Distance Fade" +msgid "When using triplanar mapping, it is computed in object local space. This option makes it use world space instead." msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:581 -msgid "Godot allows materials to fade by proximity to each other as well as depending on the distance from the viewer. Proximity fade is useful for effects such as soft particles or a mass of water with a smooth blending to the shores." +#: ../../docs/tutorials/3d/standard_material_3d.rst:585 +msgid "Sampling" msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:587 -msgid "Distance fade is useful for light shafts or indicators that are only present after a given distance." +#: ../../docs/tutorials/3d/standard_material_3d.rst:588 +msgid "Filter" msgstr "" #: ../../docs/tutorials/3d/standard_material_3d.rst:590 -msgid "Keep in mind enabling proximity fade or distance fade with **Pixel Alpha** mode enables alpha blending. Alpha blending is more GPU-intensive and can cause transparency sorting issues. Alpha blending also disables many material features such as the ability to cast shadows. To hide a character when they get too close to the camera, consider using **Pixel Dither** or better, **Object Dither** (which is even faster than **Pixel Dither**)." +msgid "The filtering method for the textures used by the material. See :ref:`this page` for a full list of options and their description." msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:599 -msgid "Material Settings" +#: ../../docs/tutorials/3d/standard_material_3d.rst:594 +msgid "Repeat" msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:602 -msgid "Render priority" +#: ../../docs/tutorials/3d/standard_material_3d.rst:596 +msgid "if the textures used by the material repeat, and how they repeat. See :ref:`this page` for a full list of options and their description." msgstr "" -#: ../../docs/tutorials/3d/standard_material_3d.rst:604 -msgid "The rendering order of objects can be changed, although this is mostly useful for transparent objects (or opaque objects that perform depth draw but no color draw, such as cracks on the floor)." +#: ../../docs/tutorials/3d/standard_material_3d.rst:600 +msgid "Shadows" +msgstr "" + +#: ../../docs/tutorials/3d/standard_material_3d.rst:603 +msgid "Do Not Receive Shadows" +msgstr "" + +#: ../../docs/tutorials/3d/standard_material_3d.rst:605 +msgid "Makes the object not receive any kind of shadow that would otherwise be cast onto it." msgstr "" #: ../../docs/tutorials/3d/standard_material_3d.rst:609 -msgid "Next Pass" +msgid "Use Shadow to Opacity" msgstr "" #: ../../docs/tutorials/3d/standard_material_3d.rst:611 +msgid "Lighting modifies the alpha so shadowed areas are opaque and non-shadowed areas are transparent. Useful for overlaying shadows onto a camera feed in AR." +msgstr "" + +#: ../../docs/tutorials/3d/standard_material_3d.rst:615 +msgid "Billboard" +msgstr "" + +#: ../../docs/tutorials/3d/standard_material_3d.rst:618 +msgid "Billboard Mode" +msgstr "" + +#: ../../docs/tutorials/3d/standard_material_3d.rst:620 +msgid "Enables billboard mode for drawing materials. This controls how the object faces the camera:" +msgstr "" + +#: ../../docs/tutorials/3d/standard_material_3d.rst:623 +msgid "**Disabled:** Billboard mode is disabled." +msgstr "" + +#: ../../docs/tutorials/3d/standard_material_3d.rst:624 +msgid "**Enabled:** Billboard mode is enabled. The object's -Z axis will always face the camera's viewing plane." +msgstr "" + +#: ../../docs/tutorials/3d/standard_material_3d.rst:626 +msgid "**Y-Billboard:** The object's X axis will always be aligned with the camera's viewing plane." +msgstr "" + +#: ../../docs/tutorials/3d/standard_material_3d.rst:627 +msgid "**Particle Billboard:** Most suited for particle systems, because it allows specifying :ref:`flipbook animation `." +msgstr "" + +#: ../../docs/tutorials/3d/standard_material_3d.rst:632 +msgid "The **Particles Anim** section is only visible when the billboard mode is **Particle Billboard**." +msgstr "" + +#: ../../docs/tutorials/3d/standard_material_3d.rst:635 +msgid "Billboard Keep Scale" +msgstr "" + +#: ../../docs/tutorials/3d/standard_material_3d.rst:637 +msgid "Enables scaling a mesh in billboard mode." +msgstr "" + +#: ../../docs/tutorials/3d/standard_material_3d.rst:640 +msgid "Grow" +msgstr "" + +#: ../../docs/tutorials/3d/standard_material_3d.rst:642 +msgid "Grows the object vertices in the direction pointed by their normals:" +msgstr "" + +#: ../../docs/tutorials/3d/standard_material_3d.rst:646 +msgid "This is commonly used to create cheap outlines. Add a second material pass, make it black and unshaded, reverse culling (Cull Front), and add some grow:" +msgstr "" + +#: ../../docs/tutorials/3d/standard_material_3d.rst:652 +msgid "Transform" +msgstr "" + +#: ../../docs/tutorials/3d/standard_material_3d.rst:655 +msgid "Fixed Size" +msgstr "" + +#: ../../docs/tutorials/3d/standard_material_3d.rst:657 +msgid "This causes the object to be rendered at the same size no matter the distance. This is useful mostly for indicators (no depth test and high render priority) and some types of billboards." +msgstr "" + +#: ../../docs/tutorials/3d/standard_material_3d.rst:662 +msgid "Use Point Size" +msgstr "" + +#: ../../docs/tutorials/3d/standard_material_3d.rst:664 +msgid "This option is only effective when the geometry rendered is made of points (generally it's made of triangles when imported from 3D modeling software). If so, then those points can be resized (see below)." +msgstr "" + +#: ../../docs/tutorials/3d/standard_material_3d.rst:669 +msgid "Point Size" +msgstr "" + +#: ../../docs/tutorials/3d/standard_material_3d.rst:671 +msgid "When drawing points, specify the point size in pixels." +msgstr "" + +#: ../../docs/tutorials/3d/standard_material_3d.rst:674 +msgid "Transmission" +msgstr "" + +#: ../../docs/tutorials/3d/standard_material_3d.rst:683 +msgid "Proximity and Distance Fade" +msgstr "" + +#: ../../docs/tutorials/3d/standard_material_3d.rst:685 +msgid "Godot allows materials to fade by proximity to each other as well as depending on the distance from the viewer. Proximity fade is useful for effects such as soft particles or a mass of water with a smooth blending to the shores." +msgstr "" + +#: ../../docs/tutorials/3d/standard_material_3d.rst:691 +msgid "Distance fade is useful for light shafts or indicators that are only present after a given distance." +msgstr "" + +#: ../../docs/tutorials/3d/standard_material_3d.rst:694 +msgid "Keep in mind enabling proximity fade or distance fade with **Pixel Alpha** mode enables alpha blending. Alpha blending is more GPU-intensive and can cause transparency sorting issues. Alpha blending also disables many material features such as the ability to cast shadows. To hide a character when they get too close to the camera, consider using **Pixel Dither** or better, **Object Dither** (which is even faster than **Pixel Dither**)." +msgstr "" + +#: ../../docs/tutorials/3d/standard_material_3d.rst:703 +msgid "Material Settings" +msgstr "" + +#: ../../docs/tutorials/3d/standard_material_3d.rst:706 +msgid "Render priority" +msgstr "" + +#: ../../docs/tutorials/3d/standard_material_3d.rst:708 +msgid "The rendering order of objects can be changed, although this is mostly useful for transparent objects (or opaque objects that perform depth draw but no color draw, such as cracks on the floor)." +msgstr "" + +#: ../../docs/tutorials/3d/standard_material_3d.rst:713 +msgid "Next Pass" +msgstr "" + +#: ../../docs/tutorials/3d/standard_material_3d.rst:715 msgid "Sets the material to be used for the next pass. This renders the object again with a different material." msgstr "" diff --git a/sphinx/templates/tutorials/3d/using_decals.pot b/sphinx/templates/tutorials/3d/using_decals.pot index a6d6ce1fab..60dc95cdc1 100644 --- a/sphinx/templates/tutorials/3d/using_decals.pot +++ b/sphinx/templates/tutorials/3d/using_decals.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -255,6 +255,10 @@ msgid "For performance reasons, decals use purely fixed rendering logic. This me msgstr "" #: ../../docs/tutorials/3d/using_decals.rst:232 +msgid "When using the Forward+ renderer, Godot uses a *clustering* approach for decal rendering. As many decals as desired can be added (as long as performance allows). However, there's still a default limit of 512 *clustered elements* that can be present in the current camera view. A clustered element is an omni light, a spot light, a :ref:`decal ` or a :ref:`reflection probe `. This limit can be increased by adjusting the **Rendering > Limits > Cluster Builder > Max Clustered Elements** advanced project setting." +msgstr "" + +#: ../../docs/tutorials/3d/using_decals.rst:241 msgid "When using the Forward Mobile backend, only 8 decals can be applied on each individual Mesh *resource*. If there are more decals affecting a single mesh, not all of them will be rendered on the mesh." msgstr "" diff --git a/sphinx/templates/tutorials/3d/using_gridmaps.pot b/sphinx/templates/tutorials/3d/using_gridmaps.pot index aa8f32a8df..edf8b5f348 100644 --- a/sphinx/templates/tutorials/3d/using_gridmaps.pot +++ b/sphinx/templates/tutorials/3d/using_gridmaps.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-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 145bba5633..c99b033b70 100644 --- a/sphinx/templates/tutorials/3d/using_multi_mesh_instance.pot +++ b/sphinx/templates/tutorials/3d/using_multi_mesh_instance.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-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 c9682bd872..0f05b6aaa5 100644 --- a/sphinx/templates/tutorials/3d/using_transforms.pot +++ b/sphinx/templates/tutorials/3d/using_transforms.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -184,119 +184,119 @@ msgstr "" msgid "It is possible to rotate a transform, either by multiplying its basis by another (this is called accumulation), or by using the rotation methods." msgstr "" -#: ../../docs/tutorials/3d/using_transforms.rst:168 +#: ../../docs/tutorials/3d/using_transforms.rst:172 msgid "A method in Node3D simplifies this:" msgstr "" -#: ../../docs/tutorials/3d/using_transforms.rst:185 +#: ../../docs/tutorials/3d/using_transforms.rst:189 msgid "This rotates the node relative to the parent node." msgstr "" -#: ../../docs/tutorials/3d/using_transforms.rst:187 +#: ../../docs/tutorials/3d/using_transforms.rst:191 msgid "To rotate relative to object space (the node's own transform), use the following:" msgstr "" -#: ../../docs/tutorials/3d/using_transforms.rst:201 +#: ../../docs/tutorials/3d/using_transforms.rst:205 msgid "Precision errors" msgstr "" -#: ../../docs/tutorials/3d/using_transforms.rst:203 +#: ../../docs/tutorials/3d/using_transforms.rst:207 msgid "Doing successive operations on transforms will result in a loss of precision due to floating-point error. This means the scale of each axis may no longer be exactly ``1.0``, and they may not be exactly ``90`` degrees from each other." msgstr "" -#: ../../docs/tutorials/3d/using_transforms.rst:205 +#: ../../docs/tutorials/3d/using_transforms.rst:209 msgid "If a transform is rotated every frame, it will eventually start deforming over time. This is unavoidable." msgstr "" -#: ../../docs/tutorials/3d/using_transforms.rst:207 +#: ../../docs/tutorials/3d/using_transforms.rst:211 msgid "There are two different ways to handle this. The first is to *orthonormalize* the transform after some time (maybe once per frame if you modify it every frame):" msgstr "" -#: ../../docs/tutorials/3d/using_transforms.rst:218 +#: ../../docs/tutorials/3d/using_transforms.rst:222 msgid "This will make all axes have ``1.0`` length again and be ``90`` degrees from each other. However, any scale applied to the transform will be lost." msgstr "" -#: ../../docs/tutorials/3d/using_transforms.rst:220 +#: ../../docs/tutorials/3d/using_transforms.rst:224 msgid "It is recommended you not scale nodes that are going to be manipulated; scale their children nodes instead (such as MeshInstance3D). If you absolutely must scale the node, then re-apply it at the end:" msgstr "" -#: ../../docs/tutorials/3d/using_transforms.rst:234 +#: ../../docs/tutorials/3d/using_transforms.rst:238 msgid "Obtaining information" msgstr "" -#: ../../docs/tutorials/3d/using_transforms.rst:236 +#: ../../docs/tutorials/3d/using_transforms.rst:240 msgid "You might be thinking at this point: **\"Ok, but how do I get angles from a transform?\"**. The answer again is: you don't. You must do your best to stop thinking in angles." msgstr "" -#: ../../docs/tutorials/3d/using_transforms.rst:238 +#: ../../docs/tutorials/3d/using_transforms.rst:242 msgid "Imagine you need to shoot a bullet in the direction your player is facing. Just use the forward axis (commonly ``Z`` or ``-Z``)." msgstr "" -#: ../../docs/tutorials/3d/using_transforms.rst:251 +#: ../../docs/tutorials/3d/using_transforms.rst:255 msgid "Is the enemy looking at the player? Use the dot product for this (see the :ref:`doc_vector_math` tutorial for an explanation of the dot product):" msgstr "" -#: ../../docs/tutorials/3d/using_transforms.rst:270 +#: ../../docs/tutorials/3d/using_transforms.rst:274 msgid "Strafe left:" msgstr "" -#: ../../docs/tutorials/3d/using_transforms.rst:287 +#: ../../docs/tutorials/3d/using_transforms.rst:291 msgid "Jump:" msgstr "" -#: ../../docs/tutorials/3d/using_transforms.rst:306 +#: ../../docs/tutorials/3d/using_transforms.rst:310 msgid "All common behaviors and logic can be done with just vectors." msgstr "" -#: ../../docs/tutorials/3d/using_transforms.rst:309 +#: ../../docs/tutorials/3d/using_transforms.rst:313 msgid "Setting information" msgstr "" -#: ../../docs/tutorials/3d/using_transforms.rst:311 +#: ../../docs/tutorials/3d/using_transforms.rst:315 msgid "There are, of course, cases where you want to set information to a transform. Imagine a first person controller or orbiting camera. Those are definitely done using angles, because you *do want* the transforms to happen in a specific order." msgstr "" -#: ../../docs/tutorials/3d/using_transforms.rst:313 -msgid "For such cases, keep the angles and rotations *outside* the transform and set them every frame. Don't try to retrieve and re-use them because the transform is not meant to be used this way." +#: ../../docs/tutorials/3d/using_transforms.rst:317 +msgid "For such cases, keep the angles and rotations *outside* the transform and set them every frame. Don't try to retrieve and reuse them because the transform is not meant to be used this way." msgstr "" -#: ../../docs/tutorials/3d/using_transforms.rst:315 +#: ../../docs/tutorials/3d/using_transforms.rst:319 msgid "Example of looking around, FPS style:" msgstr "" -#: ../../docs/tutorials/3d/using_transforms.rst:357 +#: ../../docs/tutorials/3d/using_transforms.rst:361 msgid "As you can see, in such cases it's even simpler to keep the rotation outside, then use the transform as the *final* orientation." msgstr "" -#: ../../docs/tutorials/3d/using_transforms.rst:360 +#: ../../docs/tutorials/3d/using_transforms.rst:364 msgid "Interpolating with quaternions" msgstr "" -#: ../../docs/tutorials/3d/using_transforms.rst:362 +#: ../../docs/tutorials/3d/using_transforms.rst:366 msgid "Interpolating between two transforms can efficiently be done with quaternions. More information about how quaternions work can be found in other places around the Internet. For practical use, it's enough to understand that pretty much their main use is doing a closest path interpolation. As in, if you have two rotations, a quaternion will smoothly allow interpolation between them using the closest axis." msgstr "" -#: ../../docs/tutorials/3d/using_transforms.rst:364 +#: ../../docs/tutorials/3d/using_transforms.rst:368 msgid "Converting a rotation to quaternion is straightforward." msgstr "" -#: ../../docs/tutorials/3d/using_transforms.rst:387 +#: ../../docs/tutorials/3d/using_transforms.rst:391 msgid "The :ref:`class_Quaternion` type reference has more information on the datatype (it can also do transform accumulation, transform points, etc., though this is used less often). If you interpolate or apply operations to quaternions many times, keep in mind they need to be eventually normalized. Otherwise, they will also suffer from numerical precision errors." msgstr "" -#: ../../docs/tutorials/3d/using_transforms.rst:393 +#: ../../docs/tutorials/3d/using_transforms.rst:397 msgid "Quaternions are useful when doing camera/path/etc. interpolations, as the result will always be correct and smooth." msgstr "" -#: ../../docs/tutorials/3d/using_transforms.rst:396 +#: ../../docs/tutorials/3d/using_transforms.rst:400 msgid "Transforms are your friend" msgstr "" -#: ../../docs/tutorials/3d/using_transforms.rst:398 +#: ../../docs/tutorials/3d/using_transforms.rst:402 msgid "For most beginners, getting used to working with transforms can take some time. However, once you get used to them, you will appreciate their simplicity and power." msgstr "" -#: ../../docs/tutorials/3d/using_transforms.rst:400 +#: ../../docs/tutorials/3d/using_transforms.rst:404 msgid "Don't hesitate to ask for help on this topic in any of Godot's `online communities `_ and, once you become confident enough, please help others!" msgstr "" diff --git a/sphinx/templates/tutorials/3d/variable_rate_shading.pot b/sphinx/templates/tutorials/3d/variable_rate_shading.pot index 5d8a7d801a..da3d817a17 100644 --- a/sphinx/templates/tutorials/3d/variable_rate_shading.pot +++ b/sphinx/templates/tutorials/3d/variable_rate_shading.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-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 5bdec79fb1..14d5decfb0 100644 --- a/sphinx/templates/tutorials/3d/visibility_ranges.pot +++ b/sphinx/templates/tutorials/3d/visibility_ranges.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -132,127 +132,175 @@ msgstr "" msgid "**Fade Mode:** Controls how the transition between LOD levels should be performed. See below for details." msgstr "" -#: ../../docs/tutorials/3d/visibility_ranges.rst:98 +#: ../../docs/tutorials/3d/visibility_ranges.rst:100 msgid "Fade mode" msgstr "" -#: ../../docs/tutorials/3d/visibility_ranges.rst:102 +#: ../../docs/tutorials/3d/visibility_ranges.rst:104 msgid "The fade mode chosen only has a visible impact if either **Visibility Range > Begin Margin** or **Visibility Range > End Margin** is greater than ``0.0``." msgstr "" -#: ../../docs/tutorials/3d/visibility_ranges.rst:106 +#: ../../docs/tutorials/3d/visibility_ranges.rst:108 msgid "In the inspector's **Visibility Range** section, there are 3 fade modes to choose from:" msgstr "" -#: ../../docs/tutorials/3d/visibility_ranges.rst:109 +#: ../../docs/tutorials/3d/visibility_ranges.rst:111 msgid "**Disabled:** Uses hysteresis to switch between LOD levels instantly. This prevents situations where LOD levels are switched back and forth quickly when the player moves forward and then backward at the LOD transition point. The hystereis distance is determined by **Visibility Range > Begin Margin** and **Visibility Range > End Margin**. This mode provides the best performance as it doesn't force rendering to become transparent during the fade transition." msgstr "" -#: ../../docs/tutorials/3d/visibility_ranges.rst:115 -msgid "**Self:** Uses alpha blending to smoothly fade between LOD levels. The fade transition distance is determined by **Visibility Range > Begin Margin** and **Visibility Range > End Margin**. This mode forces transparent rendering on the object during its fade transition, so it has a performance impact." +#: ../../docs/tutorials/3d/visibility_ranges.rst:117 +msgid "**Self:** Uses alpha blending to smoothly fade between LOD levels. The node will fade-out itself when reaching the limits of its own visibility range. The fade transition distance is determined by **Visibility Range > Begin Margin** and **Visibility Range > End Margin**. This mode forces transparent rendering on the object during its fade transition, so it has a performance impact." msgstr "" -#: ../../docs/tutorials/3d/visibility_ranges.rst:119 -msgid "**Dependencies:** This is intended for hierarchical LOD systems, and acts the same as **Self** if visibility ranges are used to perform non-hierarchical LOD." +#: ../../docs/tutorials/3d/visibility_ranges.rst:122 +msgid "**Dependencies:** Uses alpha blending to smoothly fade between LOD levels. The node will fade-in its dependencies when reaching the limits of its own visibility range. The fade transition distance is determined by **Visibility Range > Begin Margin** and **Visibility Range > End Margin**. This mode forces transparent rendering on the object during its fade transition, so it has a performance impact. This mode is intended for hierarchical LOD systems using :ref:`Visibility parent `. It acts the same as **Self** if visibility ranges are used to perform non-hierarchical LOD." msgstr "" -#: ../../docs/tutorials/3d/visibility_ranges.rst:124 -msgid "Configuration tips" +#: ../../docs/tutorials/3d/visibility_ranges.rst:135 +msgid "Visibility parent" msgstr "" -#: ../../docs/tutorials/3d/visibility_ranges.rst:127 -msgid "Use simpler materials at a distance to improve performance" +#: ../../docs/tutorials/3d/visibility_ranges.rst:137 +msgid "The **Visibility Parent** property makes it easier to set up :abbr:`HLOD (Hierarchical Level of Detail)`. It allows automatically hiding child nodes if its parent is visible given its current visibility range properties." msgstr "" -#: ../../docs/tutorials/3d/visibility_ranges.rst:129 -msgid "One way to further improve performance is to use simpler materials for distant LOD meshes. While using LOD meshes will reduce the number of vertices that need to be rendered, the per-pixel shading load for materials remains identical. However, per-pixel shading load is regularly a bottleneck on the GPU in complex 3D scenes. One way to reduce this shading load on the GPU is to use simpler materials when they don't make much of a visual difference." -msgstr "" - -#: ../../docs/tutorials/3d/visibility_ranges.rst:136 -msgid "Performance gains when doing so should be carefully measured, as increasing the number of *unique* materials in a scene has a performance cost on its own. Still, using simpler materials for distant LOD meshes can still result in a net performance gain as a result of the fewer per-pixel calculations required." -msgstr "" - -#: ../../docs/tutorials/3d/visibility_ranges.rst:142 -msgid "For example, on the materials used by distant LOD meshes, you can disable expensive material features such as:" -msgstr "" - -#: ../../docs/tutorials/3d/visibility_ranges.rst:145 -msgid "Normal Map (especially on mobile platforms)" +#: ../../docs/tutorials/3d/visibility_ranges.rst:143 +msgid "The target of **Visibility Parent** *must* inherit from :ref:`class_GeometryInstance3D`." msgstr "" #: ../../docs/tutorials/3d/visibility_ranges.rst:146 -msgid "Rim" -msgstr "" - -#: ../../docs/tutorials/3d/visibility_ranges.rst:147 -msgid "Clearcoat" -msgstr "" - -#: ../../docs/tutorials/3d/visibility_ranges.rst:148 -msgid "Anisotropy" -msgstr "" - -#: ../../docs/tutorials/3d/visibility_ranges.rst:149 -msgid "Height" -msgstr "" - -#: ../../docs/tutorials/3d/visibility_ranges.rst:150 -msgid "Subsurface Scattering" -msgstr "" - -#: ../../docs/tutorials/3d/visibility_ranges.rst:151 -msgid "Back Lighting" +msgid "Despite its name, the **Visibility Parent** property *can* point to a node that is not a parent of the node in the scene tree. However, it is impossible to point **Visibility Parent** towards a child node, as this creates a dependency cycle which is not supported. You will get an error message in the Output panel if a dependency cycle occurs." msgstr "" #: ../../docs/tutorials/3d/visibility_ranges.rst:152 -msgid "Refraction" -msgstr "" - -#: ../../docs/tutorials/3d/visibility_ranges.rst:153 -msgid "Proximity Fade" -msgstr "" - -#: ../../docs/tutorials/3d/visibility_ranges.rst:156 -msgid "Use dithering for LOD transitions" -msgstr "" - -#: ../../docs/tutorials/3d/visibility_ranges.rst:158 -msgid "Godot currently only supports alpha-based fading for visibility ranges. You can however use dithering instead by using several different materials for different LOD levels." +msgid "Given the following scene tree (where all nodes inherit from GeometryInstance3D):" msgstr "" #: ../../docs/tutorials/3d/visibility_ranges.rst:162 -msgid "There are two advantages to using dithering over alpha blending for LOD transitions:" +msgid "In this example, *BatchOfHouses* is a large mesh designed to represent all child nodes when viewed at a distance. *House1* to *House4* are smaller MeshInstance3Ds representing individual houses. To configure HLOD in this example, we only need to configure two things:" msgstr "" -#: ../../docs/tutorials/3d/visibility_ranges.rst:164 -msgid "Higher performance, as dithering transparency is faster to render compared to alpha blending." -msgstr "" - -#: ../../docs/tutorials/3d/visibility_ranges.rst:166 -msgid "No visual glitches due to :ref:`transparency sorting issues ` during LOD transitions." +#: ../../docs/tutorials/3d/visibility_ranges.rst:167 +msgid "Set **Visibility Range Begin** to a number greater than `0.0` so that *BatchOfHouses* only appears when far away enough from the camera. Below this distance, we want *House1* to *House4* to be displayed instead." msgstr "" #: ../../docs/tutorials/3d/visibility_ranges.rst:170 +msgid "On *House1* to *House4*, assign the **Visibility Parent** property to *BatchOfHouses*." +msgstr "" + +#: ../../docs/tutorials/3d/visibility_ranges.rst:172 +msgid "This makes it easier to perform further adjustments, as you don't need to adjust the **Visibility Range Begin** of *BatchOfHouses* and **Visibility Range End** of *House1* to *House4*." +msgstr "" + +#: ../../docs/tutorials/3d/visibility_ranges.rst:176 +msgid "Fade mode is automatically handled by the **Visibility Parent** property, so that the child nodes only become hidden once the parent node is fully faded out. This is done to minimize visible pop-in. Depending on your :abbr:`HLOD (Hierarchical Level of Detail)` setup, you may want to try both the **Self** and **Dependencies** :ref:`fade modes `." +msgstr "" + +#: ../../docs/tutorials/3d/visibility_ranges.rst:184 +msgid "Nodes hidden via the **Visible** property are essentially removed from the visibility dependency tree, so dependent instances will not take the hidden node or its ancestors into account." +msgstr "" + +#: ../../docs/tutorials/3d/visibility_ranges.rst:188 +msgid "In practice, this means that if the target of the **Visibility Parent** node is hidden by setting its **Visible** property to ``false``, the node will not be hidden according to the **Visibility Range Begin** value specified in the visibility parent." +msgstr "" + +#: ../../docs/tutorials/3d/visibility_ranges.rst:194 +msgid "Configuration tips" +msgstr "" + +#: ../../docs/tutorials/3d/visibility_ranges.rst:197 +msgid "Use simpler materials at a distance to improve performance" +msgstr "" + +#: ../../docs/tutorials/3d/visibility_ranges.rst:199 +msgid "One way to further improve performance is to use simpler materials for distant LOD meshes. While using LOD meshes will reduce the number of vertices that need to be rendered, the per-pixel shading load for materials remains identical. However, per-pixel shading load is regularly a bottleneck on the GPU in complex 3D scenes. One way to reduce this shading load on the GPU is to use simpler materials when they don't make much of a visual difference." +msgstr "" + +#: ../../docs/tutorials/3d/visibility_ranges.rst:206 +msgid "Performance gains when doing so should be carefully measured, as increasing the number of *unique* materials in a scene has a performance cost on its own. Still, using simpler materials for distant LOD meshes can still result in a net performance gain as a result of the fewer per-pixel calculations required." +msgstr "" + +#: ../../docs/tutorials/3d/visibility_ranges.rst:212 +msgid "For example, on the materials used by distant LOD meshes, you can disable expensive material features such as:" +msgstr "" + +#: ../../docs/tutorials/3d/visibility_ranges.rst:215 +msgid "Normal Map (especially on mobile platforms)" +msgstr "" + +#: ../../docs/tutorials/3d/visibility_ranges.rst:216 +msgid "Rim" +msgstr "" + +#: ../../docs/tutorials/3d/visibility_ranges.rst:217 +msgid "Clearcoat" +msgstr "" + +#: ../../docs/tutorials/3d/visibility_ranges.rst:218 +msgid "Anisotropy" +msgstr "" + +#: ../../docs/tutorials/3d/visibility_ranges.rst:219 +msgid "Height" +msgstr "" + +#: ../../docs/tutorials/3d/visibility_ranges.rst:220 +msgid "Subsurface Scattering" +msgstr "" + +#: ../../docs/tutorials/3d/visibility_ranges.rst:221 +msgid "Back Lighting" +msgstr "" + +#: ../../docs/tutorials/3d/visibility_ranges.rst:222 +msgid "Refraction" +msgstr "" + +#: ../../docs/tutorials/3d/visibility_ranges.rst:223 +msgid "Proximity Fade" +msgstr "" + +#: ../../docs/tutorials/3d/visibility_ranges.rst:226 +msgid "Use dithering for LOD transitions" +msgstr "" + +#: ../../docs/tutorials/3d/visibility_ranges.rst:228 +msgid "Godot currently only supports alpha-based fading for visibility ranges. You can however use dithering instead by using several different materials for different LOD levels." +msgstr "" + +#: ../../docs/tutorials/3d/visibility_ranges.rst:232 +msgid "There are two advantages to using dithering over alpha blending for LOD transitions:" +msgstr "" + +#: ../../docs/tutorials/3d/visibility_ranges.rst:234 +msgid "Higher performance, as dithering transparency is faster to render compared to alpha blending." +msgstr "" + +#: ../../docs/tutorials/3d/visibility_ranges.rst:236 +msgid "No visual glitches due to :ref:`transparency sorting issues ` during LOD transitions." +msgstr "" + +#: ../../docs/tutorials/3d/visibility_ranges.rst:240 msgid "The downside of dithering is that a \"noisy\" pattern is visible during LOD fade transitions. This may not be as noticeable at higher viewport resolutions or when temporal antialiasing is enabled." msgstr "" -#: ../../docs/tutorials/3d/visibility_ranges.rst:174 +#: ../../docs/tutorials/3d/visibility_ranges.rst:244 msgid "Also, as distance fade in BaseMaterial3D only supports fading up close *or* fading when far away, this setup is best used with only two LODs as part of the setup." msgstr "" -#: ../../docs/tutorials/3d/visibility_ranges.rst:178 +#: ../../docs/tutorials/3d/visibility_ranges.rst:248 msgid "Ensure **Begin Margin** and **End Margin** is set to ``0.0`` on both MeshInstance3D nodes, as hysteresis or alpha fade are not desired here." msgstr "" -#: ../../docs/tutorials/3d/visibility_ranges.rst:180 +#: ../../docs/tutorials/3d/visibility_ranges.rst:250 msgid "On both MeshInstance3D nodes, *decrease* **Begin** by the desired fade transition distance and *increase* **End** by the same distance. This is required for the dithering transition to actually be visible." msgstr "" -#: ../../docs/tutorials/3d/visibility_ranges.rst:183 +#: ../../docs/tutorials/3d/visibility_ranges.rst:253 msgid "On the MeshInstance3D that is displayed up close, edit its material in the inspector. Set its **Distance Fade** mode to **Object Dither**. Set **Min Distance** to the same value as the visibility range **End**. Set **Max Distance** to the same value *minus* the fade transition distance." msgstr "" -#: ../../docs/tutorials/3d/visibility_ranges.rst:187 +#: ../../docs/tutorials/3d/visibility_ranges.rst:257 msgid "On the MeshInstance3D that is displayed far away, edit its material in the inspector. Set its **Distance Fade** mode to **Object Dither**. Set **Min Distance** to the same value as the visibility range **Begin**. Set **Max Distance** to the same value *plus* the fade transition distance." msgstr "" diff --git a/sphinx/templates/tutorials/3d/volumetric_fog.pot b/sphinx/templates/tutorials/3d/volumetric_fog.pot index 97b19ef206..ad065d9e2f 100644 --- a/sphinx/templates/tutorials/3d/volumetric_fog.pot +++ b/sphinx/templates/tutorials/3d/volumetric_fog.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/animation/2d_skeletons.pot b/sphinx/templates/tutorials/animation/2d_skeletons.pot index 520586c5a5..b0dce39e5b 100644 --- a/sphinx/templates/tutorials/animation/2d_skeletons.pot +++ b/sphinx/templates/tutorials/animation/2d_skeletons.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -25,7 +25,7 @@ msgid "Introduction" msgstr "" #: ../../docs/tutorials/animation/2d_skeletons.rst:11 -msgid "When working with 3D, skeletal deforms are common for characters and creatures and most 3D modelling applications support it. For 2D, as this function is not used as often, it's difficult to find mainstream software aimed for this." +msgid "When working with 3D, skeletal deforms are common for characters and creatures and most 3D modeling applications support it. For 2D, as this function is not used as often, it's difficult to find mainstream software aimed for this." msgstr "" #: ../../docs/tutorials/animation/2d_skeletons.rst:15 diff --git a/sphinx/templates/tutorials/animation/animation_track_types.pot b/sphinx/templates/tutorials/animation/animation_track_types.pot index 78b7ac4d7b..701d467834 100644 --- a/sphinx/templates/tutorials/animation/animation_track_types.pot +++ b/sphinx/templates/tutorials/animation/animation_track_types.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-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 1a8e76226b..4e6f37e4e5 100644 --- a/sphinx/templates/tutorials/animation/animation_tree.pot +++ b/sphinx/templates/tutorials/animation/animation_tree.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-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 86c4a77db4..0346c393af 100644 --- a/sphinx/templates/tutorials/animation/creating_movies.pot +++ b/sphinx/templates/tutorials/animation/creating_movies.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -253,166 +253,166 @@ msgid "Quitting Movie Maker mode" msgstr "" #: ../../docs/tutorials/animation/creating_movies.rst:249 -msgid "To safely quit a project that is using Movie Maker mode, use the X button at the top of the window, or call ``get_tree().quit()`` in a script." +msgid "To safely quit a project that is using Movie Maker mode, use the X button at the top of the window, or call ``get_tree().quit()`` in a script. You can also use the ``--quit-after N`` command line argument where ``N`` is the number of frames to render before quitting." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:252 +#: ../../docs/tutorials/animation/creating_movies.rst:254 msgid "Pressing :kbd:`F8` (:kbd:`Cmd + .` on macOS) or pressing :kbd:`Ctrl + C` on the terminal running Godot is **not recommended**, as it will result in an improperly formatted AVI file with no duration information. For PNG image sequences, PNG images will not be negatively altered, but the associated WAV file will still lack duration information." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:258 +#: ../../docs/tutorials/animation/creating_movies.rst:260 msgid "Some video players may still be able to play the AVI or WAV file with working video and audio. However, software that makes use of the AVI or WAV file such as video editors may not be able to open the file. :ref:`Using a video converter program ` can help in those cases." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:264 +#: ../../docs/tutorials/animation/creating_movies.rst:266 msgid "If you're using an AnimationPlayer to control a \"main action\" in the scene (such as camera movement), you can enable the **Movie Quit On Finish** property on the AnimationPlayer node in question. When enabled, this property will make Godot quit on its own when an animation is done playing *and* the engine is running in Movie Maker mode. Note that *this property has no effect on looping animations*. Therefore, you need to make sure that the animation is set as non-looping." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:272 +#: ../../docs/tutorials/animation/creating_movies.rst:274 msgid "Using high-quality graphics settings" msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:274 +#: ../../docs/tutorials/animation/creating_movies.rst:276 msgid "The ``movie`` :ref:`feature tag ` can be used to override specific project settings. This is useful to enable high-quality graphics settings that wouldn't be fast enough to run in real-time speeds on your hardware. Remember that putting every setting to its maximum value can still slow down movie saving speed, especially when recording at higher resolutions. Therefore, it's still recommended to only increase graphics settings if they make a meaningful difference in the output image." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:282 +#: ../../docs/tutorials/animation/creating_movies.rst:284 msgid "This feature tag can also be queried in a script to increase quality settings that are set in the Environment resource. For example, to further improve SDFGI detail and reduce light leaking:" msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:300 +#: ../../docs/tutorials/animation/creating_movies.rst:302 msgid "Rendering at a higher resolution than the screen resolution" msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:302 +#: ../../docs/tutorials/animation/creating_movies.rst:304 msgid "The overall rendering quality can be improved significantly by rendering at high resolutions such as 4K or 8K." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:307 +#: ../../docs/tutorials/animation/creating_movies.rst:309 msgid "For 3D rendering, Godot provides a **Rendering > Scaling 3D > Scale** advanced project setting, which can be set above ``1.0`` to obtain *supersample antialiasing*. The 3D rendering is then *downsampled* when it's drawn on the viewport. This provides an expensive but high-quality form of antialiasing, without increasing the final output resolution." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:313 +#: ../../docs/tutorials/animation/creating_movies.rst:315 msgid "Consider using this project setting first, as it avoids slowing down movie writing speeds and increasing output file size compared to actually increasing the output resolution." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:317 +#: ../../docs/tutorials/animation/creating_movies.rst:319 msgid "If you wish to render 2D at a higher resolution, or if you actually need the higher raw pixel output for 3D rendering, you can increase the resolution above what the screen allows." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:321 +#: ../../docs/tutorials/animation/creating_movies.rst:323 msgid "By default, Godot uses the ``disabled`` :ref:`stretch modes ` in projects. If using ``disabled`` or ``canvas_items`` stretch mode, the window size dictates the output video resolution." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:325 +#: ../../docs/tutorials/animation/creating_movies.rst:327 msgid "On the other hand, if the project is configured to use the ``viewport`` stretch mode, the viewport resolution dictates the output video resolution. The viewport resolution is set using the **Display > Window > Size > Viewport Width** and **Viewport Height** project settings. This can be used to render a video at a higher resolution than the screen resolution." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:331 +#: ../../docs/tutorials/animation/creating_movies.rst:333 msgid "To make the window smaller during recording without affecting the output video resolution, you can set the **Display > Window > Size > Window Width Override** and **Window Height Override** advanced project settings to values greater than ``0``." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:336 +#: ../../docs/tutorials/animation/creating_movies.rst:338 msgid "To apply a resolution override only when recording a movie, you can override those settings with the ``movie`` :ref:`feature tag `." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:340 +#: ../../docs/tutorials/animation/creating_movies.rst:342 msgid "Post-processing steps" msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:342 +#: ../../docs/tutorials/animation/creating_movies.rst:344 msgid "Some common post-processing steps are listed below." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:346 +#: ../../docs/tutorials/animation/creating_movies.rst:348 msgid "When using several post-processing steps, try to perform all of them in a single FFmpeg command. This will save encoding time and improve quality by avoiding multiple lossy encoding steps." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:353 +#: ../../docs/tutorials/animation/creating_movies.rst:355 msgid "Converting AVI video to MP4" msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:355 +#: ../../docs/tutorials/animation/creating_movies.rst:357 msgid "While some platforms such as YouTube support uploading the AVI file directly, many others will require a conversion step beforehand. `HandBrake `__ (GUI) and `FFmpeg `__ (CLI) are popular open source tools for this purpose. FFmpeg has a steeper learning curve, but it's more powerful." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:360 +#: ../../docs/tutorials/animation/creating_movies.rst:362 msgid "The command below converts an AVI video to a MP4 (H.264) video with a Constant Rate Factor (CRF) of 15. This results in a relatively large file, but is well-suited for platforms that will re-encode your videos to reduce their size (such as most video sharing websites):" msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:369 +#: ../../docs/tutorials/animation/creating_movies.rst:371 msgid "To get a smaller file at the cost of quality, *increase* the CRF value in the above command." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:372 +#: ../../docs/tutorials/animation/creating_movies.rst:374 msgid "To get a file with a better size/quality ratio (at the cost of slower encoding times), add ``-preset veryslow`` before ``-crf 15`` in the above command. On the contrary, ``-preset veryfast`` can be used to achieve faster encoding at the cost of a worse size/quality ratio." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:380 +#: ../../docs/tutorials/animation/creating_movies.rst:382 msgid "Converting PNG image sequence + WAV audio to a video" msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:382 +#: ../../docs/tutorials/animation/creating_movies.rst:384 msgid "If you chose to record a PNG image sequence with a WAV file beside it, you need to convert it to a video before you can use it elsewhere." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:385 +#: ../../docs/tutorials/animation/creating_movies.rst:387 msgid "The filename for the PNG image sequence generated by Godot always contains 8 digits, starting at 0 with zero-padded numbers. If you specify an output path ``folder/example.png``, Godot will write ``folder/example00000000.png``, ``folder/example00000001.png``, and so on in that folder. The audio will be saved at ``folder/example.wav``." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:391 +#: ../../docs/tutorials/animation/creating_movies.rst:393 msgid "The FPS is specified using the ``-r`` argument. It should match the FPS specified during recording. Otherwise, the video will appear to be slowed down or sped up, and audio will be out of sync with the video." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:399 +#: ../../docs/tutorials/animation/creating_movies.rst:401 msgid "If you recorded a PNG image sequence with transparency enabled, you need to use a video format that supports storing transparency. MP4/H.264 doesn't support storing transparency, so you can use WebM/VP9 as an alternative:" msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:410 +#: ../../docs/tutorials/animation/creating_movies.rst:412 msgid "Cutting video" msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:412 +#: ../../docs/tutorials/animation/creating_movies.rst:414 msgid "You can trim parts of the video you don't want to keep after the video is recorded. For example, to discard everything before 12.1 seconds and keep only 5.2 seconds of video after that point:" msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:420 +#: ../../docs/tutorials/animation/creating_movies.rst:422 msgid "Cutting videos can also be done with the GUI tool `LosslessCut `__." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:424 +#: ../../docs/tutorials/animation/creating_movies.rst:426 msgid "Resizing video" msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:426 +#: ../../docs/tutorials/animation/creating_movies.rst:428 msgid "The following command resizes a video to be 1080 pixels tall (1080p), while preserving its existing aspect ratio:" msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:437 +#: ../../docs/tutorials/animation/creating_movies.rst:439 msgid "Reducing framerate" msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:439 +#: ../../docs/tutorials/animation/creating_movies.rst:441 msgid "The following command changes a video's framerate to 30 FPS, dropping some of the original frames if there are more in the input video:" msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:447 +#: ../../docs/tutorials/animation/creating_movies.rst:449 msgid "Generating accumulation motion blur with FFmpeg" msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:449 +#: ../../docs/tutorials/animation/creating_movies.rst:451 msgid "Godot does not have built-in support for motion blur, but it can still be created in recorded videos." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:452 +#: ../../docs/tutorials/animation/creating_movies.rst:454 msgid "If you record the video at a multiple of the original framerate, you can blend the frames together then reduce the frameate to produce a video with *accumulation motion blur*. This motion blur can look very good, but it can take a long time to generate since you have to render many more frames per second (on top of the time spent on post-processing)." msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:458 +#: ../../docs/tutorials/animation/creating_movies.rst:460 msgid "Example with a 240 FPS source video, generating 4× motion blur and decreasing its output framerate to 60 FPS:" msgstr "" -#: ../../docs/tutorials/animation/creating_movies.rst:465 +#: ../../docs/tutorials/animation/creating_movies.rst:467 msgid "This also makes effects that converge over several frames (such as temporal antialiasing, SDFGI and volumetric fog) converge faster and therefore look better, since they'll be able to work with more data at a given time. See :ref:`doc_creating_movies_reducing_framerate` if you want to get this benefit without adding motion blur." msgstr "" diff --git a/sphinx/templates/tutorials/animation/cutout_animation.pot b/sphinx/templates/tutorials/animation/cutout_animation.pot index 2924052651..fa474270aa 100644 --- a/sphinx/templates/tutorials/animation/cutout_animation.pot +++ b/sphinx/templates/tutorials/animation/cutout_animation.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-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 2fb6a3977a..7b830a4917 100644 --- a/sphinx/templates/tutorials/animation/index.pot +++ b/sphinx/templates/tutorials/animation/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-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 18c210c222..9696188281 100644 --- a/sphinx/templates/tutorials/animation/introduction.pot +++ b/sphinx/templates/tutorials/animation/introduction.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-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 721abf15e7..c7ee11598c 100644 --- a/sphinx/templates/tutorials/animation/playing_videos.pot +++ b/sphinx/templates/tutorials/animation/playing_videos.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -149,109 +149,185 @@ msgid "See :ref:`doc_viewports` and the `GUI in 3D demo `." msgstr "" -#: ../../docs/tutorials/animation/playing_videos.rst:146 -msgid "Looping is not supported, but you can connect a VideoStreamPlayer's :ref:`finished ` signal to a function that plays the video again." -msgstr "" - -#: ../../docs/tutorials/animation/playing_videos.rst:149 +#: ../../docs/tutorials/animation/playing_videos.rst:158 msgid "Streaming a video from a URL is not supported." msgstr "" -#: ../../docs/tutorials/animation/playing_videos.rst:154 +#: ../../docs/tutorials/animation/playing_videos.rst:163 msgid "Recommended Theora encoding settings" msgstr "" -#: ../../docs/tutorials/animation/playing_videos.rst:156 +#: ../../docs/tutorials/animation/playing_videos.rst:165 msgid "A word of advice is to **avoid relying on built-in Ogg Theora exporters** (most of the time). There are 2 reasons you may want to favor using an external program to encode your video:" msgstr "" -#: ../../docs/tutorials/animation/playing_videos.rst:159 +#: ../../docs/tutorials/animation/playing_videos.rst:168 msgid "Some programs such as Blender can render to Ogg Theora. However, the default quality presets are usually very low by today's standards. You may be able to increase the quality options in the software you're using, but you may find the output quality to remain less than ideal (given the increased file size). This usually means that the software only supports encoding to constant bit rate (CBR), instead of variable bit rate (VBR). VBR encoding should be preferred in most scenarios as it provides a better quality to file size ratio." msgstr "" -#: ../../docs/tutorials/animation/playing_videos.rst:167 +#: ../../docs/tutorials/animation/playing_videos.rst:176 msgid "Some other programs can't render to Ogg Theora at all." msgstr "" -#: ../../docs/tutorials/animation/playing_videos.rst:169 +#: ../../docs/tutorials/animation/playing_videos.rst:178 msgid "In this case, you can **render the video to an intermediate high-quality format** (such as a high-bitrate H.264 video) then re-encode it to Ogg Theora. Ideally, you should use a lossless or uncompressed format as an intermediate format to maximize the quality of the output Ogg Theora video, but this can require a lot of disk space." msgstr "" -#: ../../docs/tutorials/animation/playing_videos.rst:175 +#: ../../docs/tutorials/animation/playing_videos.rst:184 msgid "`HandBrake `__ (GUI) and `FFmpeg `__ (CLI) are popular open source tools for this purpose. FFmpeg has a steeper learning curve, but it's more powerful." msgstr "" -#: ../../docs/tutorials/animation/playing_videos.rst:179 +#: ../../docs/tutorials/animation/playing_videos.rst:188 msgid "Here are example FFmpeg commands to convert a MP4 video to Ogg Theora. Since FFmpeg supports a lot of input formats, you should be able to use the commands below with almost any input video format (AVI, MOV, WebM, …)." msgstr "" -#: ../../docs/tutorials/animation/playing_videos.rst:185 +#: ../../docs/tutorials/animation/playing_videos.rst:194 msgid "Make sure your copy of FFmpeg is compiled with libtheora and libvorbis support. You can check this by running ``ffmpeg`` without any arguments, then looking at the ``configuration:`` line in the command output." msgstr "" -#: ../../docs/tutorials/animation/playing_videos.rst:190 +#: ../../docs/tutorials/animation/playing_videos.rst:199 msgid "Balancing quality and file size" msgstr "" -#: ../../docs/tutorials/animation/playing_videos.rst:192 +#: ../../docs/tutorials/animation/playing_videos.rst:201 msgid "The **video quality** level (``-q:v``) must be between ``1`` and ``10``. Quality ``6`` is a good compromise between quality and file size. If encoding at a high resolution (such as 1440p or 4K), you will probably want to decrease ``-q:v`` to ``5`` to keep file sizes reasonable. Since pixel density is higher on a 1440p or 4K video, lower quality presets at higher resolutions will look as good or better compared to low-resolution videos." msgstr "" -#: ../../docs/tutorials/animation/playing_videos.rst:199 +#: ../../docs/tutorials/animation/playing_videos.rst:208 msgid "The **audio quality** level (``-q:a``) must be between ``-1`` and ``10``. Quality ``6`` provides a good compromise between quality and file size. In contrast to video quality, increasing audio quality doesn't increase the output file size nearly as much. Therefore, if you want the cleanest audio possible, you can increase this to ``9`` to get *perceptually lossless* audio. This is especially valuable if your input file already uses lossy audio compression. Higher quality audio does increase the CPU usage of the decoder, so it might lead to audio dropouts in case of high system load. See `this page `__ for a table listing Ogg Vorbis audio quality presets and their respective variable bitrates." msgstr "" -#: ../../docs/tutorials/animation/playing_videos.rst:212 +#: ../../docs/tutorials/animation/playing_videos.rst:221 msgid "FFmpeg: Convert while preserving original video resolution" msgstr "" -#: ../../docs/tutorials/animation/playing_videos.rst:214 +#: ../../docs/tutorials/animation/playing_videos.rst:223 msgid "The following command converts the video while keeping its original resolution. The video and audio's bitrate will be variable to maximize quality while saving space in parts of the video/audio that don't require a high bitrate (such as static scenes)." msgstr "" -#: ../../docs/tutorials/animation/playing_videos.rst:224 +#: ../../docs/tutorials/animation/playing_videos.rst:233 msgid "FFmpeg: Resize the video then convert it" msgstr "" -#: ../../docs/tutorials/animation/playing_videos.rst:226 +#: ../../docs/tutorials/animation/playing_videos.rst:235 msgid "The following command resizes a video to be 720 pixels tall (720p), while preserving its existing aspect ratio. This helps decrease the file size significantly if the source is recorded at a higher resolution than 720p:" msgstr "" +#: ../../docs/tutorials/animation/playing_videos.rst:247 +msgid "Chroma Key Videos" +msgstr "" + +#: ../../docs/tutorials/animation/playing_videos.rst:249 +msgid "Chroma key, commonly known as the \"green screen\" or \"blue screen\" effect, allows you to remove a specific color from an image or video and replace it with another background. This effect is widely used in video production to composite different elements together seamlessly." +msgstr "" + +#: ../../docs/tutorials/animation/playing_videos.rst:253 +msgid "We will achieve the chroma key effect by writing a custom shader in GDScript and using a `VideoStreamPlayer` node to display the video content." +msgstr "" + +#: ../../docs/tutorials/animation/playing_videos.rst:256 +msgid "Scene Setup" +msgstr "" + +#: ../../docs/tutorials/animation/playing_videos.rst:258 +msgid "Ensure that the scene contains a `VideoStreamPlayer` node to play the video and a `Control` node to hold the UI elements for controlling the chroma key effect." +msgstr "" + +#: ../../docs/tutorials/animation/playing_videos.rst:263 +msgid "Writing the Custom Shader" +msgstr "" + +#: ../../docs/tutorials/animation/playing_videos.rst:265 +msgid "To implement the chroma key effect, follow these steps:" +msgstr "" + +#: ../../docs/tutorials/animation/playing_videos.rst:267 +msgid "Select the `VideoStreamPlayer` node in the scene and go to its properties. Under `CanvasItem > Material`, create a new shader named \"ChromaKeyShader.gdshader.\"" +msgstr "" + +#: ../../docs/tutorials/animation/playing_videos.rst:269 +msgid "In the \"ChromaKeyShader.gdshader\" file, write the custom shader code as shown below:" +msgstr "" + +#: ../../docs/tutorials/animation/playing_videos.rst:300 +msgid "The shader uses the distance calculation to identify pixels close to the chroma key color and discards them, effectively removing the selected color. Pixels that are slightly further away from the chroma key color are faded based on the fade_factor, blending them smoothly with the surrounding colors. This process creates the desired chroma key effect, making it appear as if the background has been replaced with another image or video." +msgstr "" + +#: ../../docs/tutorials/animation/playing_videos.rst:306 +msgid "The code above represents a simple demonstration of the Chroma Key shader, and users can customize it according to their specific requirements." +msgstr "" + +#: ../../docs/tutorials/animation/playing_videos.rst:310 +msgid "UI Controls" +msgstr "" + +#: ../../docs/tutorials/animation/playing_videos.rst:312 +msgid "To allow users to manipulate the chroma key effect in real-time, we created sliders in the `Control` node. The `Control` node's script contains the following functions:" +msgstr "" + +#: ../../docs/tutorials/animation/playing_videos.rst:334 +msgid "also make sure that the range of the sliders are appropriate, our settings are :" +msgstr "" + +#: ../../docs/tutorials/animation/playing_videos.rst:339 +msgid "Signal Handling" +msgstr "" + +#: ../../docs/tutorials/animation/playing_videos.rst:341 +msgid "Connect the appropriate signal from the UI elements to the `Control` node's script. you created in the `Control` node's script to control the chroma key effect. These signal handlers will update the shader's uniform variables in response to user input." +msgstr "" + +#: ../../docs/tutorials/animation/playing_videos.rst:346 +msgid "Save and run the scene to see the chroma key effect in action! With the provided UI controls, you can now adjust the chroma key color, pickup range, and fade amount in real-time, achieving the desired chroma key functionality for your video content." +msgstr "" + #: ../../docs/:0 msgid "Translation status" msgstr "" diff --git a/sphinx/templates/tutorials/assets_pipeline/escn_exporter/animation.pot b/sphinx/templates/tutorials/assets_pipeline/escn_exporter/animation.pot index 284b3fe8ee..f8f33ece92 100644 --- a/sphinx/templates/tutorials/assets_pipeline/escn_exporter/animation.pot +++ b/sphinx/templates/tutorials/assets_pipeline/escn_exporter/animation.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-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 09b1d92754..3ef49a4dd0 100644 --- a/sphinx/templates/tutorials/assets_pipeline/escn_exporter/index.pot +++ b/sphinx/templates/tutorials/assets_pipeline/escn_exporter/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-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 51879a6b59..2fdfa36743 100644 --- a/sphinx/templates/tutorials/assets_pipeline/escn_exporter/lights.pot +++ b/sphinx/templates/tutorials/assets_pipeline/escn_exporter/lights.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-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 260000488e..03961a2da5 100644 --- a/sphinx/templates/tutorials/assets_pipeline/escn_exporter/material.pot +++ b/sphinx/templates/tutorials/assets_pipeline/escn_exporter/material.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-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 e9ab08b433..6f78689fd7 100644 --- a/sphinx/templates/tutorials/assets_pipeline/escn_exporter/mesh.pot +++ b/sphinx/templates/tutorials/assets_pipeline/escn_exporter/mesh.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-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 1d6f864b5e..54c4bf44fc 100644 --- a/sphinx/templates/tutorials/assets_pipeline/escn_exporter/physics.pot +++ b/sphinx/templates/tutorials/assets_pipeline/escn_exporter/physics.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-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 cfece07c4b..8039c172ef 100644 --- a/sphinx/templates/tutorials/assets_pipeline/escn_exporter/skeleton.pot +++ b/sphinx/templates/tutorials/assets_pipeline/escn_exporter/skeleton.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-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 4fc309e78d..8b22b1bd82 100644 --- a/sphinx/templates/tutorials/assets_pipeline/exporting_3d_scenes.pot +++ b/sphinx/templates/tutorials/assets_pipeline/exporting_3d_scenes.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -25,7 +25,7 @@ msgid "Overview" msgstr "" #: ../../docs/tutorials/assets_pipeline/exporting_3d_scenes.rst:9 -msgid "In Godot it is possible to export 3D scenes as a glTF 2.0 file. You can export as a glTF binary (``.glb`` file) or glTF embedded with textures (``gltf`` + ``.bin`` + textures). This allows you to create scenes in Godot, such as a CSG mesh blockout for a level, export it to clean it up in a program such as Blender, and then bring it back into Godot." +msgid "In Godot, it is possible to export 3D scenes as a glTF 2.0 file. You can export as a glTF binary (``.glb`` file) or glTF embedded with textures (``gltf`` + ``.bin`` + textures). This allows you to create scenes in Godot, such as a CSG mesh blockout for a level, export it to clean it up in a program such as Blender, and then bring it back into Godot." msgstr "" #: ../../docs/tutorials/assets_pipeline/exporting_3d_scenes.rst:17 @@ -56,6 +56,10 @@ msgstr "" msgid "No support for exporting 2D scenes." msgstr "" +#: ../../docs/tutorials/assets_pipeline/exporting_3d_scenes.rst:34 +msgid "3D scenes can be saved at runtime using :ref:`runtime file loading and saving `, including from an exported project." +msgstr "" + #: ../../docs/:0 msgid "Translation status" msgstr "" diff --git a/sphinx/templates/tutorials/assets_pipeline/import_process.pot b/sphinx/templates/tutorials/assets_pipeline/import_process.pot index 148f246d34..bb89eefe72 100644 --- a/sphinx/templates/tutorials/assets_pipeline/import_process.pot +++ b/sphinx/templates/tutorials/assets_pipeline/import_process.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-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 new file mode 100644 index 0000000000..6d01d5e7ee --- /dev/null +++ b/sphinx/templates/tutorials/assets_pipeline/importing_3d_scenes/available_formats.pot @@ -0,0 +1,233 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2014-present Juan Linietsky, Ariel Manzur and the Godot community (CC BY 3.0) +# This file is distributed under the same license as the Godot Engine package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Godot Engine latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-11-21 12:44+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/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:4 +msgid "Available 3D formats" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:6 +msgid "When dealing with 3D assets, Godot has a flexible and configurable importer." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:8 +msgid "Godot works with *scenes*. This means that the entire scene being worked on in your favorite 3D modeling software will be transferred as close as possible." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:11 +msgid "Godot supports the following 3D *scene file formats*:" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:13 +msgid "glTF 2.0 **(recommended)**. Godot has support for both text (``.gltf``) and binary (``.glb``) formats." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:15 +msgid "``.blend`` (Blender). This works by calling Blender to export to glTF in a transparent manner (requires Blender to be installed)." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:17 +msgid "DAE (COLLADA), an older format that is supported." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:18 +msgid "OBJ (Wavefront) format + their MTL material files. This is also supported, but pretty limited given the format's limitations (no support for pivots, skeletons, animations, UV2, PBR materials, ...)." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:21 +msgid "FBX, supported via `FBX2glTF `__ integration. This requires installing an external program that links against the proprietary FBX SDK, so we recommend using other formats listed above (if suitable for your workflow)." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:25 +msgid "Copy the scene file together with the textures and mesh data (if separate) to the project repository, then Godot will do a full import when focusing the editor window." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:30 +msgid "Exporting glTF 2.0 files from Blender (recommended)" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:32 +msgid "There are 3 ways to export glTF files from Blender:" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:34 +msgid "As a glTF binary file (``.glb``)." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:35 +msgid "As a glTF text-based file with embedded binary data (``.gltf`` file)" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:36 +msgid "As a glTF text-based file with separate binary data and textures (``.gltf`` file + ``.bin`` file + textures)." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:39 +msgid "glTF binary files (``.glb``) are the smallest of the three options. They include the mesh and textures set up in Blender. When brought into Godot the textures are part of the object's material file." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:43 +msgid "glTF embedded files (``.gltf``) function the same way as binary files. They don't provide extra functionality in Godot, and shouldn't be used since they have a larger file size." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:47 +msgid "There are two reasons to use glTF with the textures separate. One is to have the scene description in a text based format and the binary data in a separate binary file. This can be useful for version control if you want to review changes in a text-based format. The second is you need the texture files separate from the material file. If you don't need either of those, glTF binary files are fine." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:54 +msgid "The glTF import process first loads the glTF file's data into an in-memory GLTFState class. This data is then used to generate a Godot scene. When importing files at runtime, this scene can be directly added to the tree. The export process is the reverse of this, a Godot scene is converted to a GLTFState class, then the glTF file is generated from that." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:None +msgid "Diagram explaining the runtime import and export process for glTF files in Godot" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:64 +msgid "When importing glTF files in the editor, there are two more steps. After generating the Godot scene, the ResourceImporterScene class is used to apply additional import settings, including settings you set through the Import dock and the Advanced Import Settings dialog. This is then saved as a Godot scene file, which is what gets used when you run/export your game." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:None +msgid "Diagram explaining the editor import process for glTF files in Godot" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:76 +msgid "If your model contains blend shapes (also known as \"shape keys\" and \"morph targets\"), your glTF export setting **Export Deformation Bones Only** needs to be configured to **Enabled** under the Animation export configurations." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:80 +msgid "Exporting non-deforming bones anyway will lead to incorrect shading." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:84 +msgid "Blender versions older than 3.2 do not export emissive textures with the glTF file. If your model uses one and you're using an older version of Blender, it must be brought in separately." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:88 +msgid "By default, Blender has backface culling disabled on materials and will export materials to match how they render in Blender. This means that materials in Godot will have their cull mode set to **Disabled**. This can decrease performance since backfaces will be rendered, even when they are being culled by other faces. To resolve this, enable **Backface Culling** in Blender's Materials tab, then export the scene to glTF again." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:96 +msgid "Importing ``.blend`` files directly within Godot" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:100 +msgid "This functionality requires Blender 3.0 or later. For best results, we recommend using Blender 3.5 or later, as it includes many fixes to the glTF exporter." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:104 +msgid "It is **strongly** recommended to use an official Blender release downloaded from blender.org, as opposed to a Linux distribution package or Flatpak. This avoids any issues related to packaging, such as different library versions that can cause incompatibilities or sandboxing restrictions." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:109 +msgid "From Godot 4.0 onwards, the editor can directly import ``.blend`` files by calling `Blender `__'s glTF export functionality in a transparent manner." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:113 +msgid "This allows you to iterate on your 3D scenes faster, as you can save the scene in Blender, alt-tab back to Godot then see your changes immediately. When working with version control, this is also more efficient as you no longer need to commit a copy of the exported glTF file to version control." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:118 +msgid "To use ``.blend`` import, you must install Blender before opening the Godot editor (if opening a project that already contains ``.blend`` files). If you keep Blender installed at its default location, Godot should be able to detect its path automatically. If this isn't the case, configure the path to the directory containing the Blender executable in the Editor Settings (**Filesystem > Import > Blender > Blender 3 Path**)." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:125 +msgid "If you keep ``.blend`` files within your project folder but don't want them to be imported by Godot, disable **Filesystem > Import > Blender > Enabled** in the advanced Project Settings." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:129 +msgid "The ``.blend`` import process converts to glTF first, so it still uses Godot's glTF import code. Therefore, the ``.blend`` import process is the same as the glTF import process, but with an extra step at the beginning." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:None +msgid "Diagram explaining the import process for Blender files in Godot" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:139 +msgid "When working in a team, keep in mind using ``.blend`` files in your project will require *all* team members to have Blender installed. While Blender is a free download, this may add friction when working on the project. ``.blend`` import is also not available on the Android and web editors, as these platforms can't call external programs." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:145 +msgid "If this is problematic, consider using glTF scenes exported from Blender instead." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:149 +msgid "Exporting DAE files from Blender" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:151 +msgid "Blender has built-in COLLADA support, but it does not work properly for the needs of game engines and shouldn't be used as-is. However, scenes exported with the built-in Collada support may still work for simple scenes without animation." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:155 +msgid "For complex scenes or scenes that contain animations, Godot provides a `Blender plugin `_ that will correctly export COLLADA scenes for use in Godot." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:160 +msgid "Importing OBJ files in Godot" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:162 +msgid "OBJ is one of the simplest 3D formats out there, so Godot should be able to import most OBJ files successfully. However, OBJ is also a very limited format: it doesn't support skinning, animation, UV2 or PBR materials." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:166 +msgid "There are 2 ways to use OBJ meshes in Godot:" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:168 +msgid "Load them directly in a MeshInstance3D node, or any other property that expects as mesh (such as GPUParticles3D). This is the default mode." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:170 +msgid "Change their import mode to **OBJ as Scene** in the Import dock then restart the editor. This allows you to use the same import options as glTF or Collada scenes, such as unwrapping UV2 on import (for :ref:`doc_using_lightmap_gi`)." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:176 +msgid "Blender 3.4 and later can export RGB vertex colors in OBJ files (this is a nonstandard extension of the OBJ format). Godot is able to import those vertex colors since Godot 4.0, but they will not be displayed on the material unless you enable **Vertex Color > Use As Albedo** on the material." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:181 +msgid "Vertex colors from OBJ meshes keep their original color space once imported (sRGB/linear), but their brightness is clamped to 1.0 (they can't be overbright)." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:186 +msgid "Importing FBX files in Godot" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:188 +msgid "When opening a project containing FBX scenes, you will see a dialog asking you to configure FBX import. Click the link in the dialog to download an FBX2glTF binary, then extract the ZIP archive, place the binary anywhere you wish, then specify its path in the dialog." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:193 +msgid "If you keep ``.fbx`` files within your project folder but don't want them to be imported by Godot, disable **Filesystem > Import > FBX > Enabled** in the advanced Project Settings." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:197 +msgid "The FBX import process converts to glTF first, so it still uses Godot's glTF import code. Therefore, the FBX import process is the same as the glTF import process, but with an extra step at the beginning." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:None +msgid "Diagram explaining the import process for FBX files in Godot" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/available_formats.rst:207 +msgid "The full installation process for using FBX in Godot is described on the `FBX import page of the Godot website `__." +msgstr "" + +#: ../../docs/:0 +msgid "Translation status" +msgstr "" diff --git a/sphinx/templates/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.pot b/sphinx/templates/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.pot new file mode 100644 index 0000000000..e19813ebfc --- /dev/null +++ b/sphinx/templates/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.pot @@ -0,0 +1,512 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2014-present Juan Linietsky, Ariel Manzur and the Godot community (CC BY 3.0) +# This file is distributed under the same license as the Godot Engine package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Godot Engine latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-11-21 12:44+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/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:4 +msgid "Import configuration" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:6 +msgid "Godot provides several ways to customize the imported data, such as the import dock, the advanced import setting dialog, and inherited scenes. This can be used to make further changes to the imported scene, such as adjusting meshes, adding physics information, and adding new nodes. You can also write a script that runs code at the end of the import process to perform arbitrary customization." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:13 +msgid "Note that, when applicable, modifying the original data should be preferred to configuring the scene after import. This helps minimize the differences between the 3D modeling application and the imported scene. See the :ref:`doc_importing_3d_scenes_model_export_considerations` and :ref:`doc_importing_3d_scenes_node_type_customization` articles for more information." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:21 +msgid "Import workflows" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:23 +msgid "Since Godot can only save its own scene format (``.tscn``/``.scn``), Godot cannot save over the original 3D scene file (which uses a different format). This is also a safer approach as it avoids making accidental changes to the source file." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:28 +msgid "To allow customizing the scene and its materials, Godot's scene importer allows for different workflows regarding how data is imported." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:35 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:35 +msgid "Import dock after selecting a 3D scene in the FileSystem dock" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:37 +msgid "This import process is customizable using 3 separate interfaces, depending on your needs:" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:39 +msgid "The **Import** dock, after selecting the 3D scene by clicking it once in the FileSystem dock." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:41 +msgid "The **Advanced Import Settings** dialog, which can be accessed by double-clicking the 3D scene in the FileSystem dock or by clicking the **Advanced…** button in the Import dock. This allows you to customize per-object options in Godot." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:44 +msgid ":ref:`Import hints `, which are special suffixes added to object names in the 3D modeling software. This allows you to customize per-object options in the 3D modeling software." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:48 +msgid "For basic customization, using the Import dock suffices. However, for more complex operations such as defining material overrides on a per-material basis, you'll need to use the Advanced Import Settings dialog, import hints, or possibly both." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:55 +msgid "Using the Import dock" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:57 +msgid "The following options can be adjusted in the Import dock after selecting a 3D scene in the FileSystem dock:" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:60 +msgid "**Root Type:** The node type to use as a root node. Using node types that inherit from Node3D is recommended. Otherwise, you'll lose the ability to position the node directly in the 3D editor." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:63 +msgid "**Root Name:** The name of the root node in the imported scene. This is generally not noticeable when instancing the scene in the editor (or drag-and-dropping from the FileSystem dock), as the root node is renamed to match the filename in this case." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:67 +msgid "**Apply Root Scale:** If enabled, **Root Scale** will be *applied* on the meshes and animations directly, while keeping the root node's scale to the default `(1, 1, 1)`. This means that if you add a child node later on within the imported scene, it won't be scaled. If disabled, **Root Scale** will multiply the scale of the root node instead." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:73 +msgid "**Meshes**" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:75 +msgid "**Ensure Tangents:** If checked, generate vertex tangents using `Mikktspace `__ if the input meshes don't have tangent data. When possible, it's recommended to let the 3D modeling software generate tangents on export instead on relying on this option. Tangents are required for correct display of normal and height maps, along with any material/shader features that require tangents. If you don't need material features that require tangents, disabling this can reduce output file size and speed up importing if the source 3D file doesn't contain tangents." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:83 +msgid "**Generate LODs:** If checked, generates lower detail variants of the mesh which will be displayed in the distance to improve rendering performance. Not all meshes benefit from LOD, especially if they are never rendered from far away. Disabling this can reduce output file size and speed up importing. See :ref:`doc_mesh_lod` for more information." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:88 +msgid "**Create Shadow Meshes:** If checked, enables the generation of shadow meshes on import. This optimizes shadow rendering without reducing quality by welding vertices together when possible. This in turn reduces the memory bandwidth required to render shadows. Shadow mesh generation currently doesn't support using a lower detail level than the source mesh (but shadow rendering will make use of LODs when relevant)." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:94 +msgid "**Light Baking:** Configures the meshes' :ref:`global illumination mode ` in the 3D scene. If set to **Static Lightmaps**, sets the meshes' GI mode to **Static** and generates UV2 on import for :ref:`lightmap baking `." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:98 +msgid "**Lightmap Texel Size:** Only visible if **Light Baking** is set to **Static Lightmaps**. Controls the size of each texel on the baked lightmap. A smaller value results in more precise lightmaps, at the cost of larger lightmap sizes and longer bake times." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:103 +msgid "**Skins**" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:105 +msgid "**Use Named Skins:** If checked, use named :ref:`Skins ` for animation. The :ref:`class_MeshInstance3D` node contains 3 properties of relevance here: a skeleton NodePath pointing to the Skeleton3D node (usually ``..``), a mesh, and a skin:" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:109 +msgid "The :ref:`class_Skeleton3D` node contains a list of bones with names, their pose and rest, a name and a parent bone." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:111 +msgid "The mesh is all of the raw vertex data needed to display a mesh. In terms of the mesh, it knows how vertices are weight-painted and uses some internal numbering often imported from 3D modeling software." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:114 +msgid "The skin contains the information necessary to bind this mesh onto this Skeleton3D. For every one of the internal bone IDs chosen by the 3D modeling software, it contains two things. Firstly, a Matrix known as the Bind Pose Matrix, Inverse Bind Matrix, or IBM for short. Secondly, the Skin contains each bone's name (if **Use Named Skins** is enabled), or the bone's index within the Skeleton3D list (if **Use Named Skins** is disabled)." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:120 +msgid "Together, this information is enough to tell Godot how to use the bone poses in the Skeleton3D node to render the mesh from each MeshInstance3D. Note that each MeshInstance3D may share binds, as is common in models exported from Blender, or each MeshInstance3D may use a separate Skin object, as is common in models exported from other tools such as Maya." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:127 +msgid "**Animation**" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:129 +msgid "**Import:** If checked, import animations from the 3D scene." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:130 +msgid "**FPS:** The number of frames per second to use for baking animation curves to a series of points with linear interpolation. It's recommended to configure this value to match the value you're using as a baseline in your 3D modeling software. Higher values result in more precise animation with fast movement changes, at the cost of higher file sizes and memory usage. Thanks to interpolation, there is usually not much benefit in going above 30 FPS (as the animation will still appear smooth at higher rendering framerates)." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:137 +msgid "**Trimming:** Trim the beginning and end of animations if there are no keyframe changes. This can reduce output file size and memory usage with certain 3D scenes, depending on the contents of their animation tracks." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:140 +msgid "**Remove Immutable Tracks:** Remove animation tracks that only contain default values. This can reduce output file size and memory usage with certain 3D scenes, depending on the contents of their animation tracks." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:144 +msgid "**Import Script**" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:146 +msgid "**Path:** Path to an import script, which can run code *after* the import process has completed for custom processing. See :ref:`doc_importing_3d_scenes_import_script` for more information." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:150 +msgid "**glTF**" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:152 +msgid "**Embedded Texture Handling:** Controls how textures embedded within glTF scenes should be handled. **Discard All Textures** will not import any textures, which is useful if you wish to manually set up materials in Godot instead. **Extract Textures** extracts textures to external images, resulting in smaller file sizes and more control over import options. **Embed as Basis Universal** and **Embed as Uncompressed** keeps the textures embedded in the imported scene, with and without VRAM compression respectively." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:161 +msgid "Using the Advanced Import Settings dialog" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:163 +msgid "The first tab you'll see is the **Scene** tab. The options available in the panel on the right are identical to the Import dock, but you have access to a 3D preview. The 3D preview can be rotated by holding down the left mouse button then dragging the mouse. Zoom can be adjusted using the mouse wheel." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:172 +msgid "Advanced Import Settings dialog (Scene tab)" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:172 +msgid "Advanced Import Settings dialog (Scene tab). Credit: `Modern Arm Chair 01 - Poly Haven `__" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:175 +msgid "**Configuring node import options**" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:177 +msgid "You can select individual nodes that compose the scene while in the **Scene** tab using the tree view at the left:" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:184 +msgid "Selecting a node in the Advanced Import Settings dialog (Scene tab)" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:184 +msgid "Selecting a node in the Advanced Import Settings dialog (Materials tab)" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:186 +msgid "This exposes several per-node import options:" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:188 +msgid "**Skip Import:** If checked, the node will not be present in the final imported scene. Enabling this disables all other options." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:190 +msgid "**Generate > Physics:** If checked, generates a PhysicsBody3D *parent* node with collision shapes that are *siblings* to the MeshInstance3D node." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:192 +msgid "**Generate > NavMesh:** If checked, generates a NavigationRegion3D *child* node for :ref:`navigation `. **Mesh + NavMesh** will keep the original mesh visible, while **NavMesh Only** will only import the navigation mesh (without a visual representation). **NavMesh Only** is meant to be used when you've manually authored a simplified mesh for navigation." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:197 +msgid "**Generate > Occluder:** If checked, generates an OccluderInstance3D *sibling* node for :ref:`occlusion culling ` using the mesh's geometry as a basis for the occluder's shape. **Mesh + Occluder** will keep the original mesh visible, while **Occluder Only** will only import the occluder (without a visual representation). **Occluder Only** is meant to be used when you've manually authored a simplified mesh for occlusion culling." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:204 +msgid "These options are only visible if some of the above options are enabled:" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:206 +msgid "**Physics > Body Type:** Only visible if **Generate > Physics** is enabled. Controls the PhysicsBody3D that should be created. **Static** creates a StaticBody3D, **Dynamic** creates a RigidBody3D, **Area** creates an Area3D." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:209 +msgid "**Physics > Shape Type:** Only visible if **Generate > Physics** is enabled. **Trimesh** allows for precise per-triangle collision, but it can only be used with a **Static** body type. Other types are less precise and may require manual configuration, but can be used with any body type. For static level geometry, use **Trimesh**. For dynamic geometry, use primitive shapes if possible for better performance, or use one of the convex decomposition modes if the shape is large and complex." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:216 +msgid "**Decomposition > Advanced:** Only visible if **Physics > Shape Type** is **Decompose Convex**. If checked, allows adjusting advanced decomposition options. If disabled, only a preset **Precision** can be adjusted (which is usually sufficient)." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:220 +msgid "**Decomposition > Precision:** Only visible if **Physics > Shape Type** is **Decompose Convex**. Controls the precision to use for convex decomposition. Higher values result in more detailed collision, at the cost of slower generation and increased CPU usage during physics simulation. To improve performance, it's recommended to keep this value as low as possible for your use cases." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:226 +msgid "**Occluder > Simplification Distance:** Only visible if **Generate > Occluder** is set to **Mesh + Occluder** or **Occluder Only**. Higher values result in a occluder mesh with fewer vertices (resulting in decreased CPU utilization), at the cost of more occlusion culling issues (such as false positives or false negatives). If you run into objects disappearing when they shouldn't when the camera is near a certain mesh, try decreasing this value." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:233 +msgid "**Configuring mesh and material import options**" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:235 +msgid "In the Advanced Import Settings dialog, there are 2 ways to select individual meshes or materials:" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:238 +msgid "Switch to the **Meshes** or **Materials** tab in the top-left corner of the dialog." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:239 +msgid "Stay in the **Scene** tab, but unfold the options on the tree view on the left. After choosing a mesh or material, this presents the same information as the **Meshes** and **Materials** tabs, but in a tree view instead of a list." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:243 +msgid "If you select a mesh, different options will appear in the panel on the right:" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:249 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:249 +msgid "Advanced Import Settings dialog (Meshes tab)" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:251 +msgid "The options are as follows:" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:253 +msgid "**Save to File:** Saves the :ref:`class_Mesh` *resource* to an external file (this isn't a scene file). You generally don't need to use this for placing the mesh in a 3D scene – instead, you should instance the 3D scene directly. However, having direct access to the Mesh resource is useful for specific nodes, such as :ref:`class_MeshInstance3D`, :ref:`class_MultiMeshInstance3D`, :ref:`class_GPUParticles3D` or :ref:`class_CPUParticles3D`. - You will also need to specify an output file path using the option that appears after enabling **Save to File**. It's recommended to use the ``.res`` output file extension for smaller file sizes and faster loading speeds, as ``.tres`` is inefficient for writing large amounts of data." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:263 +msgid "**Generate > Shadow Meshes:** Per-mesh override for the **Meshes > Create Shadow Meshes** scene-wide import option described in :ref:`doc_importing_3d_scenes_using_the_import_dock`. **Default** will use the scene-wide import option, while **Enable** or **Disable** can forcibly enable or disable this behavior on a specific mesh." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:268 +msgid "**Generate > Lightmap UV:** Per-mesh override for the **Meshes > Light Baking** scene-wide import option described in :ref:`doc_importing_3d_scenes_using_the_import_dock`. **Default** will use the scene-wide import option, while **Enable** or **Disable** can forcibly enable or disable this behavior on a specific mesh. - Setting this to **Enable** on a scene with the **Static** light baking mode is equivalent to configuring this mesh to use **Static Lightmaps**. Setting this to **Disable** on a scene with the **Static Lightmaps** light baking mode is equivalent to configuring this mesh to use **Static** instead." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:277 +msgid "**Generate > LODs:** Per-mesh override for the **Meshes > Generate LODs** scene-wide import option described in :ref:`doc_importing_3d_scenes_using_the_import_dock`. **Default** will use the scene-wide import option, while **Enable** or **Disable** can forcibly enable or disable this behavior on a specific mesh." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:282 +msgid "**LODs > Normal Split Angle:** The minimum angle difference between two vertices required to preserve a geometry edge in mesh LOD generation. If running into visual issues with LOD generation, decreasing this value may help (at the cost of less efficient LOD generation)." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:286 +msgid "**LODs > Normal Merge Angle:** The minimum angle difference between two vertices required to preserve a geometry edge in mesh LOD generation. If running into visual issues with LOD generation, decreasing this value may help (at the cost of less efficient LOD generation)." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:291 +msgid "If you select a material, only one option will appear in the panel on the right:" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:297 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:297 +msgid "Advanced Import Settings dialog (Materials tab)" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:299 +msgid "When **Use External** is checked and an output path is specified, this lets you use an external material instead of the material that is included in the original 3D scene file; see the section below." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:304 +msgid "Extracting materials to separate files" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:306 +msgid "While Godot can import materials authored in 3D modeling software, the default configuration may not be suitable for your needs. For example:" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:309 +msgid "You want to configure material features not supported by your 3D application." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:310 +msgid "You want to use a different texture filtering mode, as this option is configured in the material since Godot 4.0 (and not in the image)." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:312 +msgid "You want to replace one of the materials with an entirely different material, such as a custom shader." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:315 +msgid "To be able to modify the 3D scene's materials in the Godot editor, you need to use *external* material resources." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:318 +msgid "In the top-left corner of the Advanced Import Settings dialog, choose **Actions… > Extract Materials**:" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:325 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:325 +msgid "Extracting all built-in materials to external resources in the Advanced Import Settings dialog" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:327 +msgid "After choosing this option, select a folder to extract material ``.tres`` files to, then confirm the extraction:" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:334 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:334 +msgid "Confirming material extraction in the Advanced Import Settings subdialog" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:338 +msgid "After extracting materials, the 3D scene will automatically be configured to use external material references. As a result, you don't need to manually enable **Use External** on every material to make the external ``.tres`` material effective." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:343 +msgid "When **Use External** is enabled, remember that the Advanced Import Settings dialog will keep displaying the mesh's original materials (the ones designed in the 3D modeling software). This means your customizations to the materials won't be visible within this dialog. To preview your modified materials, you need to place the imported 3D scene in another scene using the editor." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:349 +msgid "Godot will not overwrite changes made to extracted materials when the source 3D scene is reimported. However, if the material name is changed in the source 3D file, the link between the original material and the extracted material will be lost. As a result, you'll need to use the Advanced Import Settings dialog to associate the renamed material to the existing extracted material." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:355 +msgid "The above can be done in the dialog's **Materials** tab by selecting the material, enabling **Save to File**, then specifying the save path using the **Path** option that appears after enabling **Save to File**." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:362 +msgid "Using import scripts for automation" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:364 +msgid "A special script to process the whole scene after import can be provided. This is great for post-processing, changing materials, doing funny stuff with the geometry, and more." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:368 +msgid "Create a script that is not attached to any node by right-clicking in the FileSystem dock and choosing **New > Script…**. In the script editor, write the following:" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:394 +msgid "The ``_post_import(scene: Node)`` function takes the imported scene as argument (the parameter is actually the root node of the scene). The scene that will finally be used **must** be returned (even if the scene can be entirely different)." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:399 +msgid "Using animation libraries" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:401 +msgid "As of Godot 4.0, you can choose to import **only** animations from a glTF file and nothing else. This is used in some asset pipelines to distribute animations separately from models. For example, this allows you to use one set of animations for several characters, without having to duplicate animation data in every character." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:407 +msgid "To do so, select the glTF file in the FileSystem dock, then change the import mode to Animation Library in the Import dock:" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:414 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:414 +msgid "Changing the import type to Animation Library in the Import dock" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:416 +msgid "Click **Reimport** and restart the editor when prompted. After restarting, the glTF file will be imported as an :ref:`class_AnimationLibrary` instead of a :ref:`class_PackedScene`. This animation library can then be referenced in an :ref:`class_AnimationPlayer` node." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:421 +msgid "The import options that are visible after changing the import mode to Animation Library act the same as when using the Scene import mode. See :ref:`doc_importing_3d_scenes_using_the_import_dock` for more information." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:426 +msgid "Filter script" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:428 +msgid "It is possible to specify a filter script in a special syntax to decide which tracks from which animations should be kept." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:431 +msgid "The filter script is executed against each imported animation. The syntax consists of two types of statements, the first for choosing which animations to filter, and the second for filtering individual tracks within the matched animation. All name patterns are performed using a case-insensitive expression match, with support for ``?`` and ``*`` wildcards (using :ref:`String.matchn() ` under the hood)." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:438 +msgid "The script must start with an animation filter statement (as denoted by the line beginning with an ``@``). For example, if we would like to apply filters to all imported animations which have a name ending in ``\"_Loop\"``::" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:444 +msgid "Similarly, additional patterns can be added to the same line, separated by commas. Here is a modified example to additionally *include* all animations with names that begin with ``\"Arm_Left\"``, but also *exclude* all animations which have names ending in ``\"Attack\"``::" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:451 +msgid "Following the animation selection filter statement, we add track filtering patterns to indicate which animation tracks should be kept or discarded. If no track filter patterns are specified, then all tracks within the matched animations will be discarded!" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:456 +msgid "It's important to note that track filter statements are applied in order for each track within the animation, this means that one line may include a track, a later rule can still discard it. Similarly, a track excluded by an early rule may then be re-included once again by a filter rule further down in the filter script." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:462 +msgid "For example: include all tracks in animations with names ending in ``\"_Loop\"``, but discard any tracks affecting a ``\"Skeleton\"`` which end in ``\"Control\"``, unless they have ``\"Arm\"`` in their name::" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:471 +msgid "In the above example, tracks like ``\"Skeleton:Leg_Control\"`` would be discarded, while tracks such as ``\"Skeleton:Head\"`` or ``\"Skeleton:Arm_Left_Control\"`` would be retained." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:475 +msgid "Any track filter lines that do not begin with a ``+`` or ``-`` are ignored." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:478 +msgid "Storage" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:480 +msgid "By default, animations are saved as built-in. It is possible to save them to a file instead. This allows adding custom tracks to the animations and keeping them after a reimport." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:485 +msgid "Optimizer" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:487 +msgid "When animations are imported, an optimizer is run, which reduces the size of the animation considerably. In general, this should always be turned on unless you suspect that an animation might be broken due to it being enabled." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:492 +msgid "Clips" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:494 +msgid "It is possible to specify multiple animations from a single timeline as clips. For this to work, the model must have only one animation that is named ``default``. To create clips, change the clip amount to something greater than zero. You can then name a clip, specify which frames it starts and stops on, and choose whether the animation loops or not." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:501 +msgid "Scene inheritance" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:503 +msgid "In many cases, it may be desired to make manual modifications to the imported scene. By default, this is not possible because if the source 3D asset changes, Godot will re-import the *whole* scene." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:507 +msgid "However, it is possible to make local modifications by using *scene inheritance*. If you try to open the imported scene using **Scene > Open Scene…** or **Scene > Quick Open Scene…**, the following dialog will appear:" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:515 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:515 +msgid "Dialog when opening an imported 3D scene in the editor" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:517 +msgid "In inherited scenes, the only limitations for modification are:" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:519 +msgid "Nodes from the base scene can't be removed, but additional nodes can be added anywhere." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:521 +msgid "Subresources can't be edited. Instead, you need to save them externally as described above." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.rst:524 +msgid "Other than that, everything is allowed." +msgstr "" + +#: ../../docs/:0 +msgid "Translation status" +msgstr "" diff --git a/sphinx/templates/tutorials/assets_pipeline/importing_3d_scenes/index.pot b/sphinx/templates/tutorials/assets_pipeline/importing_3d_scenes/index.pot new file mode 100644 index 0000000000..037a8b1305 --- /dev/null +++ b/sphinx/templates/tutorials/assets_pipeline/importing_3d_scenes/index.pot @@ -0,0 +1,33 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2014-present Juan Linietsky, Ariel Manzur and the Godot community (CC BY 3.0) +# This file is distributed under the same license as the Godot Engine package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Godot Engine latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-11-21 12:44+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/tutorials/assets_pipeline/importing_3d_scenes/index.rst:4 +msgid "Importing 3D scenes" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/index.rst:6 +msgid "Godot supports importing 3D scenes from various file formats. This documentation section describes what those formats are, and how to use them, including exporting with the correct conventions and best practices, and how to customize the node type using a suffix in the node name. The import configuration article describes how to customize the imported data using the import dock, the advanced import settings dialog, and inherited scenes." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/index.rst:25 +msgid "3D scenes can be loaded at runtime using :ref:`runtime file loading and saving `, including from an exported project." +msgstr "" + +#: ../../docs/:0 +msgid "Translation status" +msgstr "" 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 new file mode 100644 index 0000000000..3bd57f6b23 --- /dev/null +++ b/sphinx/templates/tutorials/assets_pipeline/importing_3d_scenes/model_export_considerations.pot @@ -0,0 +1,93 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2014-present Juan Linietsky, Ariel Manzur and the Godot community (CC BY 3.0) +# This file is distributed under the same license as the Godot Engine package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Godot Engine latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-11-21 12:44+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/tutorials/assets_pipeline/importing_3d_scenes/model_export_considerations.rst:4 +msgid "Model export considerations" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/model_export_considerations.rst:6 +msgid "Before exporting a 3D model from a 3D modeling application, such as Blender, there are some considerations that should be taken into account to ensure that the model follows the conventions and best practices for Godot." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/model_export_considerations.rst:11 +msgid "3D asset direction conventions" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/model_export_considerations.rst:13 +msgid "Godot uses a right-handed, Y-is-up coordinate system, with the -Z axis as the camera's forward direction. This is the same as OpenGL. This implies that +Z is back, +X is right, and -X is left for a camera." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/model_export_considerations.rst:17 +msgid "The convention for 3D assets is to face the opposite direction as the camera, so that characters and other assets are facing the camera by default. This convention is extremely common in 3D modeling applications, and is `codified in glTF as part of the glTF 2.0 specification `__. This means that for oriented 3D assets (such as characters), the +Z axis is the direction of the front, so -Z is the rear, +X is the left side, and -X is the right side for a 3D asset. In Blender, this means that +Y is rear and -Y is front for an asset." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/model_export_considerations.rst:26 +msgid "When rotating an oriented 3D asset in Godot, use the ``use_model_front`` option on the ``look_at`` functions, and use the ``Vector3.MODEL_*`` constants to perform calculations in the oriented asset's local space." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/model_export_considerations.rst:30 +msgid "For assets without an intrinsic front side or forward direction, such as a game map or terrain, take note of the cardinal directions instead. The convention in Godot and the vast majority of other applications is that +X is east and -X is west. Due to Godot's right-handed Y-is-up coordinate system, this implies that +Z is south and -Z is north. In Blender, this means that +Y is north and -Y is south." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/model_export_considerations.rst:38 +msgid "Exporting textures separately" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/model_export_considerations.rst:40 +msgid "While textures can be exported with a model in certain file formats, such as glTF 2.0, you can also export them separately. Godot uses PBR (physically based rendering) for its materials, so if a texturing program can export PBR textures they can work in Godot. This includes the `Substance suite `__, `ArmorPaint (open source) `__, and `Material Maker (open source) `__." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/model_export_considerations.rst:45 +msgid "For more information on Godot's materials, see :ref:`doc_standard_material_3d`." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/model_export_considerations.rst:48 +msgid "Exporting considerations" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/model_export_considerations.rst:50 +msgid "Since GPUs can only render triangles, meshes that contain quads or N-gons have to be *triangulated* before they can be rendered. Godot can triangulate meshes on import, but results may be unpredictable or incorrect, especially with N-gons. Regardless of the target application, triangulating *before* exporting the scene will lead to more consistent results and should be done whenever possible." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/model_export_considerations.rst:57 +msgid "To avoid issues with incorrect triangulation after importing in Godot, it is recommended to make the 3D modeling software triangulate objects on its own. In Blender, this can be done by adding a Triangulate modifier to your objects and making sure **Apply Modifiers** is checked in the export dialog. Alternatively, depending on the exporter, you may be able to find and enable a **Triangulate Faces** option in the export dialog." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/model_export_considerations.rst:64 +msgid "To avoid issues with 3D selection in the editor, it is recommended to apply the object transform in the 3D modeling software before exporting the scene." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/model_export_considerations.rst:69 +msgid "It is important that the mesh is not deformed by bones when exporting. Make sure that the skeleton is reset to its T-pose or default rest pose before exporting with your favorite 3D editor." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/model_export_considerations.rst:74 +msgid "Lighting considerations" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/model_export_considerations.rst:76 +msgid "While it's possible to import lights from a 3D scene using the glTF, ``.blend`` or Collada formats, it's generally advised to design the scene's lighting in the Godot editor after importing the scene." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/model_export_considerations.rst:80 +msgid "This allows you to get a more accurate feel for the final result, as different engines will render lights in a different manner. This also avoids any issues with lights appearing excessively strong or faint as a result of the import process." +msgstr "" + +#: ../../docs/:0 +msgid "Translation status" +msgstr "" diff --git a/sphinx/templates/tutorials/assets_pipeline/importing_3d_scenes/node_type_customization.pot b/sphinx/templates/tutorials/assets_pipeline/importing_3d_scenes/node_type_customization.pot new file mode 100644 index 0000000000..dfd1cc7bb4 --- /dev/null +++ b/sphinx/templates/tutorials/assets_pipeline/importing_3d_scenes/node_type_customization.pot @@ -0,0 +1,170 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2014-present Juan Linietsky, Ariel Manzur and the Godot community (CC BY 3.0) +# This file is distributed under the same license as the Godot Engine package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Godot Engine latest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-11-21 12:44+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/tutorials/assets_pipeline/importing_3d_scenes/node_type_customization.rst:4 +msgid "Node type customization using name suffixes" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/node_type_customization.rst:6 +msgid "Many times, when editing a scene, there are common tasks that need to be done after exporting:" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/node_type_customization.rst:9 +msgid "Adding collision detection to objects." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/node_type_customization.rst:10 +msgid "Setting objects as navigation meshes." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/node_type_customization.rst:11 +msgid "Deleting nodes that are not used in the game engine (like specific lights used for modeling)." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/node_type_customization.rst:14 +msgid "To simplify this workflow, Godot offers several suffixes that can be added to the names of the objects in your 3D modeling software. When imported, Godot will detect suffixes in object names and will perform actions automatically." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/node_type_customization.rst:20 +msgid "All the suffixes described below are **case-sensitive**." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/node_type_customization.rst:23 +msgid "Remove nodes (-noimp)" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/node_type_customization.rst:25 +msgid "Objects that have the ``-noimp`` suffix will be removed at import-time no matter what their type is. They will not appear in the imported scene." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/node_type_customization.rst:28 +msgid "This is equivalent to enabling **Skip Import** for a node in the Advanced Import Settings dialog." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/node_type_customization.rst:32 +msgid "Create collisions (-col, -convcol, -colonly, -convcolonly)" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/node_type_customization.rst:34 +msgid "The option ``-col`` will work only for Mesh objects. If it is detected, a child static collision node will be added, using the same geometry as the mesh. This will create a triangle mesh collision shape, which is a slow, but accurate option for collision detection. This option is usually what you want for level geometry (but see also ``-colonly`` below)." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/node_type_customization.rst:40 +msgid "The option ``-convcol`` will create a :ref:`class_ConvexPolygonShape3D` instead of a :ref:`class_ConcavePolygonShape3D`. Unlike triangle meshes which can be concave, a convex shape can only accurately represent a shape that doesn't have any concave angles (a pyramid is convex, but a hollow box is concave). Due to this, convex collision shapes are generally not suited for level geometry. When representing simple enough meshes, convex collision shapes can result in better performance compared to a triangle collision shape. This option is ideal for simple or dynamic objects that require mostly-accurate collision detection." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/node_type_customization.rst:49 +msgid "However, in both cases, the visual geometry may be too complex or not smooth enough for collisions. This can create physics glitches and slow down the engine unnecessarily." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/node_type_customization.rst:53 +msgid "To solve this, the ``-colonly`` modifier exists. It will remove the mesh upon importing and will create a :ref:`class_StaticBody3D` collision instead. This helps the visual mesh and actual collision to be separated." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/node_type_customization.rst:57 +msgid "The option ``-convcolonly`` works in a similar way, but will create a :ref:`class_ConvexPolygonShape3D` instead using convex decomposition." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/node_type_customization.rst:60 +msgid "With Collada files, the option ``-colonly`` can also be used with Blender's empty objects. On import, it will create a :ref:`class_StaticBody3D` with a collision node as a child. The collision node will have one of a number of predefined shapes, depending on Blender's empty draw type:" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/node_type_customization.rst:69 +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/node_type_customization.rst:69 +msgid "Choosing a draw type for an Empty on creation in Blender" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/node_type_customization.rst:71 +msgid "Single arrow will create a :ref:`class_SeparationRayShape3D`." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/node_type_customization.rst:72 +msgid "Cube will create a :ref:`class_BoxShape3D`." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/node_type_customization.rst:73 +msgid "Image will create a :ref:`class_WorldBoundaryShape3D`." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/node_type_customization.rst:74 +msgid "Sphere (and the others not listed) will create a :ref:`class_SphereShape3D`." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/node_type_customization.rst:76 +msgid "When possible, **try to use a few primitive collision shapes** instead of triangle mesh or convex shapes. Primitive shapes often have the best performance and reliability." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/node_type_customization.rst:82 +msgid "For better visibility on Blender's editor, you can set the \"X-Ray\" option on collision empties and set some distinct color for them by changing **Edit > Preferences > Themes > 3D Viewport > Empty**." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/node_type_customization.rst:86 +msgid "If using Blender 2.79 or older, follow these steps instead: **User Preferences > Themes > 3D View > Empty**." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/node_type_customization.rst:91 +msgid "See :ref:`doc_collision_shapes_3d` for a comprehensive overview of collision shapes." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/node_type_customization.rst:95 +msgid "Create navigation (-navmesh)" +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)" +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." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/node_type_customization.rst:107 +msgid "Create a VehicleWheel (-wheel)" +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." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/node_type_customization.rst:113 +msgid "Rigid Body (-rigid)" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/node_type_customization.rst:115 +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 +msgid "Animation loop (-loop, -cycle)" +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_3d_scenes/node_type_customization.rst:120 +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 +msgid "In Blender, this requires using the NLA Editor and naming the Action with the ``loop`` or ``cycle`` prefix or suffix." +msgstr "" + +#: ../../docs/:0 +msgid "Translation status" +msgstr "" diff --git a/sphinx/templates/tutorials/assets_pipeline/importing_audio_samples.pot b/sphinx/templates/tutorials/assets_pipeline/importing_audio_samples.pot index ef2b18c616..ed99ebd6cd 100644 --- a/sphinx/templates/tutorials/assets_pipeline/importing_audio_samples.pot +++ b/sphinx/templates/tutorials/assets_pipeline/importing_audio_samples.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -223,7 +223,7 @@ msgid "**Backward:** Play audio in reverse and loop back to the end when done pl msgstr "" #: ../../docs/tutorials/assets_pipeline/importing_audio_samples.rst:151 -msgid "When choosing one of the **Forward**, **Ping-Pong** or **Backward** loop modes, loop points can also be defined to make only a specific part of the sound loop. **Loop Begin** is set in seconds after the beginning of the audio file. **Loop End** is also set in seconds after the beginning of the audio file, but will use the end of the audio file if set to ``-1``." +msgid "When choosing one of the **Forward**, **Ping-Pong** or **Backward** loop modes, loop points can also be defined to make only a specific part of the sound loop. **Loop Begin** is set in samples after the beginning of the audio file. **Loop End** is also set in samples after the beginning of the audio file, but will use the end of the audio file if set to ``-1``." msgstr "" #: ../../docs/tutorials/assets_pipeline/importing_audio_samples.rst:159 @@ -372,6 +372,10 @@ msgstr "" msgid "As you can see above, sound effects become much larger in file size with reverb added." msgstr "" +#: ../../docs/tutorials/assets_pipeline/importing_audio_samples.rst:310 +msgid "Audio samples can be loaded and saved at runtime using :ref:`runtime file loading and saving `, including from an exported project." +msgstr "" + #: ../../docs/:0 msgid "Translation status" msgstr "" diff --git a/sphinx/templates/tutorials/assets_pipeline/importing_images.pot b/sphinx/templates/tutorials/assets_pipeline/importing_images.pot index 48f510a921..388a51b449 100644 --- a/sphinx/templates/tutorials/assets_pipeline/importing_images.pot +++ b/sphinx/templates/tutorials/assets_pipeline/importing_images.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -37,768 +37,776 @@ msgid "DirectDraw Surface (``.dds``) - If mipmaps are present in the texture, th msgstr "" #: ../../docs/tutorials/assets_pipeline/importing_images.rst:16 +msgid "Khronos Texture (``.ktx``) - Decoding is done using `libktx `__. Only supports 2D images. Cubemaps, texture arrays and de-padding are not supported." +msgstr "" + +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:19 msgid "OpenEXR (``.exr``) - Supports HDR (highly recommended for panorama skies)." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:18 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:21 msgid "Radiance HDR (``.hdr``) - Supports HDR (highly recommended for panorama skies)." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:20 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:23 msgid "JPEG (``.jpg``, ``.jpeg``) - Doesn't support transparency per the format's limitations." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:22 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:25 msgid "PNG (``.png``) - Precision is limited to 8 bits per channel upon importing (no HDR images)." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:24 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:27 msgid "Truevision Targa (``.tga``)" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:25 +#: ../../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 `__." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:34 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:37 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:40 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:43 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:44 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:47 msgid "Importing textures" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:46 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:49 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:51 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:54 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:58 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:61 msgid "Import options in the Import dock after selecting an image in the FileSystem dock" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:58 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:61 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:64 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:67 msgid "Changing import type" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:66 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:69 msgid "It is possible to choose other types of imported resources in the Import dock:" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:68 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:71 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:73 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:76 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:76 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:79 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:80 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:83 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:82 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:85 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:85 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:88 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:87 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:90 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:92 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:95 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:98 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:101 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:103 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:106 msgid "Detect 3D" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:105 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:108 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:114 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:117 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:116 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:119 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:125 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:128 msgid "Import options" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:129 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:132 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:132 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:135 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:142 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:145 msgid "Compress > Mode" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:144 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:147 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:148 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:151 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:152 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:155 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:156 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:159 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:161 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:164 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:163 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:166 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:173 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:176 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:177 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:180 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:198 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:198 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:198 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:198 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:198 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:198 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:198 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:198 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:198 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:198 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:198 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:198 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:198 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:198 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:198 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:198 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:198 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:198 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:198 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:198 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:198 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:198 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:198 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:198 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:198 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:198 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:198 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:198 +#: ../../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 msgid "good" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:196 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:196 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:196 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:196 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:196 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:196 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:196 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:196 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:196 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:196 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:196 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:196 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:196 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:196 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:196 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:196 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:196 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:196 +#: ../../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 msgid "bad" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:181 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:184 msgid "Compress mode" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:181 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:205 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:184 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:208 msgid "Lossless" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:181 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:205 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:184 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:208 msgid "Lossy" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:181 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:205 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:184 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:208 msgid "VRAM Compressed" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:181 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:205 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:184 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:208 msgid "VRAM Uncompressed" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:181 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:205 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:184 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:208 msgid "Basis Universal" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:183 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:186 msgid "**Description**" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:183 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:186 msgid "Stored as Lossless WebP / PNG" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:183 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:186 msgid "Stored as Lossy WebP" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:183 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:186 msgid "Stored as S3TC, BPTC or ETC2 depending on platform" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:183 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:186 msgid "Stored as raw pixels" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:183 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:186 msgid "Transcoded to VRAM Compressed format" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:185 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:188 msgid "**Size on disk**" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:185 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:185 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:188 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:188 msgid "|regular| Small" msgstr "" -#: ../../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: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 msgid "regular" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:185 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:185 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:188 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:188 msgid "|good| Very small" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:185 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:187 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:187 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:187 +#: ../../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 msgid "|bad| Large" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:187 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:190 msgid "**Memory usage**" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:187 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:187 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:190 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:190 msgid "|good| Small" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:189 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:192 msgid "**Performance**" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:189 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:189 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:189 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:193 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:193 +#: ../../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 msgid "|regular| Normal" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:189 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:189 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:193 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:192 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:192 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:196 msgid "|good| Fast" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:191 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:194 msgid "**Quality loss**" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:191 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:191 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:194 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:194 msgid "|good| None" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:191 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:194 msgid "|regular| Slight" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:191 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:191 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:194 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:194 msgid "|bad| Moderate" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:193 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:196 msgid "**Load time**" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:193 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:193 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:196 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:196 msgid "|bad| Slow" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:202 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:205 msgid "Estimated memory usage for a single RGBA8 texture with mipmaps enabled:" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:205 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:208 msgid "Texture size" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:207 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:210 msgid "**128×128**" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:207 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:207 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:207 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:209 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:209 +#: ../../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 msgid "|good| 85 KiB" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:207 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:207 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:210 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:210 msgid "|good| 21 KiB" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:209 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:212 msgid "**256×256**" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:209 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:209 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:209 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:211 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:211 +#: ../../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 msgid "|good| 341 KiB" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:211 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:214 msgid "**512×512**" msgstr "" -#: ../../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 +#: ../../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 msgid "|good| 1.33 MiB" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:213 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:216 msgid "**1024×1024**" msgstr "" -#: ../../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 +#: ../../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 msgid "|regular| 5.33 MiB" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:215 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:218 msgid "**2048×2048**" msgstr "" -#: ../../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 +#: ../../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 msgid "|bad| 21.33 MiB" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:217 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:220 msgid "**4096×4096**" msgstr "" -#: ../../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:220 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:220 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:220 msgid "|bad| 85.33 MiB" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:222 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:225 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:226 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:229 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:231 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:234 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:236 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:239 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:243 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:246 msgid "Previewing a texture in the Inspector" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:243 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:246 msgid "Previewing a texture in the Inspector. Credit: `Red Brick 03 - Poly Haven `__" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:246 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:249 msgid "Compress > High Quality" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:250 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:253 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:253 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:256 msgid "When using the Compatibility rendering method, this option is always considered disabled." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:256 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:259 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:260 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:263 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:265 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:268 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:269 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:272 msgid "Compress > HDR Compression" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:273 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:276 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:276 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:279 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:281 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:284 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:285 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:288 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:289 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:292 msgid "Compress > Normal Map" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:291 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:294 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:299 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:302 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:305 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:308 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:313 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:313 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:316 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:316 msgid "Normal map with standard VRAM compression (left) and with RGTC VRAM compression (right)" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:317 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:416 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:320 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:421 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:322 -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:421 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:325 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:426 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:327 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:330 msgid "Compress > Channel Pack" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:329 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:332 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:332 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:335 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:335 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:338 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:343 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:348 msgid "Mipmaps > Generate" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:345 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:350 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:349 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:354 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:351 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:356 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:355 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:360 msgid "The downside of mipmaps is that they increase memory usage by roughly 33%." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:357 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:362 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:363 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:368 msgid "Mipmaps > Limit" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:367 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:372 msgid "**Mipmaps > Limit** is currently not implemented and has no effect when changed." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:369 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:374 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:374 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:379 msgid "Roughness > Mode" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:376 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:381 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:380 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:385 msgid "Rougness > Src Normal" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:382 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:387 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:385 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:390 msgid "Roughness filtering on import is only used in 3D rendering, not 2D." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:388 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:393 msgid "Process > Fix Alpha Border" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:390 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:395 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:396 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:401 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:400 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:405 msgid "Process > Premult Alpha" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:402 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:407 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:407 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:412 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:410 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:415 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:414 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:419 msgid "Process > Normal Map Invert Y" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:426 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:431 msgid "Process > HDR as sRGB" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:428 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:433 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:434 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:439 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:438 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:443 msgid "Process > HDR Clamp Exposure" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:440 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:445 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:443 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:448 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:451 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:456 msgid "Process > Size Limit" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:453 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:458 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:459 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:464 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:466 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:471 msgid "Detect 3D > Compress To" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:468 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:473 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:471 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:476 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:477 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:482 msgid "Best practices" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:480 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:485 msgid "Supporting high-resolution texture sizes in 2D without artifacts" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:482 +#: ../../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)." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:487 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:492 msgid "There are 2 ways to proceed:" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:489 +#: ../../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." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:491 +#: ../../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." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:496 +#: ../../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." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:500 +#: ../../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." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:506 +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:511 msgid "Use appropriate texture sizes in 3D" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:508 +#: ../../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:511 +#: ../../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:515 +#: ../../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." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:518 +#: ../../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." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:520 +#: ../../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." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:524 +#: ../../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)." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:530 +#: ../../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:" msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:533 +#: ../../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." msgstr "" -#: ../../docs/tutorials/assets_pipeline/importing_images.rst:536 +#: ../../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." msgstr "" +#: ../../docs/tutorials/assets_pipeline/importing_images.rst:547 +msgid "Images can be loaded and saved at runtime using :ref:`runtime file loading and saving `, including from an exported project." +msgstr "" + #: ../../docs/:0 msgid "Translation status" msgstr "" diff --git a/sphinx/templates/tutorials/assets_pipeline/importing_scenes.pot b/sphinx/templates/tutorials/assets_pipeline/importing_scenes.pot deleted file mode 100644 index 43145acc8e..0000000000 --- a/sphinx/templates/tutorials/assets_pipeline/importing_scenes.pot +++ /dev/null @@ -1,897 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2014-present Juan Linietsky, Ariel Manzur and the Godot community (CC BY 3.0) -# This file is distributed under the same license as the Godot Engine package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Godot Engine latest\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:4 -msgid "Importing 3D scenes" -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:7 -msgid "Godot scene importer" -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:9 -msgid "When dealing with 3D assets, Godot has a flexible and configurable importer." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:11 -msgid "Godot works with *scenes*. This means that the entire scene being worked on in your favorite 3D modeling software will be transferred as close as possible." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:14 -msgid "Godot supports the following 3D *scene file formats*:" -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:16 -msgid "glTF 2.0 **(recommended)**. Godot has full support for both text (``.gltf``) and binary (``.glb``) formats." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:18 -msgid "``.blend`` (Blender). This works by calling Blender to export to glTF in a transparent manner (requires Blender to be installed)." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:20 -msgid "DAE (COLLADA), an older format that is fully supported." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:21 -msgid "OBJ (Wavefront) format + their MTL material files. This is also fully supported, but pretty limited given the format's limitations (no support for pivots, skeletons, animations, UV2, PBR materials, ...)." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:24 -msgid "FBX, supported via `FBX2glTF `__ integration. This requires installing an external program that links against the proprietary FBX SDK, so we recommend using other formats listed above (if suitable for your workflow)." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:28 -msgid "Copy the scene file together with the textures and mesh data (if separate) to the project repository, then Godot will do a full import when focusing the editor window." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:33 -msgid "3D asset direction conventions" -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:35 -msgid "Godot uses a right-handed, Y-is-up coordinate system, with the -Z axis as the camera's forward direction. This is the same as OpenGL. This implies that +Z is back, +X is right, and -X is left for a camera." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:39 -msgid "The convention for 3D assets is to face the opposite direction as the camera, so that characters and other assets are facing the camera by default. This convention is extremely common in 3D modeling applications, and is `codified in glTF as part of the glTF 2.0 specification `__. This means that for oriented 3D assets (such as characters), the +Z axis is the direction of the front, so -Z is the rear, +X is the left side, and -X is the right side for a 3D asset. In Blender, this means that +Y is rear and -Y is front for an asset." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:48 -msgid "When rotating an oriented 3D asset in Godot, use the ``use_model_front`` option on the ``look_at`` functions, and use the ``Vector3.MODEL_*`` constants to perform calculations in the oriented asset's local space." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:52 -msgid "For assets without an intrinsic front side or forward direction, such as a game map or terrain, take note of the cardinal directions instead. The convention in Godot and the vast majority of other applications is that +X is east and -X is west. Due to Godot's right-handed Y-is-up coordinate system, this implies that +Z is south and -Z is north. In Blender, this means that +Y is north and -Y is south." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:60 -msgid "Exporting glTF 2.0 files from Blender (recommended)" -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:62 -msgid "There are 3 ways to export glTF files from Blender:" -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:64 -msgid "As a glTF binary file (``.glb``)." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:65 -msgid "As a glTF text-based file with embedded binary data (``.gltf`` file)" -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:66 -msgid "As a glTF text-based file with separate binary data and textures (``.gltf`` file + ``.bin`` file + textures)." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:69 -msgid "glTF binary files (``.glb``) are the smallest of the three options. They include the mesh and textures set up in Blender. When brought into Godot the textures are part of the object's material file." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:73 -msgid "glTF embedded files (``.gltf``) function the same way as binary files. They don't provide extra functionality in Godot, and shouldn't be used since they have a larger file size." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:77 -msgid "There are two reasons to use glTF with the textures separate. One is to have the scene description in a text based format and the binary data in a separate binary file. This can be useful for version control if you want to review changes in a text-based format. The second is you need the texture files separate from the material file. If you don't need either of those, glTF binary files are fine." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:86 -msgid "If your model contains blend shapes (also known as \"shape keys\" and \"morph targets\"), your glTF export setting **Export Deformation Bones Only** needs to be configured to **Enabled** under the Animation export configurations." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:90 -msgid "Exporting non-deforming bones anyway will lead to incorrect shading." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:94 -msgid "Blender versions older than 3.2 do not export emissive textures with the glTF file. If your model uses one and you're using an older version of Blender, it must be brought in separately." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:98 -msgid "By default, Blender has backface culling disabled on materials and will export materials to match how they render in Blender. This means that materials in Godot will have their cull mode set to **Disabled**. This can decrease performance since backfaces will be rendered, even when they are being culled by other faces. To resolve this, enable **Backface Culling** in Blender's Materials tab, then export the scene to glTF again." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:106 -msgid "Importing ``.blend`` files directly within Godot" -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:110 -msgid "This functionality requires Blender 3.0 or later. For best results, we recommend using Blender 3.5 or later, as it includes many fixes to the glTF exporter." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:114 -msgid "It is **strongly** recommended to use an official Blender release downloaded from blender.org, as opposed to a Linux distribution package or Flatpak. This avoids any issues related to packaging, such as different library versions that can cause incompatibilities or sandboxing restrictions." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:119 -msgid "From Godot 4.0 onwards, the editor can directly import ``.blend`` files by calling `Blender `__'s glTF export functionality in a transparent manner." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:123 -msgid "This allows you to iterate on your 3D scenes faster, as you can save the scene in Blender, alt-tab back to Godot then see your changes immediately. When working with version control, this is also more efficient as you no longer need to commit a copy of the exported glTF file to version control." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:128 -msgid "To use ``.blend`` import, you must install Blender before opening the Godot editor (if opening a project that already contains ``.blend`` files). If you keep Blender installed at its default location, Godot should be able to detect its path automatically. If this isn't the case, configure the path to the directory containing the Blender executable in the Editor Settings (**Filesystem > Import > Blender > Blender 3 Path**)." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:135 -msgid "If you keep ``.blend`` files within your project folder but don't want them to be imported by Godot, disable **Filesystem > Import > Blender > Enabled** in the advanced Project Settings." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:141 -msgid "When working in a team, keep in mind using ``.blend`` files in your project will require *all* team members to have Blender installed. While Blender is a free download, this may add friction when working on the project. ``.blend`` import is also not available on the Android and web editors, as these platforms can't call external programs." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:147 -msgid "If this is problematic, consider using glTF scenes exported from Blender instead." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:151 -msgid "Exporting DAE files from Blender" -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:153 -msgid "Blender has built-in COLLADA support, but it does not work properly for the needs of game engines and shouldn't be used as-is. However, scenes exported with the built-in Collada support may still work for simple scenes without animation." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:157 -msgid "For complex scenes or scenes that contain animations, Godot provides a `Blender plugin `_ that will correctly export COLLADA scenes for use in Godot." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:162 -msgid "Importing OBJ files in Godot" -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:164 -msgid "OBJ is one of the simplest 3D formats out there, so Godot should be able to import most OBJ files successfully. However, OBJ is also a very limited format: it doesn't support skinning, animation, UV2 or PBR materials." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:168 -msgid "There are 2 ways to use OBJ meshes in Godot:" -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:170 -msgid "Load them directly in a MeshInstance3D node, or any other property that expects as mesh (such as GPUParticles3D). This is the default mode." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:172 -msgid "Change their import mode to **OBJ as Scene** in the Import dock then restart the editor. This allows you to use the same import options as glTF or Collada scenes, such as unwrapping UV2 on import (for :ref:`doc_using_lightmap_gi`)." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:178 -msgid "Blender 3.4 and later can export RGB vertex colors in OBJ files (this is a nonstandard extension of the OBJ format). Godot is able to import those vertex colors since Godot 4.0, but they will not be displayed on the material unless you enable **Vertex Color > Use As Albedo** on the material." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:183 -msgid "Vertex colors from OBJ meshes keep their original color space once imported (sRGB/linear), but their brightness is clamped to 1.0 (they can't be overbright)." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:188 -msgid "Importing FBX files in Godot" -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:190 -msgid "When opening a project containing FBX scenes, you will see a dialog asking you to configure FBX import. Click the link in the dialog to download a fbx2gltf binary, then extract the ZIP archive, place the binary anywhere you wish, then specify its path in the dialog." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:195 -msgid "If you keep ``.fbx`` files within your project folder but don't want them to be imported by Godot, disable **Filesystem > Import > FBX > Enabled** in the advanced Project Settings." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:201 -msgid "The full installation process for using FBX in Godot is described on the `FBX import page of the Godot website `__." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:205 -msgid "Exporting textures separately" -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:207 -msgid "While textures can be exported with a model in certain file formats, such as glTF 2.0, you can also export them separately. Godot uses PBR (physically based rendering) for its materials, so if a texturing program can export PBR textures they can work in Godot. This includes the `Substance suite `__, `ArmorPaint (open source) `__, and `Material Maker (open source) `__." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:212 -msgid "For more information on Godot's materials, see :ref:`doc_standard_material_3d`." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:215 -msgid "Exporting considerations" -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:217 -msgid "Since GPUs can only render triangles, meshes that contain quads or N-gons have to be *triangulated* before they can be rendered. Godot can triangulate meshes on import, but results may be unpredictable or incorrect, especially with N-gons. Regardless of the target application, triangulating *before* exporting the scene will lead to more consistent results and should be done whenever possible." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:224 -msgid "To avoid issues with incorrect triangulation after importing in Godot, it is recommended to make the 3D modeling software triangulate objects on its own. In Blender, this can be done by adding a Triangulate modifier to your objects and making sure **Apply Modifiers** is checked in the export dialog. Alternatively, depending on the exporter, you may be able to find and enable a **Triangulate Faces** option in the export dialog." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:231 -msgid "To avoid issues with 3D selection in the editor, it is recommended to apply the object transform in the 3D modeling software before exporting the scene." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:236 -msgid "It is important that the mesh is not deformed by bones when exporting. Make sure that the skeleton is reset to its T-pose or default rest pose before exporting with your favorite 3D editor." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:241 -msgid "Lighting considerations" -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:243 -msgid "While it's possible to import lights from a 3D scene using the glTF, ``.blend`` or Collada formats, it's generally advised to design the scene's lighting in the Godot editor after importing the scene." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:247 -msgid "This allows you to get a more accurate feel for the final result, as different engines will render lights in a different manner. This also avoids any issues with lights appearing excessively strong or faint as a result of the import process." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:253 -msgid "Import workflows" -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:255 -msgid "Since Godot can only save its own scene format (``.tscn``/``.scn``), Godot cannot save over the original 3D scene file (which uses a different format). This is also a safer approach as it avoids making accidental changes to the source file." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:260 -msgid "To allow customizing the scene and its materials, Godot's scene importer allows for different workflows regarding how data is imported." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:267 -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:267 -msgid "Import dock after selecting a 3D scene in the FileSystem dock" -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:269 -msgid "This import process is customizable using 3 separate interfaces, depending on your needs:" -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:271 -msgid "The **Import** dock, after selecting the 3D scene by clicking it once in the FileSystem dock." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:273 -msgid "The **Advanced Import Settings** dialog, which can be accessed by double-clicking the 3D scene in the FileSystem dock or by clicking the **Advanced…** button in the Import dock. This allows you to customize per-object options in Godot." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:276 -msgid ":ref:`Import hints `, which are special suffixes added to object names in the 3D modeling software. This allows you to customize per-object options in the 3D modeling software." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:280 -msgid "For basic customization, using the Import dock suffices. However, for more complex operations such as defining material overrides on a per-material basis, you'll need to use the Advanced Import Settings dialog, import hints, or possibly both." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:287 -msgid "Using the Import dock" -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:289 -msgid "The following options can be adjusted in the Import dock after selecting a 3D scene in the FileSystem dock:" -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:292 -msgid "**Root Type:** The node type to use as a root node. Using node types that inherit from Node3D is recommended. Otherwise, you'll lose the ability to position the node directly in the 3D editor." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:295 -msgid "**Root Name:** The name of the root node in the imported scene. This is generally not noticeable when instancing the scene in the editor (or drag-and-dropping from the FileSystem dock), as the root node is renamed to match the filename in this case." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:299 -msgid "**Apply Root Scale:** If enabled, **Root Scale** will be *applied* on the meshes and animations directly, while keeping the root node's scale to the default `(1, 1, 1)`. This means that if you add a child node later on within the imported scene, it won't be scaled. If disabled, **Root Scale** will multiply the scale of the root node instead." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:305 -msgid "**Meshes**" -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:307 -msgid "**Ensure Tangents:** If checked, generate vertex tangents using `Mikktspace `__ if the input meshes don't have tangent data. When possible, it's recommended to let the 3D modeling software generate tangents on export instead on relying on this option. Tangents are required for correct display of normal and height maps, along with any material/shader features that require tangents. If you don't need material features that require tangents, disabling this can reduce output file size and speed up importing if the source 3D file doesn't contain tangents." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:315 -msgid "**Generate LODs:** If checked, generates lower detail variants of the mesh which will be displayed in the distance to improve rendering performance. Not all meshes benefit from LOD, especially if they are never rendered from far away. Disabling this can reduce output file size and speed up importing. See :ref:`doc_mesh_lod` for more information." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:320 -msgid "**Create Shadow Meshes:** If checked, enables the generation of shadow meshes on import. This optimizes shadow rendering without reducing quality by welding vertices together when possible. This in turn reduces the memory bandwidth required to render shadows. Shadow mesh generation currently doesn't support using a lower detail level than the source mesh (but shadow rendering will make use of LODs when relevant)." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:326 -msgid "**Light Baking:** Configures the meshes' :ref:`global illumination mode ` in the 3D scene. If set to **Static Lightmaps**, sets the meshes' GI mode to **Static** and generates UV2 on import for :ref:`lightmap baking `." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:330 -msgid "**Lightmap Texel Size:** Only visible if **Light Baking** is set to **Static Lightmaps**. Controls the size of each texel on the baked lightmap. A smaller value results in more precise lightmaps, at the cost of larger lightmap sizes and longer bake times." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:335 -msgid "**Skins**" -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:337 -msgid "**Use Named Skins:** If checked, use named :ref:`Skins ` for animation. The :ref:`class_MeshInstance3D` node contains 3 properties of relevance here: a skeleton NodePath pointing to the Skeleton3D node (usually ``..``), a mesh, and a skin:" -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:341 -msgid "The :ref:`class_Skeleton3D` node contains a list of bones with names, their pose and rest, a name and a parent bone." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:343 -msgid "The mesh is all of the raw vertex data needed to display a mesh. In terms of the mesh, it knows how vertices are weight-painted and uses some internal numbering often imported from 3D modeling software." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:346 -msgid "The skin contains the information necessary to bind this mesh onto this Skeleton3D. For every one of the internal bone IDs chosen by the 3D modeling software, it contains two things. Firstly, a Matrix known as the Bind Pose Matrix, Inverse Bind Matrix, or IBM for short. Secondly, the Skin contains each bone's name (if **Use Named Skins** is enabled), or the bone's index within the Skeleton3D list (if **Use Named Skins** is disabled)." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:352 -msgid "Together, this information is enough to tell Godot how to use the bone poses in the Skeleton3D node to render the mesh from each MeshInstance3D. Note that each MeshInstance3D may share binds, as is common in models exported from Blender, or each MeshInstance3D may use a separate Skin object, as is common in models exported from other tools such as Maya." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:359 -msgid "**Animation**" -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:361 -msgid "**Import:** If checked, import animations from the 3D scene." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:362 -msgid "**FPS:** The number of frames per second to use for baking animation curves to a series of points with linear interpolation. It's recommended to configure this value to match the value you're using as a baseline in your 3D modeling software. Higher values result in more precise animation with fast movement changes, at the cost of higher file sizes and memory usage. Thanks to interpolation, there is usually not much benefit in going above 30 FPS (as the animation will still appear smooth at higher rendering framerates)." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:369 -msgid "**Trimming:** Trim the beginning and end of animations if there are no keyframe changes. This can reduce output file size and memory usage with certain 3D scenes, depending on the contents of their animation tracks." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:372 -msgid "**Remove Immutable Tracks:** Remove animation tracks that only contain default values. This can reduce output file size and memory usage with certain 3D scenes, depending on the contents of their animation tracks." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:376 -msgid "**Import Script**" -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:378 -msgid "**Path:** Path to an import script, which can run code *after* the import process has completed for custom processing. See :ref:`doc_importing_3d_scenes_import_script` for more information." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:382 -msgid "**glTF**" -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:384 -msgid "**Embedded Texture Handling:** Controls how textures embedded within glTF scenes should be handled. **Discard All Textures** will not import any textures, which is useful if you wish to manually set up materials in Godot instead. **Extract Textures** extracts textures to external images, resulting in smaller file sizes and more control over import options. **Embed as Basis Universal** and **Embed as Uncompressed** keeps the textures embedded in the imported scene, with and without VRAM compression respectively." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:393 -msgid "Using the Advanced Import Settings dialog" -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:395 -msgid "The first tab you'll see is the **Scene** tab. The options available in the panel on the right are identical to the Import dock, but you have access to a 3D preview. The 3D preview can be rotated by holding down the left mouse button then dragging the mouse. Zoom can be adjusted using the mouse wheel." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:404 -msgid "Advanced Import Settings dialog (Scene tab)" -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:404 -msgid "Advanced Import Settings dialog (Scene tab). Credit: `Modern Arm Chair 01 - Poly Haven `__" -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:407 -msgid "**Configuring node import options**" -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:409 -msgid "You can select individual nodes that compose the scene while in the **Scene** tab using the tree view at the left:" -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:416 -msgid "Selecting a node in the Advanced Import Settings dialog (Scene tab)" -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:416 -msgid "Selecting a node in the Advanced Import Settings dialog (Materials tab)" -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:418 -msgid "This exposes several per-node import options:" -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:420 -msgid "**Skip Import:** If checked, the node will not be present in the final imported scene. Enabling this disables all other options." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:422 -msgid "**Generate > Physics:** If checked, generates a PhysicsBody3D *parent* node with collision shapes that are *siblings* to the MeshInstance3D node." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:424 -msgid "**Generate > NavMesh:** If checked, generates a NavigationRegion3D *child* node for :ref:`navigation `. **Mesh + NavMesh** will keep the original mesh visible, while **NavMesh Only** will only import the navigation mesh (without a visual representation). **NavMesh Only** is meant to be used when you've manually authored a simplified mesh for navigation." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:429 -msgid "**Generate > Occluder:** If checked, generates an OccluderInstance3D *sibling* node for :ref:`occlusion culling ` using the mesh's geometry as a basis for the occluder's shape. **Mesh + Occluder** will keep the original mesh visible, while **Occluder Only** will only import the occluder (without a visual representation). **Occluder Only** is meant to be used when you've manually authored a simplified mesh for occlusion culling." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:436 -msgid "These options are only visible if some of the above options are enabled:" -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:438 -msgid "**Physics > Body Type:** Only visible if **Generate > Physics** is enabled. Controls the PhysicsBody3D that should be created. **Static** creates a StaticBody3D, **Dynamic** creates a RigidBody3D, **Area** creates an Area3D." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:441 -msgid "**Physics > Shape Type:** Only visible if **Generate > Physics** is enabled. **Trimesh** allows for precise per-triangle collision, but it can only be used with a **Static** body type. Other types are less precise and may require manual configuration, but can be used with any body type. For static level geometry, use **Trimesh**. For dynamic geometry, use primitive shapes if possible for better performance, or use one of the convex decomposition modes if the shape is large and complex." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:448 -msgid "**Decomposition > Advanced:** Only visible if **Physics > Shape Type** is **Decompose Convex**. If checked, allows adjusting advanced decomposition options. If disabled, only a preset **Precision** can be adjusted (which is usually sufficient)." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:452 -msgid "**Decomposition > Precision:** Only visible if **Physics > Shape Type** is **Decompose Convex**. Controls the precision to use for convex decomposition. Higher values result in more detailed collision, at the cost of slower generation and increased CPU usage during physics simulation. To improve performance, it's recommended to keep this value as low as possible for your use cases." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:458 -msgid "**Occluder > Simplification Distance:** Only visible if **Generate > Occluder** is set to **Mesh + Occluder** or **Occluder Only**. Higher values result in a occluder mesh with fewer vertices (resulting in decreased CPU utilization), at the cost of more occlusion culling issues (such as false positives or false negatives). If you run into objects disappearing when they shouldn't when the camera is near a certain mesh, try decreasing this value." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:465 -msgid "**Configuring mesh and material import options**" -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:467 -msgid "In the Advanced Import Settings dialog, there are 2 ways to select individual meshes or materials:" -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:470 -msgid "Switch to the **Meshes** or **Materials** tab in the top-left corner of the dialog." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:471 -msgid "Stay in the **Scene** tab, but unfold the options on the tree view on the left. After choosing a mesh or material, this presents the same information as the **Meshes** and **Materials** tabs, but in a tree view instead of a list." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:475 -msgid "If you select a mesh, different options will appear in the panel on the right:" -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:481 -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:481 -msgid "Advanced Import Settings dialog (Meshes tab)" -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:483 -msgid "The options are as follows:" -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:485 -msgid "**Save to File:** Saves the :ref:`class_Mesh` *resource* to an external file (this isn't a scene file). You generally don't need to use this for placing the mesh in a 3D scene – instead, you should instance the 3D scene directly. However, having direct access to the Mesh resource is useful for specific nodes, such as :ref:`class_MeshInstance3D`, :ref:`class_MultiMeshInstance3D`, :ref:`class_GPUParticles3D` or :ref:`class_CPUParticles3D`. - You will also need to specify an output file path using the option that appears after enabling **Save to File**. It's recommended to use the ``.res`` output file extension for smaller file sizes and faster loading speeds, as ``.tres`` is inefficient for writing large amounts of data." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:495 -msgid "**Generate > Shadow Meshes:** Per-mesh override for the **Meshes > Create Shadow Meshes** scene-wide import option described in :ref:`doc_importing_3d_scenes_using_the_import_dock`. **Default** will use the scene-wide import option, while **Enable** or **Disable** can forcibly enable or disable this behavior on a specific mesh." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:500 -msgid "**Generate > Lightmap UV:** Per-mesh override for the **Meshes > Light Baking** scene-wide import option described in :ref:`doc_importing_3d_scenes_using_the_import_dock`. **Default** will use the scene-wide import option, while **Enable** or **Disable** can forcibly enable or disable this behavior on a specific mesh. - Setting this to **Enable** on a scene with the **Static** light baking mode is equivalent to configuring this mesh to use **Static Lightmaps**. Setting this to **Disable** on a scene with the **Static Lightmaps** light baking mode is equivalent to configuring this mesh to use **Static** instead." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:509 -msgid "**Generate > LODs:** Per-mesh override for the **Meshes > Generate LODs** scene-wide import option described in :ref:`doc_importing_3d_scenes_using_the_import_dock`. **Default** will use the scene-wide import option, while **Enable** or **Disable** can forcibly enable or disable this behavior on a specific mesh." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:514 -msgid "**LODs > Normal Split Angle:** The minimum angle difference between two vertices required to preserve a geometry edge in mesh LOD generation. If running into visual issues with LOD generation, decreasing this value may help (at the cost of less efficient LOD generation)." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:518 -msgid "**LODs > Normal Merge Angle:** The minimum angle difference between two vertices required to preserve a geometry edge in mesh LOD generation. If running into visual issues with LOD generation, decreasing this value may help (at the cost of less efficient LOD generation)." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:523 -msgid "If you select a material, only one option will appear in the panel on the right:" -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:529 -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:529 -msgid "Advanced Import Settings dialog (Materials tab)" -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:531 -msgid "When **Use External** is checked and an output path is specified, this lets you use an external material instead of the material that is included in the original 3D scene file; see the section below." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:536 -msgid "Extracting materials to separate files" -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:538 -msgid "While Godot can import materials authored in 3D modeling software, the default configuration may not be suitable for your needs. For example:" -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:541 -msgid "You want to configure material features not supported by your 3D application." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:542 -msgid "You want to use a different texture filtering mode, as this option is configured in the material since Godot 4.0 (and not in the image)." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:544 -msgid "You want to replace one of the materials with an entirely different material, such as a custom shader." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:547 -msgid "To be able to modify the 3D scene's materials in the Godot editor, you need to use *external* material resources." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:550 -msgid "In the top-left corner of the Advanced Import Settings dialog, choose **Actions… > Extract Materials**:" -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:557 -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:557 -msgid "Extracting all built-in materials to external resources in the Advanced Import Settings dialog" -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:559 -msgid "After choosing this option, select a folder to extract material ``.tres`` files to, then confirm the extraction:" -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:566 -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:566 -msgid "Confirming material extraction in the Advanced Import Settings subdialog" -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:570 -msgid "After extracting materials, the 3D scene will automatically be configured to use external material references. As a result, you don't need to manually enable **Use External** on every material to make the external ``.tres`` material effective." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:575 -msgid "When **Use External** is enabled, remember that the Advanced Import Settings dialog will keep displaying the mesh's original materials (the ones designed in the 3D modeling software). This means your customizations to the materials won't be visible within this dialog. To preview your modified materials, you need to place the imported 3D scene in another scene using the editor." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:581 -msgid "Godot will not overwrite changes made to extracted materials when the source 3D scene is reimported. However, if the material name is changed in the source 3D file, the link between the original material and the extracted material will be lost. As a result, you'll need to use the Advanced Import Settings dialog to associate the renamed material to the existing extracted material." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:587 -msgid "The above can be done in the dialog's **Materials** tab by selecting the material, enabling **Save to File**, then specifying the save path using the **Path** option that appears after enabling **Save to File**." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:594 -msgid "Using import scripts for automation" -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:596 -msgid "A special script to process the whole scene after import can be provided. This is great for post-processing, changing materials, doing funny stuff with the geometry, and more." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:600 -msgid "Create a script that is not attached to any node by right-clicking in the FileSystem dock and choosing **New > Script…**. In the script editor, write the following:" -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:626 -msgid "The ``_post_import(scene: Node)`` function takes the imported scene as argument (the parameter is actually the root node of the scene). The scene that will finally be used **must** be returned (even if the scene can be entirely different)." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:631 -msgid "Using animation libraries" -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:633 -msgid "As of Godot 4.0, you can choose to import **only** animations from a glTF file and nothing else. This is used in some asset pipelines to distribute animations separately from models. For example, this allows you to use one set of animations for several characters, without having to duplicate animation data in every character." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:639 -msgid "To do so, select the glTF file in the FileSystem dock, then change the import mode to Animation Library in the Import dock:" -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:646 -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:646 -msgid "Changing the import type to Animation Library in the Import dock" -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:648 -msgid "Click **Reimport** and restart the editor when prompted. After restarting, the glTF file will be imported as an :ref:`class_AnimationLibrary` instead of a :ref:`class_PackedScene`. This animation library can then be referenced in an :ref:`class_AnimationPlayer` node." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:653 -msgid "The import options that are visible after changing the import mode to Animation Library act the same as when using the Scene import mode. See :ref:`doc_importing_3d_scenes_using_the_import_dock` for more information." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:658 -msgid "Filter script" -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:660 -msgid "It is possible to specify a filter script in a special syntax to decide which tracks from which animations should be kept." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:663 -msgid "The filter script is executed against each imported animation. The syntax consists of two types of statements, the first for choosing which animations to filter, and the second for filtering individual tracks within the matched animation. All name patterns are performed using a case-insensitive expression match, with support for ``?`` and ``*`` wildcards (using :ref:`String.matchn() ` under the hood)." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:670 -msgid "The script must start with an animation filter statement (as denoted by the line beginning with an ``@``). For example, if we would like to apply filters to all imported animations which have a name ending in ``\"_Loop\"``::" -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:676 -msgid "Similarly, additional patterns can be added to the same line, separated by commas. Here is a modified example to additionally *include* all animations with names that begin with ``\"Arm_Left\"``, but also *exclude* all animations which have names ending in ``\"Attack\"``::" -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:683 -msgid "Following the animation selection filter statement, we add track filtering patterns to indicate which animation tracks should be kept or discarded. If no track filter patterns are specified, then all tracks within the matched animations will be discarded!" -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:688 -msgid "It's important to note that track filter statements are applied in order for each track within the animation, this means that one line may include a track, a later rule can still discard it. Similarly, a track excluded by an early rule may then be re-included once again by a filter rule further down in the filter script." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:694 -msgid "For example: include all tracks in animations with names ending in ``\"_Loop\"``, but discard any tracks affecting a ``\"Skeleton\"`` which end in ``\"Control\"``, unless they have ``\"Arm\"`` in their name::" -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:703 -msgid "In the above example, tracks like ``\"Skeleton:Leg_Control\"`` would be discarded, while tracks such as ``\"Skeleton:Head\"`` or ``\"Skeleton:Arm_Left_Control\"`` would be retained." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:707 -msgid "Any track filter lines that do not begin with a ``+`` or ``-`` are ignored." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:710 -msgid "Storage" -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:712 -msgid "By default, animations are saved as built-in. It is possible to save them to a file instead. This allows adding custom tracks to the animations and keeping them after a reimport." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:717 -msgid "Optimizer" -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:719 -msgid "When animations are imported, an optimizer is run, which reduces the size of the animation considerably. In general, this should always be turned on unless you suspect that an animation might be broken due to it being enabled." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:724 -msgid "Clips" -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:726 -msgid "It is possible to specify multiple animations from a single timeline as clips. For this to work, the model must have only one animation that is named ``default``. To create clips, change the clip amount to something greater than zero. You can then name a clip, specify which frames it starts and stops on, and choose whether the animation loops or not." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:733 -msgid "Scene inheritance" -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:735 -msgid "In many cases, it may be desired to make manual modifications to the imported scene. By default, this is not possible because if the source 3D asset changes, Godot will re-import the *whole* scene." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:739 -msgid "However, it is possible to make local modifications by using *scene inheritance*. If you try to open the imported scene using **Scene > Open Scene…** or **Scene > Quick Open Scene…**, the following dialog will appear:" -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:747 -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:747 -msgid "Dialog when opening an imported 3D scene in the editor" -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:749 -msgid "In inherited scenes, the only limitations for modification are:" -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:751 -msgid "Nodes from the base scene can't be removed, but additional nodes can be added anywhere." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:753 -msgid "Subresources can't be edited. Instead, you need to save them externally as described above." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:756 -msgid "Other than that, everything is allowed." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:761 -msgid "Import hints" -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:763 -msgid "Many times, when editing a scene, there are common tasks that need to be done after exporting:" -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:766 -msgid "Adding collision detection to objects." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:767 -msgid "Setting objects as navigation meshes." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:768 -msgid "Deleting nodes that are not used in the game engine (like specific lights used for modelling)." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:771 -msgid "To simplify this workflow, Godot offers several suffixes that can be added to the names of the objects in your 3D modelling software. When imported, Godot will detect suffixes in object names and will perform actions automatically." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:777 -msgid "All the suffixes described below are **case-sensitive**." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:780 -msgid "Remove nodes (-noimp)" -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:782 -msgid "Objects that have the ``-noimp`` suffix will be removed at import-time no matter what their type is. They will not appear in the imported scene." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:785 -msgid "This is equivalent to enabling **Skip Import** for a node in the Advanced Import Settings dialog." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:789 -msgid "Create collisions (-col, -convcol, -colonly, -convcolonly)" -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:791 -msgid "The option ``-col`` will work only for Mesh objects. If it is detected, a child static collision node will be added, using the same geometry as the mesh. This will create a triangle mesh collision shape, which is a slow, but accurate option for collision detection. This option is usually what you want for level geometry (but see also ``-colonly`` below)." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:797 -msgid "The option ``-convcol`` will create a :ref:`class_ConvexPolygonShape3D` instead of a :ref:`class_ConcavePolygonShape3D`. Unlike triangle meshes which can be concave, a convex shape can only accurately represent a shape that doesn't have any concave angles (a pyramid is convex, but a hollow box is concave). Due to this, convex collision shapes are generally not suited for level geometry. When representing simple enough meshes, convex collision shapes can result in better performance compared to a triangle collision shape. This option is ideal for simple or dynamic objects that require mostly-accurate collision detection." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:806 -msgid "However, in both cases, the visual geometry may be too complex or not smooth enough for collisions. This can create physics glitches and slow down the engine unnecessarily." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:810 -msgid "To solve this, the ``-colonly`` modifier exists. It will remove the mesh upon importing and will create a :ref:`class_StaticBody3D` collision instead. This helps the visual mesh and actual collision to be separated." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:814 -msgid "The option ``-convcolonly`` works in a similar way, but will create a :ref:`class_ConvexPolygonShape3D` instead using convex decomposition." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:817 -msgid "With Collada files, the option ``-colonly`` can also be used with Blender's empty objects. On import, it will create a :ref:`class_StaticBody3D` with a collision node as a child. The collision node will have one of a number of predefined shapes, depending on Blender's empty draw type:" -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:826 -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:826 -msgid "Choosing a draw type for an Empty on creation in Blender" -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:828 -msgid "Single arrow will create a :ref:`class_SeparationRayShape3D`." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:829 -msgid "Cube will create a :ref:`class_BoxShape3D`." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:830 -msgid "Image will create a :ref:`class_WorldBoundaryShape3D`." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:831 -msgid "Sphere (and the others not listed) will create a :ref:`class_SphereShape3D`." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:833 -msgid "When possible, **try to use a few primitive collision shapes** instead of triangle mesh or convex shapes. Primitive shapes often have the best performance and reliability." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:839 -msgid "For better visibility on Blender's editor, you can set the \"X-Ray\" option on collision empties and set some distinct color for them by changing **Edit > Preferences > Themes > 3D Viewport > Empty**." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:843 -msgid "If using Blender 2.79 or older, follow these steps instead: **User Preferences > Themes > 3D View > Empty**." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:848 -msgid "See :ref:`doc_collision_shapes_3d` for a comprehensive overview of collision shapes." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:852 -msgid "Create navigation (-navmesh)" -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:854 -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_scenes.rst:858 -msgid "Create a VehicleBody (-vehicle)" -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:860 -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_scenes.rst:864 -msgid "Create a VehicleWheel (-wheel)" -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:866 -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_scenes.rst:870 -msgid "Rigid Body (-rigid)" -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:872 -msgid "A mesh node with the ``-rigid`` suffix will be imported as a :ref:`class_RigidBody3D`." -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:875 -msgid "Animation loop (-loop, -cycle)" -msgstr "" - -#: ../../docs/tutorials/assets_pipeline/importing_scenes.rst:877 -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_scenes.rst:881 -msgid "In Blender, this requires using the NLA Editor and naming the Action with the ``loop`` or ``cycle`` prefix or suffix." -msgstr "" - -#: ../../docs/:0 -msgid "Translation status" -msgstr "" diff --git a/sphinx/templates/tutorials/assets_pipeline/importing_translations.pot b/sphinx/templates/tutorials/assets_pipeline/importing_translations.pot index cbf0fad736..ca53062dab 100644 --- a/sphinx/templates/tutorials/assets_pipeline/importing_translations.pot +++ b/sphinx/templates/tutorials/assets_pipeline/importing_translations.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-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 f3f01e9616..dd4b2f2471 100644 --- a/sphinx/templates/tutorials/assets_pipeline/index.pot +++ b/sphinx/templates/tutorials/assets_pipeline/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-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 2878111954..c0c0f86a10 100644 --- a/sphinx/templates/tutorials/assets_pipeline/retargeting_3d_skeletons.pot +++ b/sphinx/templates/tutorials/assets_pipeline/retargeting_3d_skeletons.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-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 34afaf078f..519d256bf0 100644 --- a/sphinx/templates/tutorials/audio/audio_buses.pot +++ b/sphinx/templates/tutorials/audio/audio_buses.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-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 82fcb31c66..2eb3f02040 100644 --- a/sphinx/templates/tutorials/audio/audio_effects.pot +++ b/sphinx/templates/tutorials/audio/audio_effects.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+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 "Amplify" msgstr "" #: ../../docs/tutorials/audio/audio_effects.rst:19 -msgid "Amplify changes the amplitude of the signal. Some care needs to be taken. Setting the level too high can make the sound clip, which is usually undesirable." +msgid "Amplify changes the volume of the signal. Some care needs to be taken, though: setting the level too high can make the sound digitally clip, which can produce unpleasant crackles and pops." msgstr "" #: ../../docs/tutorials/audio/audio_effects.rst:24 @@ -57,183 +57,203 @@ msgid "Chorus" msgstr "" #: ../../docs/tutorials/audio/audio_effects.rst:42 -msgid "The Chorus effect duplicates the incoming audio, delays the duplicate slightly and uses an LFO to continuously modulate the pitch of the duplicated signal before mixing the duplicated signal(s) and the original together again. This creates a shimmering effect and adds stereo width to the sound." +msgid "As the name of the effect implies, the Chorus effect makes a single audio sample sound like an entire chorus. It does this by duplicating a signal and very slightly altering the timing and pitch of each duplicate, and varying that over time via an LFO (low frequency oscillator). The duplicate(s) are then mixed back together with the original signal, producing a lush, wide, and large sound. Although chorus is traditionally used for voices, it can be desirable with almost any type of sound." msgstr "" -#: ../../docs/tutorials/audio/audio_effects.rst:48 +#: ../../docs/tutorials/audio/audio_effects.rst:51 msgid "Compressor" msgstr "" -#: ../../docs/tutorials/audio/audio_effects.rst:50 -msgid "A dynamic range compressor automatically attenuates the level of the incoming signal when its amplitude exceeds a certain threshold. The level of attenuation applied is proportional to how far the incoming audio exceeds the threshold. The compressor's Ratio parameter controls the degree of attenuation. One of the main uses of a compressor is to reduce the dynamic range of signals with very loud and quiet parts. Reducing the dynamic range of a signal can make it easier to mix." -msgstr "" - -#: ../../docs/tutorials/audio/audio_effects.rst:58 -msgid "The compressor has many uses. For example:" -msgstr "" - -#: ../../docs/tutorials/audio/audio_effects.rst:60 -msgid "It can be used in the Master bus to compress the whole output." +#: ../../docs/tutorials/audio/audio_effects.rst:53 +msgid "A dynamic range compressor automatically attenuates (ducks) the level of the incoming signal when its amplitude exceeds a certain threshold. The level of attenuation applied is proportional to how far the incoming audio exceeds the threshold. The compressor's Ratio parameter controls the degree of attenuation. One of the main uses of a compressor is to reduce the dynamic range of signals with very loud and quiet parts. Reducing the dynamic range of a signal can make it fit more comfortably in a mix." msgstr "" #: ../../docs/tutorials/audio/audio_effects.rst:61 +msgid "The compressor has many uses. For example:" +msgstr "" + +#: ../../docs/tutorials/audio/audio_effects.rst:63 +msgid "It can be used in the Master bus to compress the whole output prior to being hit by a limiter, making the effect of the limiter much more subtle." +msgstr "" + +#: ../../docs/tutorials/audio/audio_effects.rst:64 msgid "It can be used in voice channels to ensure they sound as even as possible." msgstr "" -#: ../../docs/tutorials/audio/audio_effects.rst:62 -msgid "It can be *sidechained*. This means it can reduce the sound level of one signal using the level of another audio bus for threshold detection. This technique is very common in video game mixing to \"duck\" the level of music or sound effects when voices need to be heard." +#: ../../docs/tutorials/audio/audio_effects.rst:65 +msgid "It can be *sidechained* by another sound source. This means it can reduce the sound level of one signal using the level of another audio bus for threshold detection. This technique is very common in video game mixing to \"duck\" the level of music or sound effects when in-game or multiplayer voices need to be fully audible." msgstr "" -#: ../../docs/tutorials/audio/audio_effects.rst:66 +#: ../../docs/tutorials/audio/audio_effects.rst:69 msgid "It can accentuate transients by using a slower attack. This can make sound effects more punchy." msgstr "" -#: ../../docs/tutorials/audio/audio_effects.rst:71 -msgid "If your goal is to prevent a signal from exceeding a given amplitude altogether, rather than to reduce the dynamic range of the signal, a :ref:`limiter ` is likely a better choice than a compressor." +#: ../../docs/tutorials/audio/audio_effects.rst:74 +msgid "If your goal is to prevent a signal from exceeding a given amplitude altogether, rather than to reduce the dynamic range of the signal, a :ref:`limiter ` is likely a better choice than a compressor for this purpose. However, applying compression before a limiter is still good practice." msgstr "" -#: ../../docs/tutorials/audio/audio_effects.rst:78 +#: ../../docs/tutorials/audio/audio_effects.rst:81 msgid "Delay" msgstr "" -#: ../../docs/tutorials/audio/audio_effects.rst:80 -msgid "Adds an \"echo\" effect with a feedback loop. It can be used together with *Reverb* to simulate wide rooms, canyons, etc. where sound bounces are far apart." +#: ../../docs/tutorials/audio/audio_effects.rst:83 +msgid "Digital delay essentially duplicates a signal and repeats it at a specified speed with a volume level that decays for each repeat. Delay is great for simulating the acoustic space of a canyon or large room, where sound bounces have a lot of *delay* between their repeats. This is in contrast to reverb, which has a more natural and blurred sound to it. Using this in conjunction with reverb can create very natural sounding environments!" msgstr "" -#: ../../docs/tutorials/audio/audio_effects.rst:85 +#: ../../docs/tutorials/audio/audio_effects.rst:91 msgid "Distortion" msgstr "" -#: ../../docs/tutorials/audio/audio_effects.rst:87 -msgid "Makes the sound distorted. Godot offers several types of distortion: *overdrive*, *tan* and *bit crushing*. Distortion can be used to simulate sound coming through a low-quality speaker or device." +#: ../../docs/tutorials/audio/audio_effects.rst:93 +msgid "Makes the sound distorted. Godot offers several types of distortion:" msgstr "" -#: ../../docs/tutorials/audio/audio_effects.rst:92 -msgid "EQ" +#: ../../docs/tutorials/audio/audio_effects.rst:95 +msgid "*Overdrive* sounds like a guitar distortion pedal or megaphone. Sounds distorted with this sound like they're coming through a low-quality speaker or device." msgstr "" -#: ../../docs/tutorials/audio/audio_effects.rst:94 -msgid "EQ is what all other equalizers inherit from. It can be extended with Custom scripts to create an equalizer with a custom number of bands." +#: ../../docs/tutorials/audio/audio_effects.rst:97 +msgid "*Tan* sounds like another interesting flavor of overdrive." msgstr "" #: ../../docs/tutorials/audio/audio_effects.rst:98 -msgid "EQ6, EQ10, EQ21" +msgid "*Bit crushing* clamps the amplitude of the signal, making it sound flat and crunchy." msgstr "" #: ../../docs/tutorials/audio/audio_effects.rst:100 -msgid "Godot provides three equalizers with different numbers of bands. An equalizer on the Master bus can be useful to cut frequencies that the device's speakers can't reproduce well (e.g. a mobile phone's speakers won't reproduce bass content well). The equalizer effect can be disabled when headphones are plugged in." +msgid "All three types of distortion can add higher frequency sounds to an original sound, making it stand out better in a mix." msgstr "" -#: ../../docs/tutorials/audio/audio_effects.rst:106 -msgid "Filter" +#: ../../docs/tutorials/audio/audio_effects.rst:103 +msgid "EQ" msgstr "" -#: ../../docs/tutorials/audio/audio_effects.rst:108 -msgid "Filter is what all other filters inherit from and should not be used directly." +#: ../../docs/tutorials/audio/audio_effects.rst:105 +msgid "EQ is what all other equalizers inherit from. It can be extended with Custom scripts to create an equalizer with a custom number of bands." +msgstr "" + +#: ../../docs/tutorials/audio/audio_effects.rst:109 +msgid "EQ6, EQ10, EQ21" msgstr "" #: ../../docs/tutorials/audio/audio_effects.rst:111 -msgid "HighPassFilter" +msgid "Godot provides three equalizers with different numbers of bands, which are represented in the title (6, 10, and 21 bands, respectively). An equalizer on the Master bus can be useful for cutting low and high frequencies that the device's speakers can't reproduce well. For example, phone or tablet speakers usually don't reproduce low frequency sounds well, and could make a limiter or compressor attenuate sounds that aren't even audible to the user anyway." msgstr "" -#: ../../docs/tutorials/audio/audio_effects.rst:113 -msgid "Cuts frequencies below a specific *Cutoff* frequency. HighPassFilter is used to reduce the bass content of a signal." +#: ../../docs/tutorials/audio/audio_effects.rst:119 +msgid "Note: The equalizer effect can be disabled when headphones are plugged in, giving the user the best of both worlds." msgstr "" -#: ../../docs/tutorials/audio/audio_effects.rst:118 -msgid "HighShelfFilter" +#: ../../docs/tutorials/audio/audio_effects.rst:122 +msgid "Filter" msgstr "" -#: ../../docs/tutorials/audio/audio_effects.rst:120 -msgid "Reduces all frequencies above a specific *Cutoff* frequency." -msgstr "" - -#: ../../docs/tutorials/audio/audio_effects.rst:125 -msgid "Limiter" +#: ../../docs/tutorials/audio/audio_effects.rst:124 +msgid "Filter is what all other filters inherit from and should not be used directly." msgstr "" #: ../../docs/tutorials/audio/audio_effects.rst:127 -msgid "A limiter is similar to a compressor, but it's less flexible and designed to prevent a signal's amplitude exceeding a given dB threshold. Adding a limiter to the Master bus is a safeguard against clipping." +msgid "HighPassFilter" msgstr "" -#: ../../docs/tutorials/audio/audio_effects.rst:132 -msgid "LowPassFilter" +#: ../../docs/tutorials/audio/audio_effects.rst:129 +msgid "Cuts frequencies below a specific *Cutoff* frequency. HighPassFilter is used to reduce the bass content of a signal." msgstr "" #: ../../docs/tutorials/audio/audio_effects.rst:134 +msgid "HighShelfFilter" +msgstr "" + +#: ../../docs/tutorials/audio/audio_effects.rst:136 +msgid "Reduces all frequencies above a specific *Cutoff* frequency." +msgstr "" + +#: ../../docs/tutorials/audio/audio_effects.rst:141 +msgid "Limiter" +msgstr "" + +#: ../../docs/tutorials/audio/audio_effects.rst:143 +msgid "A limiter is similar to a compressor, but it's less flexible and designed to prevent a signal's amplitude exceeding a given dB threshold. Adding a limiter to the final point of the Master bus is good practice, as it offers an easy safeguard against clipping." +msgstr "" + +#: ../../docs/tutorials/audio/audio_effects.rst:148 +msgid "LowPassFilter" +msgstr "" + +#: ../../docs/tutorials/audio/audio_effects.rst:150 msgid "Cuts frequencies above a specific *Cutoff* frequency and can also resonate (boost frequencies close to the *Cutoff* frequency). Low pass filters can be used to simulate \"muffled\" sound. For instance, underwater sounds, sounds blocked by walls, or distant sounds." msgstr "" -#: ../../docs/tutorials/audio/audio_effects.rst:140 +#: ../../docs/tutorials/audio/audio_effects.rst:156 msgid "LowShelfFilter" msgstr "" -#: ../../docs/tutorials/audio/audio_effects.rst:142 +#: ../../docs/tutorials/audio/audio_effects.rst:158 msgid "Reduces all frequencies below a specific *Cutoff* frequency." msgstr "" -#: ../../docs/tutorials/audio/audio_effects.rst:145 +#: ../../docs/tutorials/audio/audio_effects.rst:161 msgid "NotchFilter" msgstr "" -#: ../../docs/tutorials/audio/audio_effects.rst:147 +#: ../../docs/tutorials/audio/audio_effects.rst:163 msgid "The opposite of the BandPassFilter, it removes a band of sound from the frequency spectrum at a given *Cutoff* frequency." msgstr "" -#: ../../docs/tutorials/audio/audio_effects.rst:151 +#: ../../docs/tutorials/audio/audio_effects.rst:167 msgid "Panner" msgstr "" -#: ../../docs/tutorials/audio/audio_effects.rst:153 -msgid "The Panner allows the stereo balance of a signal to be adjusted between the left and right channels (wear headphones to audition this effect)." -msgstr "" - -#: ../../docs/tutorials/audio/audio_effects.rst:157 -msgid "Phaser" -msgstr "" - -#: ../../docs/tutorials/audio/audio_effects.rst:159 -msgid "It probably does not make much sense to explain that this effect is formed by two signals being dephased and cancelling each other out. You can make a Darth Vader voice with it, or jet-like sounds." -msgstr "" - -#: ../../docs/tutorials/audio/audio_effects.rst:164 -msgid "PitchShift" -msgstr "" - -#: ../../docs/tutorials/audio/audio_effects.rst:166 -msgid "This effect allows the adjustment of the signal's pitch independently of its speed. All frequencies can be increased/decreased with minimal effect on transients. PitchShift can be useful to create unusually high or deep voices." -msgstr "" - -#: ../../docs/tutorials/audio/audio_effects.rst:171 -msgid "Record" +#: ../../docs/tutorials/audio/audio_effects.rst:169 +msgid "The Panner allows the stereo balance of a signal to be adjusted between the left and right channels. Headphones are recommended when configuring in this effect." msgstr "" #: ../../docs/tutorials/audio/audio_effects.rst:173 +msgid "Phaser" +msgstr "" + +#: ../../docs/tutorials/audio/audio_effects.rst:175 +msgid "This effect is formed by de-phasing two duplicates of the same sound so they cancel each other out in an interesting way. Phaser produces a pleasant whooshing sound that moves back and forth through the audio spectrum, and can be a great way to create sci-fi effects or Darth Vader-like voices." +msgstr "" + +#: ../../docs/tutorials/audio/audio_effects.rst:182 +msgid "PitchShift" +msgstr "" + +#: ../../docs/tutorials/audio/audio_effects.rst:184 +msgid "This effect allows the adjustment of the signal's pitch independently of its speed. All frequencies can be increased/decreased with minimal effect on transients. PitchShift can be useful to create unusually high or deep voices. Do note that altering pitch can sound unnatural when pushed outside of a narrow window." +msgstr "" + +#: ../../docs/tutorials/audio/audio_effects.rst:191 +msgid "Record" +msgstr "" + +#: ../../docs/tutorials/audio/audio_effects.rst:193 msgid "The Record effect allows the user to record sound from a microphone." msgstr "" -#: ../../docs/tutorials/audio/audio_effects.rst:176 +#: ../../docs/tutorials/audio/audio_effects.rst:196 msgid "Reverb" msgstr "" -#: ../../docs/tutorials/audio/audio_effects.rst:178 +#: ../../docs/tutorials/audio/audio_effects.rst:198 msgid "Reverb simulates rooms of different sizes. It has adjustable parameters that can be tweaked to obtain the sound of a specific room. Reverb is commonly outputted from :ref:`Area3Ds ` (see :ref:`Reverb buses `), or to apply a \"chamber\" feel to all sounds." msgstr "" -#: ../../docs/tutorials/audio/audio_effects.rst:185 +#: ../../docs/tutorials/audio/audio_effects.rst:205 msgid "SpectrumAnalyzer" msgstr "" -#: ../../docs/tutorials/audio/audio_effects.rst:187 -msgid "This effect doesn't alter audio, instead, you add this effect to buses you want a spectrum analysis of. This would typically be used for audio visualization. A demo project using this can be found `here `__." +#: ../../docs/tutorials/audio/audio_effects.rst:207 +msgid "This effect doesn't alter audio, instead, you add this effect to buses you want a spectrum analysis of. This would typically be used for audio visualization. Visualizing voices can be a great way to draw attention to them without just increasing their volume. A demo project using this can be found `here `__." msgstr "" -#: ../../docs/tutorials/audio/audio_effects.rst:192 +#: ../../docs/tutorials/audio/audio_effects.rst:214 msgid "StereoEnhance" msgstr "" -#: ../../docs/tutorials/audio/audio_effects.rst:194 -msgid "This effect uses a few algorithms to enhance a signal's stereo spectrum." +#: ../../docs/tutorials/audio/audio_effects.rst:216 +msgid "This effect uses a few algorithms to enhance a signal's stereo width." msgstr "" #: ../../docs/:0 diff --git a/sphinx/templates/tutorials/audio/audio_streams.pot b/sphinx/templates/tutorials/audio/audio_streams.pot index 293b4b0c9a..f7d600cf28 100644 --- a/sphinx/templates/tutorials/audio/audio_streams.pot +++ b/sphinx/templates/tutorials/audio/audio_streams.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-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 e7c596baad..e0913695b6 100644 --- a/sphinx/templates/tutorials/audio/index.pot +++ b/sphinx/templates/tutorials/audio/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-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 6f3dd64dd7..0c69e20594 100644 --- a/sphinx/templates/tutorials/audio/recording_with_microphone.pot +++ b/sphinx/templates/tutorials/audio/recording_with_microphone.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-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 2228236d0b..d2a2cfb2e9 100644 --- a/sphinx/templates/tutorials/audio/sync_with_audio.pot +++ b/sphinx/templates/tutorials/audio/sync_with_audio.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-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 250a6dce6f..1beab07d0a 100644 --- a/sphinx/templates/tutorials/audio/text_to_speech.pot +++ b/sphinx/templates/tutorials/audio/text_to_speech.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -53,7 +53,7 @@ msgid "Godot depends on system libraries for text-to-speech functionality. These 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 distibution's documentation to determine what libraries you need to install." +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:68 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 7bbeb0f305..6f54d05253 100644 --- a/sphinx/templates/tutorials/best_practices/autoloads_versus_internal_nodes.pot +++ b/sphinx/templates/tutorials/best_practices/autoloads_versus_internal_nodes.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-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 15d9a3ed90..7207d0b7ca 100644 --- a/sphinx/templates/tutorials/best_practices/data_preferences.pot +++ b/sphinx/templates/tutorials/best_practices/data_preferences.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-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 6f5dab5b2c..3a1bee55ed 100644 --- a/sphinx/templates/tutorials/best_practices/godot_interfaces.pot +++ b/sphinx/templates/tutorials/best_practices/godot_interfaces.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -52,79 +52,79 @@ msgstr "" msgid "Instead of property or method access, one can get Resources by load access." msgstr "" -#: ../../docs/tutorials/best_practices/godot_interfaces.rst:119 +#: ../../docs/tutorials/best_practices/godot_interfaces.rst:121 msgid "Note the following:" msgstr "" -#: ../../docs/tutorials/best_practices/godot_interfaces.rst:121 +#: ../../docs/tutorials/best_practices/godot_interfaces.rst:123 msgid "There are many ways in which a language can load such resources." msgstr "" -#: ../../docs/tutorials/best_practices/godot_interfaces.rst:123 +#: ../../docs/tutorials/best_practices/godot_interfaces.rst:125 msgid "When designing how objects will access data, don't forget that one can pass resources around as references as well." msgstr "" -#: ../../docs/tutorials/best_practices/godot_interfaces.rst:126 +#: ../../docs/tutorials/best_practices/godot_interfaces.rst:128 msgid "Keep in mind that loading a resource fetches the cached resource instance maintained by the engine. To get a new object, one must :ref:`duplicate ` an existing reference or instantiate one from scratch with ``new()``." msgstr "" -#: ../../docs/tutorials/best_practices/godot_interfaces.rst:131 +#: ../../docs/tutorials/best_practices/godot_interfaces.rst:133 msgid "Nodes likewise have an alternative access point: the SceneTree." msgstr "" -#: ../../docs/tutorials/best_practices/godot_interfaces.rst:265 +#: ../../docs/tutorials/best_practices/godot_interfaces.rst:267 msgid "Accessing data or logic from an object" msgstr "" -#: ../../docs/tutorials/best_practices/godot_interfaces.rst:267 +#: ../../docs/tutorials/best_practices/godot_interfaces.rst:269 msgid "Godot's scripting API is duck-typed. This means that if a script executes an operation, Godot doesn't validate that it supports the operation by **type**. It instead checks that the object **implements** the individual method." msgstr "" -#: ../../docs/tutorials/best_practices/godot_interfaces.rst:271 +#: ../../docs/tutorials/best_practices/godot_interfaces.rst:273 msgid "For example, the :ref:`CanvasItem ` class has a ``visible`` property. All properties exposed to the scripting API are in fact a setter and getter pair bound to a name. If one tried to access :ref:`CanvasItem.visible `, then Godot would do the following checks, in order:" msgstr "" -#: ../../docs/tutorials/best_practices/godot_interfaces.rst:277 +#: ../../docs/tutorials/best_practices/godot_interfaces.rst:279 msgid "If the object has a script attached, it will attempt to set the property through the script. This leaves open the opportunity for scripts to override a property defined on a base object by overriding the setter method for the property." msgstr "" -#: ../../docs/tutorials/best_practices/godot_interfaces.rst:282 +#: ../../docs/tutorials/best_practices/godot_interfaces.rst:284 msgid "If the script does not have the property, it performs a HashMap lookup in the ClassDB for the \"visible\" property against the CanvasItem class and all of its inherited types. If found, it will call the bound setter or getter. For more information about HashMaps, see the :ref:`data preferences ` docs." msgstr "" -#: ../../docs/tutorials/best_practices/godot_interfaces.rst:288 +#: ../../docs/tutorials/best_practices/godot_interfaces.rst:290 msgid "If not found, it does an explicit check to see if the user wants to access the \"script\" or \"meta\" properties." msgstr "" -#: ../../docs/tutorials/best_practices/godot_interfaces.rst:291 +#: ../../docs/tutorials/best_practices/godot_interfaces.rst:293 msgid "If not, it checks for a ``_set``/``_get`` implementation (depending on type of access) in the CanvasItem and its inherited types. These methods can execute logic that gives the impression that the Object has a property. This is also the case with the ``_get_property_list`` method." msgstr "" -#: ../../docs/tutorials/best_practices/godot_interfaces.rst:296 +#: ../../docs/tutorials/best_practices/godot_interfaces.rst:298 msgid "Note that this happens even for non-legal symbol names, such as names starting with a digit or containing a slash." msgstr "" -#: ../../docs/tutorials/best_practices/godot_interfaces.rst:299 +#: ../../docs/tutorials/best_practices/godot_interfaces.rst:301 msgid "As a result, this duck-typed system can locate a property either in the script, the object's class, or any class that object inherits, but only for things which extend Object." msgstr "" -#: ../../docs/tutorials/best_practices/godot_interfaces.rst:303 +#: ../../docs/tutorials/best_practices/godot_interfaces.rst:305 msgid "Godot provides a variety of options for performing runtime checks on these accesses:" msgstr "" -#: ../../docs/tutorials/best_practices/godot_interfaces.rst:306 +#: ../../docs/tutorials/best_practices/godot_interfaces.rst:308 msgid "A duck-typed property access. These will be property checks (as described above). If the operation isn't supported by the object, execution will halt." msgstr "" -#: ../../docs/tutorials/best_practices/godot_interfaces.rst:334 +#: ../../docs/tutorials/best_practices/godot_interfaces.rst:336 msgid "A method check. In the case of :ref:`CanvasItem.visible `, one can access the methods, ``set_visible`` and ``is_visible`` like any other method." msgstr "" -#: ../../docs/tutorials/best_practices/godot_interfaces.rst:472 +#: ../../docs/tutorials/best_practices/godot_interfaces.rst:474 msgid "Outsource the access to a :ref:`Callable `. These may be useful in cases where one needs the max level of freedom from dependencies. In this case, one relies on an external context to setup the method." msgstr "" -#: ../../docs/tutorials/best_practices/godot_interfaces.rst:534 +#: ../../docs/tutorials/best_practices/godot_interfaces.rst:536 msgid "These strategies contribute to Godot's flexible design. Between them, users have a breadth of tools to meet their specific needs." msgstr "" diff --git a/sphinx/templates/tutorials/best_practices/godot_notifications.pot b/sphinx/templates/tutorials/best_practices/godot_notifications.pot index 1ad516aba9..79d8601869 100644 --- a/sphinx/templates/tutorials/best_practices/godot_notifications.pot +++ b/sphinx/templates/tutorials/best_practices/godot_notifications.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -21,7 +21,7 @@ msgid "Godot notifications" msgstr "" #: ../../docs/tutorials/best_practices/godot_notifications.rst:6 -msgid "Every Object in Godot implements a :ref:`_notification ` method. Its purpose is to allow the Object to respond to a variety of engine-level callbacks that may relate to it. For example, if the engine tells a :ref:`CanvasItem ` to \"draw\", it will call ``_notification(NOTIFICATION_DRAW)``." +msgid "Every Object in Godot implements a :ref:`_notification ` method. Its purpose is to allow the Object to respond to a variety of engine-level callbacks that may relate to it. For example, if the engine tells a :ref:`CanvasItem ` to \"draw\", it will call ``_notification(NOTIFICATION_DRAW)``." msgstr "" #: ../../docs/tutorials/best_practices/godot_notifications.rst:13 @@ -85,7 +85,7 @@ msgid "Methods in the documentation labeled as \"virtual\" are also intended to msgstr "" #: ../../docs/tutorials/best_practices/godot_notifications.rst:55 -msgid "A classic example is the :ref:`_init ` method in Object. While it has no ``NOTIFICATION_*`` equivalent, the engine still calls the method. Most languages (except C#) rely on it as a constructor." +msgid "A classic example is the :ref:`_init ` method in Object. While it has no ``NOTIFICATION_*`` equivalent, the engine still calls the method. Most languages (except C#) rely on it as a constructor." msgstr "" #: ../../docs/tutorials/best_practices/godot_notifications.rst:60 @@ -124,35 +124,35 @@ msgstr "" msgid "Scripts have three types of property assignments that can occur during instantiation:" msgstr "" -#: ../../docs/tutorials/best_practices/godot_notifications.rst:220 +#: ../../docs/tutorials/best_practices/godot_notifications.rst:217 msgid "When instantiating a scene, property values will set up according to the following sequence:" msgstr "" -#: ../../docs/tutorials/best_practices/godot_notifications.rst:223 +#: ../../docs/tutorials/best_practices/godot_notifications.rst:220 msgid "**Initial value assignment:** instantiation will assign either the initialization value or the init assignment value. Init assignments take priority over initialization values." msgstr "" -#: ../../docs/tutorials/best_practices/godot_notifications.rst:227 +#: ../../docs/tutorials/best_practices/godot_notifications.rst:224 msgid "**Exported value assignment:** If instancing from a scene rather than a script, Godot will assign the exported value to replace the initial value defined in the script." msgstr "" -#: ../../docs/tutorials/best_practices/godot_notifications.rst:231 +#: ../../docs/tutorials/best_practices/godot_notifications.rst:228 msgid "As a result, instantiating a script versus a scene will affect both the initialization *and* the number of times the engine calls the setter." msgstr "" -#: ../../docs/tutorials/best_practices/godot_notifications.rst:235 +#: ../../docs/tutorials/best_practices/godot_notifications.rst:232 msgid "_ready vs. _enter_tree vs. NOTIFICATION_PARENTED" msgstr "" -#: ../../docs/tutorials/best_practices/godot_notifications.rst:237 +#: ../../docs/tutorials/best_practices/godot_notifications.rst:234 msgid "When instantiating a scene connected to the first executed scene, Godot will instantiate nodes down the tree (making ``_init()`` calls) and build the tree going downwards from the root. This causes ``_enter_tree()`` calls to cascade down the tree. Once the tree is complete, leaf nodes call ``_ready``. A node will call this method once all child nodes have finished calling theirs. This then causes a reverse cascade going up back to the tree's root." msgstr "" -#: ../../docs/tutorials/best_practices/godot_notifications.rst:244 +#: ../../docs/tutorials/best_practices/godot_notifications.rst:241 msgid "When instantiating a script or a standalone scene, nodes are not added to the SceneTree upon creation, so no ``_enter_tree()`` callbacks trigger. Instead, only the ``_init()`` call occurs. When the scene is added to the SceneTree, the ``_enter_tree()`` and ``_ready()`` calls occur." msgstr "" -#: ../../docs/tutorials/best_practices/godot_notifications.rst:249 +#: ../../docs/tutorials/best_practices/godot_notifications.rst:246 msgid "If one needs to trigger behavior that occurs as nodes parent to another, regardless of whether it occurs as part of the main/active scene or not, one can use the :ref:`PARENTED ` notification. For example, here is a snippet that connects a node's method to a custom signal on the parent node without failing. Useful on data-centric nodes that one might create at runtime." msgstr "" diff --git a/sphinx/templates/tutorials/best_practices/index.pot b/sphinx/templates/tutorials/best_practices/index.pot index 91b95d5a5d..893e84c890 100644 --- a/sphinx/templates/tutorials/best_practices/index.pot +++ b/sphinx/templates/tutorials/best_practices/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-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 8ad7591d05..d5f5271ed4 100644 --- a/sphinx/templates/tutorials/best_practices/introduction_best_practices.pot +++ b/sphinx/templates/tutorials/best_practices/introduction_best_practices.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-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 cd0b786b80..ddfddb0b73 100644 --- a/sphinx/templates/tutorials/best_practices/logic_preferences.pot +++ b/sphinx/templates/tutorials/best_practices/logic_preferences.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-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 223e1337c9..6b92afa7b6 100644 --- a/sphinx/templates/tutorials/best_practices/node_alternatives.pot +++ b/sphinx/templates/tutorials/best_practices/node_alternatives.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-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 f074b9027d..f3d63e1f94 100644 --- a/sphinx/templates/tutorials/best_practices/project_organization.pot +++ b/sphinx/templates/tutorials/best_practices/project_organization.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -89,34 +89,38 @@ msgid "To prevent Godot from importing files contained in a specific folder, cre msgstr "" #: ../../docs/tutorials/best_practices/project_organization.rst:83 -msgid "To create a file whose name starts with a dot on Windows, you can use a text editor such as Notepad++ or use the following command in a command prompt: ``type nul > .gdignore``" +msgid "To create a file whose name starts with a dot on Windows, place a dot at both the beginning and end of the filename (\".gdignore.\"). Windows will automatically remove the trailing dot when you confirm the name." msgstr "" #: ../../docs/tutorials/best_practices/project_organization.rst:87 +msgid "Alternatively, you can use a text editor such as Notepad++ or use the following command in a command prompt: ``type nul > .gdignore``" +msgstr "" + +#: ../../docs/tutorials/best_practices/project_organization.rst:90 msgid "Once the folder is ignored, resources in that folder can't be loaded anymore using the ``load()`` and ``preload()`` methods. Ignoring a folder will also automatically hide it from the FileSystem dock, which can be useful to reduce clutter." msgstr "" -#: ../../docs/tutorials/best_practices/project_organization.rst:91 +#: ../../docs/tutorials/best_practices/project_organization.rst:94 msgid "Note that the ``.gdignore`` file's contents are ignored, which is why the file should be empty. It does not support patterns like ``.gitignore`` files do." msgstr "" -#: ../../docs/tutorials/best_practices/project_organization.rst:97 +#: ../../docs/tutorials/best_practices/project_organization.rst:100 msgid "Case sensitivity" msgstr "" -#: ../../docs/tutorials/best_practices/project_organization.rst:99 +#: ../../docs/tutorials/best_practices/project_organization.rst:102 msgid "Windows and recent macOS versions use case-insensitive filesystems by default, whereas Linux distributions use a case-sensitive filesystem by default. This can cause issues after exporting a project, since Godot's PCK virtual filesystem is case-sensitive. To avoid this, it's recommended to stick to ``snake_case`` naming for all files in the project (and lowercase characters in general)." msgstr "" -#: ../../docs/tutorials/best_practices/project_organization.rst:108 +#: ../../docs/tutorials/best_practices/project_organization.rst:111 msgid "You can break this rule when style guides say otherwise (such as the C# style guide). Still, be consistent to avoid mistakes." msgstr "" -#: ../../docs/tutorials/best_practices/project_organization.rst:111 +#: ../../docs/tutorials/best_practices/project_organization.rst:114 msgid "On Windows 10, to further avoid mistakes related to case sensitivity, you can also make the project folder case-sensitive. After enabling the Windows Subsystem for Linux feature, run the following command in a PowerShell window::" msgstr "" -#: ../../docs/tutorials/best_practices/project_organization.rst:121 +#: ../../docs/tutorials/best_practices/project_organization.rst:124 msgid "If you haven't enabled the Windows Subsystem for Linux, you can enter the following line in a PowerShell window *running as Administrator* then reboot when asked::" msgstr "" diff --git a/sphinx/templates/tutorials/best_practices/scene_organization.pot b/sphinx/templates/tutorials/best_practices/scene_organization.pot index 9ba34be307..361341a27c 100644 --- a/sphinx/templates/tutorials/best_practices/scene_organization.pot +++ b/sphinx/templates/tutorials/best_practices/scene_organization.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -81,7 +81,7 @@ msgid "Initialize a NodePath." msgstr "" #: ../../docs/tutorials/best_practices/scene_organization.rst:150 -msgid "These options hide the points of access from the child node. This in turn keeps the child **loosely coupled** to its environment. One can re-use it in another context without any extra changes to its API." +msgid "These options hide the points of access from the child node. This in turn keeps the child **loosely coupled** to its environment. One can reuse it in another context without any extra changes to its API." msgstr "" #: ../../docs/tutorials/best_practices/scene_organization.rst:156 diff --git a/sphinx/templates/tutorials/best_practices/scenes_versus_scripts.pot b/sphinx/templates/tutorials/best_practices/scenes_versus_scripts.pot index 04f4f14248..16e3081fc1 100644 --- a/sphinx/templates/tutorials/best_practices/scenes_versus_scripts.pot +++ b/sphinx/templates/tutorials/best_practices/scenes_versus_scripts.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -40,156 +40,156 @@ msgstr "" msgid "But, choosing which one to use can be a dilemma. Creating script instances is identical to creating in-engine classes whereas handling scenes requires a change in API:" msgstr "" -#: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:58 +#: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:62 msgid "Also, scripts will operate a little slower than scenes due to the speed differences between engine and script code. The larger and more complex the node, the more reason there is to build it as a scene." msgstr "" -#: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:63 +#: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:67 msgid "Named types" msgstr "" -#: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:65 +#: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:69 msgid "Scripts can be registered as a new type within the editor itself. This displays it as a new type in the node or resource creation dialog with an optional icon. This way, the user's ability to use the script is much more streamlined. Rather than having to..." msgstr "" -#: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:70 +#: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:74 msgid "Know the base type of the script they would like to use." msgstr "" -#: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:72 +#: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:76 msgid "Create an instance of that base type." msgstr "" -#: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:74 +#: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:78 msgid "Add the script to the node." msgstr "" -#: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:76 +#: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:80 msgid "With a registered script, the scripted type instead becomes a creation option like the other nodes and resources in the system. The creation dialog even has a search bar to look up the type by name." msgstr "" -#: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:81 +#: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:85 msgid "There are two systems for registering types:" msgstr "" -#: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:83 +#: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:87 msgid ":ref:`Custom Types `" msgstr "" -#: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:85 +#: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:89 msgid "Editor-only. Typenames are not accessible at runtime." msgstr "" -#: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:87 +#: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:91 msgid "Does not support inherited custom types." msgstr "" -#: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:89 +#: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:93 msgid "An initializer tool. Creates the node with the script. Nothing more." msgstr "" -#: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:91 +#: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:95 msgid "Editor has no type-awareness of the script or its relationship to other engine types or scripts." msgstr "" -#: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:94 -#: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:112 +#: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:98 +#: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:116 msgid "Allows users to define an icon." msgstr "" -#: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:96 +#: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:100 msgid "Works for all scripting languages because it deals with Script resources in abstract." msgstr "" -#: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:98 +#: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:102 msgid "Set up using :ref:`EditorPlugin.add_custom_type `." msgstr "" -#: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:100 +#: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:104 msgid ":ref:`Script Classes `" msgstr "" -#: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:102 +#: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:106 msgid "Editor and runtime accessible." msgstr "" -#: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:104 +#: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:108 msgid "Displays inheritance relationships in full." msgstr "" -#: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:106 +#: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:110 msgid "Creates the node with the script, but can also change types or extend the type from the editor." msgstr "" -#: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:109 +#: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:113 msgid "Editor is aware of inheritance relationships between scripts, script classes, and engine C++ classes." msgstr "" -#: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:114 +#: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:118 msgid "Engine developers must add support for languages manually (both name exposure and runtime accessibility)." msgstr "" -#: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:117 +#: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:121 msgid "Godot 3.1+ only." msgstr "" -#: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:119 +#: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:123 msgid "The Editor scans project folders and registers any exposed names for all scripting languages. Each scripting language must implement its own support for exposing this information." msgstr "" -#: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:123 +#: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:127 msgid "Both methodologies add names to the creation dialog, but script classes, in particular, also allow for users to access the typename without loading the script resource. Creating instances and accessing constants or static methods is viable from anywhere." msgstr "" -#: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:128 +#: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:132 msgid "With features like these, one may wish their type to be a script without a scene due to the ease of use it grants users. Those developing plugins or creating in-house tools for designers to use will find an easier time of things this way." msgstr "" -#: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:133 +#: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:137 msgid "On the downside, it also means having to use largely imperative programming." msgstr "" -#: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:136 +#: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:140 msgid "Performance of Script vs PackedScene" msgstr "" -#: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:138 +#: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:142 msgid "One last aspect to consider when choosing scenes and scripts is execution speed." msgstr "" -#: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:140 +#: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:144 msgid "As the size of objects increases, the scripts' necessary size to create and initialize them grows much larger. Creating node hierarchies demonstrates this. Each Node's logic could be several hundred lines of code in length." msgstr "" -#: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:144 +#: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:148 msgid "The code example below creates a new ``Node``, changes its name, assigns a script to it, sets its future parent as its owner so it gets saved to disk along with it, and finally adds it as a child of the ``Main`` node:" msgstr "" -#: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:179 +#: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:187 msgid "Script code like this is much slower than engine-side C++ code. Each instruction makes a call to the scripting API which leads to many \"lookups\" on the back-end to find the logic to execute." msgstr "" -#: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:183 +#: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:191 msgid "Scenes help to avoid this performance issue. :ref:`PackedScene `, the base type that scenes inherit from, defines resources that use serialized data to create objects. The engine can process scenes in batches on the back-end and provide much better performance than scripts." msgstr "" -#: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:189 +#: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:197 msgid "Conclusion" msgstr "" -#: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:191 +#: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:199 msgid "In the end, the best approach is to consider the following:" msgstr "" -#: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:193 +#: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:201 msgid "If one wishes to create a basic tool that is going to be re-used in several different projects and which people of all skill levels will likely use (including those who don't label themselves as \"programmers\"), then chances are that it should probably be a script, likely one with a custom name/icon." msgstr "" -#: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:198 +#: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:206 msgid "If one wishes to create a concept that is particular to their game, then it should always be a scene. Scenes are easier to track/edit and provide more security than scripts." msgstr "" -#: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:202 +#: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:210 msgid "If one would like to give a name to a scene, then they can still sort of do this by declaring a script class and giving it a scene as a constant. The script becomes, in effect, a namespace:" msgstr "" diff --git a/sphinx/templates/tutorials/best_practices/version_control_systems.pot b/sphinx/templates/tutorials/best_practices/version_control_systems.pot index 1a91126c16..5a116c5aa7 100644 --- a/sphinx/templates/tutorials/best_practices/version_control_systems.pot +++ b/sphinx/templates/tutorials/best_practices/version_control_systems.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/best_practices/what_are_godot_classes.pot b/sphinx/templates/tutorials/best_practices/what_are_godot_classes.pot index 98b6da53e2..6a64523ac6 100644 --- a/sphinx/templates/tutorials/best_practices/what_are_godot_classes.pot +++ b/sphinx/templates/tutorials/best_practices/what_are_godot_classes.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-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 e7c96eab8e..4a017f6d1c 100644 --- a/sphinx/templates/tutorials/editor/command_line_tutorial.pot +++ b/sphinx/templates/tutorials/editor/command_line_tutorial.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/tutorials/editor/customizing_editor.pot b/sphinx/templates/tutorials/editor/customizing_editor.pot index 77cef69121..4b8d83aba0 100644 --- a/sphinx/templates/tutorials/editor/customizing_editor.pot +++ b/sphinx/templates/tutorials/editor/customizing_editor.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-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 b9af48671c..7b37dda844 100644 --- a/sphinx/templates/tutorials/editor/default_key_mapping.pot +++ b/sphinx/templates/tutorials/editor/default_key_mapping.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -1376,7 +1376,6 @@ msgstr "" #: ../../docs/tutorials/editor/default_key_mapping.rst:226 #: ../../docs/tutorials/editor/default_key_mapping.rst:352 #: ../../docs/tutorials/editor/default_key_mapping.rst:407 -#: ../../docs/tutorials/editor/default_key_mapping.rst:424 #: ../../docs/tutorials/editor/default_key_mapping.rst:484 msgid ":kbd:`Ctrl + C`" msgstr "" @@ -1384,7 +1383,6 @@ msgstr "" #: ../../docs/tutorials/editor/default_key_mapping.rst:226 #: ../../docs/tutorials/editor/default_key_mapping.rst:352 #: ../../docs/tutorials/editor/default_key_mapping.rst:407 -#: ../../docs/tutorials/editor/default_key_mapping.rst:424 #: ../../docs/tutorials/editor/default_key_mapping.rst:484 msgid ":kbd:`Cmd + C`" msgstr "" @@ -1620,27 +1618,28 @@ msgstr "" msgid "Fold/Unfold Line" msgstr "" -#: ../../docs/tutorials/editor/default_key_mapping.rst:256 #: ../../docs/tutorials/editor/default_key_mapping.rst:256 #: ../../docs/tutorials/editor/default_key_mapping.rst:386 #: ../../docs/tutorials/editor/default_key_mapping.rst:386 msgid ":kbd:`Alt + F`" msgstr "" +#: ../../docs/tutorials/editor/default_key_mapping.rst:256 +msgid ":kbd:`Ctrl + Cmd + F`" +msgstr "" + #: ../../docs/tutorials/editor/default_key_mapping.rst:256 msgid "``script_text_editor/toggle_fold_line``" msgstr "" #: ../../docs/tutorials/editor/default_key_mapping.rst:258 -msgid "Clone Down" +#: ../../docs/tutorials/editor/default_key_mapping.rst:443 +msgid "Duplicate Selection" msgstr "" #: ../../docs/tutorials/editor/default_key_mapping.rst:258 -#: ../../docs/tutorials/editor/default_key_mapping.rst:394 -#: ../../docs/tutorials/editor/default_key_mapping.rst:409 -#: ../../docs/tutorials/editor/default_key_mapping.rst:430 -#: ../../docs/tutorials/editor/default_key_mapping.rst:443 -msgid ":kbd:`Ctrl + D`" +#: ../../docs/tutorials/editor/default_key_mapping.rst:445 +msgid ":kbd:`Ctrl + Shift + D`" msgstr "" #: ../../docs/tutorials/editor/default_key_mapping.rst:258 @@ -1648,7 +1647,7 @@ msgid ":kbd:`Cmd + Shift + C`" msgstr "" #: ../../docs/tutorials/editor/default_key_mapping.rst:258 -msgid "``script_text_editor/clone_down``" +msgid "``script_text_editor/duplicate_selection``" msgstr "" #: ../../docs/tutorials/editor/default_key_mapping.rst:260 @@ -2306,6 +2305,13 @@ msgstr "" msgid "Focus Path" msgstr "" +#: ../../docs/tutorials/editor/default_key_mapping.rst:394 +#: ../../docs/tutorials/editor/default_key_mapping.rst:409 +#: ../../docs/tutorials/editor/default_key_mapping.rst:430 +#: ../../docs/tutorials/editor/default_key_mapping.rst:443 +msgid ":kbd:`Ctrl + D`" +msgstr "" + #: ../../docs/tutorials/editor/default_key_mapping.rst:394 #: ../../docs/tutorials/editor/default_key_mapping.rst:409 #: ../../docs/tutorials/editor/default_key_mapping.rst:430 @@ -2406,6 +2412,14 @@ msgstr "" msgid "Copy Node Path" msgstr "" +#: ../../docs/tutorials/editor/default_key_mapping.rst:424 +msgid ":kbd:`Ctrl + Shift + C`" +msgstr "" + +#: ../../docs/tutorials/editor/default_key_mapping.rst:424 +msgid ":kbd:`Cmd + Shift + C`" +msgstr "" + #: ../../docs/tutorials/editor/default_key_mapping.rst:424 msgid "``scene_tree/copy_node_path``" msgstr "" @@ -2443,10 +2457,6 @@ msgstr "" msgid "Animation Track Editor" msgstr "" -#: ../../docs/tutorials/editor/default_key_mapping.rst:443 -msgid "Duplicate Selection" -msgstr "" - #: ../../docs/tutorials/editor/default_key_mapping.rst:443 msgid "``animation_editor/duplicate_selection``" msgstr "" @@ -2455,10 +2465,6 @@ msgstr "" msgid "Duplicate Transposed" msgstr "" -#: ../../docs/tutorials/editor/default_key_mapping.rst:445 -msgid ":kbd:`Ctrl + Shift + D`" -msgstr "" - #: ../../docs/tutorials/editor/default_key_mapping.rst:445 msgid ":kbd:`Cmd + Shift + D`" msgstr "" diff --git a/sphinx/templates/tutorials/editor/external_editor.pot b/sphinx/templates/tutorials/editor/external_editor.pot index 676bcaec74..f9d1ac610e 100644 --- a/sphinx/templates/tutorials/editor/external_editor.pot +++ b/sphinx/templates/tutorials/editor/external_editor.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -117,6 +117,7 @@ msgid "``{project} --line {line} {file}``" msgstr "" #: ../../docs/tutorials/editor/external_editor.rst:46 +#: ../../docs/tutorials/editor/external_editor.rst:87 msgid "Visual Studio Code" msgstr "" @@ -133,6 +134,7 @@ msgid "``\"+call cursor({line}, {col})\" {file}``" msgstr "" #: ../../docs/tutorials/editor/external_editor.rst:50 +#: ../../docs/tutorials/editor/external_editor.rst:114 msgid "Emacs" msgstr "" @@ -180,6 +182,38 @@ msgstr "" msgid "`Emacs `_" msgstr "" +#: ../../docs/tutorials/editor/external_editor.rst:78 +msgid "LSP/DAP support" +msgstr "" + +#: ../../docs/tutorials/editor/external_editor.rst:80 +msgid "Godot supports the `Language Server Protocol `_ (**LSP**) for code completion and the `Debug Adapter Protocol `_ (**DAP**) for debugging. You can check the `LSP client list `_ and `DAP client list `_ to find if your editor supports them. If this is the case, you should be able to take advantage of these features without the need of a custom plugin." +msgstr "" + +#: ../../docs/tutorials/editor/external_editor.rst:82 +msgid "To use these protocols, a Godot instance must be running on your current project. You should then configure your editor to communicate to the running adapter ports in Godot, which by default are ``6005`` for **LSP**, and ``6006`` for **DAP**. You can change these ports and other settings in the **Editor Settings**, under the **Network > Language Server** and **Network > Debug Adapter** sections respectively." +msgstr "" + +#: ../../docs/tutorials/editor/external_editor.rst:84 +msgid "Below are some configuration steps for specific editors:" +msgstr "" + +#: ../../docs/tutorials/editor/external_editor.rst:89 +msgid "You need to install the official `Visual Studio Code plugin `_." +msgstr "" + +#: ../../docs/tutorials/editor/external_editor.rst:91 +msgid "For **LSP**, follow `these instructions `_ to change the default LSP port. The connection status can be checked on the status bar:" +msgstr "" + +#: ../../docs/tutorials/editor/external_editor.rst:95 +msgid "For **DAP**, specify the ``debugServer`` property in your ``launch.json`` file:" +msgstr "" + +#: ../../docs/tutorials/editor/external_editor.rst:116 +msgid "Check the official instructions to configure `LSP `_, and `DAP `_." +msgstr "" + #: ../../docs/:0 msgid "Translation status" msgstr "" diff --git a/sphinx/templates/tutorials/editor/index.pot b/sphinx/templates/tutorials/editor/index.pot index d404312bce..d9bebd31a2 100644 --- a/sphinx/templates/tutorials/editor/index.pot +++ b/sphinx/templates/tutorials/editor/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-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 729862096d..39af3b5b8f 100644 --- a/sphinx/templates/tutorials/editor/inspector_dock.pot +++ b/sphinx/templates/tutorials/editor/inspector_dock.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-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 4d410508fc..6bcf7a4164 100644 --- a/sphinx/templates/tutorials/editor/managing_editor_features.pot +++ b/sphinx/templates/tutorials/editor/managing_editor_features.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-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 e83b303f08..20e9c28e7e 100644 --- a/sphinx/templates/tutorials/editor/project_manager.pot +++ b/sphinx/templates/tutorials/editor/project_manager.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -16,87 +16,87 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: ../../docs/tutorials/editor/project_manager.rst:6 +#: ../../docs/tutorials/editor/project_manager.rst:4 msgid "Using the Project Manager" msgstr "" -#: ../../docs/tutorials/editor/project_manager.rst:8 +#: ../../docs/tutorials/editor/project_manager.rst:6 msgid "When you launch Godot, the first window you see is the Project Manager. It lets you create, remove, import, or play game projects." msgstr "" -#: ../../docs/tutorials/editor/project_manager.rst:13 +#: ../../docs/tutorials/editor/project_manager.rst:11 msgid "In the window's top-right corner, a drop-down menu allows you to change the editor's language." msgstr "" -#: ../../docs/tutorials/editor/project_manager.rst:21 +#: ../../docs/tutorials/editor/project_manager.rst:19 msgid "Creating and importing projects" msgstr "" -#: ../../docs/tutorials/editor/project_manager.rst:23 +#: ../../docs/tutorials/editor/project_manager.rst:21 msgid "To create a new project:" msgstr "" -#: ../../docs/tutorials/editor/project_manager.rst:25 -msgid "Click the ``New Project`` button on the right of the window." +#: ../../docs/tutorials/editor/project_manager.rst:23 +msgid "Click the **New** button on the top-left of the window." msgstr "" -#: ../../docs/tutorials/editor/project_manager.rst:26 +#: ../../docs/tutorials/editor/project_manager.rst:24 msgid "Give the project a name, choose an empty folder on your computer to save the files, and select a rendering backend." msgstr "" -#: ../../docs/tutorials/editor/project_manager.rst:28 -msgid "Click the Create & Edit button to create the project folder and open it in the editor." +#: ../../docs/tutorials/editor/project_manager.rst:26 +msgid "Click the **Create & Edit** button to create the project folder and open it in the editor." msgstr "" -#: ../../docs/tutorials/editor/project_manager.rst:33 +#: ../../docs/tutorials/editor/project_manager.rst:31 msgid "Using the file browser" msgstr "" -#: ../../docs/tutorials/editor/project_manager.rst:35 -msgid "Click the Browse button to open Godot's file browser and pick a location or type the folder's path in the Project Path field." +#: ../../docs/tutorials/editor/project_manager.rst:33 +msgid "Click the **Browse** button to open Godot's file browser and pick a location or type the folder's path in the Project Path field." msgstr "" -#: ../../docs/tutorials/editor/project_manager.rst:40 -msgid "When you see the green tick on the right, it means the engine detects an empty folder. You can also click the ``Create Folder`` button to create an empty folder based on your project's name." +#: ../../docs/tutorials/editor/project_manager.rst:38 +msgid "When you see the green tick on the right, it means the engine detects an empty folder. You can also click the **Create Folder** button to create an empty folder based on your project's name." msgstr "" -#: ../../docs/tutorials/editor/project_manager.rst:45 +#: ../../docs/tutorials/editor/project_manager.rst:43 msgid "Opening and importing projects" msgstr "" -#: ../../docs/tutorials/editor/project_manager.rst:47 +#: ../../docs/tutorials/editor/project_manager.rst:45 msgid "The next time you open the Project Manager, you'll see your new project in the list. Double click on it to open it in the editor." msgstr "" -#: ../../docs/tutorials/editor/project_manager.rst:52 -msgid "You can similarly import existing projects using the Import button. Locate the folder that contains the project or the ``project.godot`` file to import and edit it." +#: ../../docs/tutorials/editor/project_manager.rst:50 +msgid "You can similarly import existing projects using the **Import** button. Locate the folder that contains the project or the **project.godot** file to import and edit it." msgstr "" -#: ../../docs/tutorials/editor/project_manager.rst:58 +#: ../../docs/tutorials/editor/project_manager.rst:56 msgid "When the folder path is correct, you'll see a green checkmark." msgstr "" -#: ../../docs/tutorials/editor/project_manager.rst:63 +#: ../../docs/tutorials/editor/project_manager.rst:61 msgid "Downloading demos and templates" msgstr "" -#: ../../docs/tutorials/editor/project_manager.rst:65 +#: ../../docs/tutorials/editor/project_manager.rst:63 msgid "From the **Asset Library Projects** tab you can download open source project templates and demos from the :ref:`Asset Library ` to help you get started faster." msgstr "" -#: ../../docs/tutorials/editor/project_manager.rst:69 +#: ../../docs/tutorials/editor/project_manager.rst:67 msgid "To download a demo or template:" msgstr "" -#: ../../docs/tutorials/editor/project_manager.rst:71 +#: ../../docs/tutorials/editor/project_manager.rst:69 msgid "Click on its title." msgstr "" -#: ../../docs/tutorials/editor/project_manager.rst:72 +#: ../../docs/tutorials/editor/project_manager.rst:70 msgid "On the page that opens, click the download button." msgstr "" -#: ../../docs/tutorials/editor/project_manager.rst:73 +#: ../../docs/tutorials/editor/project_manager.rst:71 msgid "Once it finished downloading, click install and choose where you want to save the project." msgstr "" diff --git a/sphinx/templates/tutorials/editor/project_settings.pot b/sphinx/templates/tutorials/editor/project_settings.pot index 4f56e3e471..9e20abe815 100644 --- a/sphinx/templates/tutorials/editor/project_settings.pot +++ b/sphinx/templates/tutorials/editor/project_settings.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-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 2a9960b9f4..70b89e3cca 100644 --- a/sphinx/templates/tutorials/editor/using_the_android_editor.pot +++ b/sphinx/templates/tutorials/editor/using_the_android_editor.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -69,42 +69,38 @@ msgid "No C#/Mono support" msgstr "" #: ../../docs/tutorials/editor/using_the_android_editor.rst:39 -msgid "No GDExtension support" -msgstr "" - -#: ../../docs/tutorials/editor/using_the_android_editor.rst:40 msgid "No support for external script editors" msgstr "" -#: ../../docs/tutorials/editor/using_the_android_editor.rst:41 +#: ../../docs/tutorials/editor/using_the_android_editor.rst:40 msgid "While available, the *Vulkan Forward+* renderer is not recommended due to severe performance issues" msgstr "" -#: ../../docs/tutorials/editor/using_the_android_editor.rst:42 +#: ../../docs/tutorials/editor/using_the_android_editor.rst:41 msgid "No support for building and exporting an Android APK binary. As a workaround, you can generate and export a `Godot PCK or ZIP file `__" msgstr "" -#: ../../docs/tutorials/editor/using_the_android_editor.rst:44 +#: ../../docs/tutorials/editor/using_the_android_editor.rst:43 msgid "No support for building and exporting binaries for other platforms" msgstr "" -#: ../../docs/tutorials/editor/using_the_android_editor.rst:45 +#: ../../docs/tutorials/editor/using_the_android_editor.rst:44 msgid "Performance and stability issues when using the *Vulkan Mobile* renderer for a project" msgstr "" -#: ../../docs/tutorials/editor/using_the_android_editor.rst:46 +#: ../../docs/tutorials/editor/using_the_android_editor.rst:45 msgid "UX not optimized for Android phones form-factor" msgstr "" -#: ../../docs/tutorials/editor/using_the_android_editor.rst:47 +#: ../../docs/tutorials/editor/using_the_android_editor.rst:46 msgid "`Android Go devices `__ lacks the *All files access* permission required for device read/write access. As a workaround, when using a Android Go device, it's recommended to create new projects only in the Android *Documents* or *Downloads* directories." msgstr "" -#: ../../docs/tutorials/editor/using_the_android_editor.rst:50 +#: ../../docs/tutorials/editor/using_the_android_editor.rst:49 msgid "The editor doesn't properly resume when *Don't keep activities* is enabled in the *Developer Options*" msgstr "" -#: ../../docs/tutorials/editor/using_the_android_editor.rst:54 +#: ../../docs/tutorials/editor/using_the_android_editor.rst:53 msgid "See the `list of open issues on GitHub related to the Android editor `__ for a list of known bugs." msgstr "" diff --git a/sphinx/templates/tutorials/editor/using_the_web_editor.pot b/sphinx/templates/tutorials/editor/using_the_web_editor.pot index 5f02b69747..cb0cf6f6ad 100644 --- a/sphinx/templates/tutorials/editor/using_the_web_editor.pot +++ b/sphinx/templates/tutorials/editor/using_the_web_editor.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-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_custom_build.pot b/sphinx/templates/tutorials/export/android_gradle_build.pot similarity index 53% rename from sphinx/templates/tutorials/export/android_custom_build.pot rename to sphinx/templates/tutorials/export/android_gradle_build.pot index 45ac36eb4c..54209c9fee 100644 --- a/sphinx/templates/tutorials/export/android_custom_build.pot +++ b/sphinx/templates/tutorials/export/android_gradle_build.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -16,67 +16,67 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: ../../docs/tutorials/export/android_custom_build.rst:4 -msgid "Custom builds for Android" +#: ../../docs/tutorials/export/android_gradle_build.rst:4 +msgid "Gradle builds for Android" msgstr "" -#: ../../docs/tutorials/export/android_custom_build.rst:6 -msgid "Godot provides the option to use custom build Android templates. Instead of using the already pre-built template that ships with Godot, an actual Android Java project gets installed into your project folder. Godot will then build it and use it as an export template every time you export the project." +#: ../../docs/tutorials/export/android_gradle_build.rst:6 +msgid "Godot provides the option to build using the gradle buildsystem. Instead of using the already pre-built template that ships with Godot, an Android Java project gets installed into your project folder. Godot will then build it and use it as an export template every time you export the project." msgstr "" -#: ../../docs/tutorials/export/android_custom_build.rst:11 +#: ../../docs/tutorials/export/android_gradle_build.rst:11 msgid "There are some reasons why you may want to do this:" msgstr "" -#: ../../docs/tutorials/export/android_custom_build.rst:13 +#: ../../docs/tutorials/export/android_gradle_build.rst:13 msgid "Modify the project before it's built." msgstr "" -#: ../../docs/tutorials/export/android_custom_build.rst:14 +#: ../../docs/tutorials/export/android_gradle_build.rst:14 msgid "Add external SDKs that build with your project." msgstr "" -#: ../../docs/tutorials/export/android_custom_build.rst:16 -msgid "Configuring the custom build is a fairly straightforward process. But first you need to follow the steps in :ref:`exporting for android` up to **Setting it up in Godot**. After doing that, follow the steps below." +#: ../../docs/tutorials/export/android_gradle_build.rst:16 +msgid "Configuring the gradle build is a fairly straightforward process. But first you need to follow the steps in :ref:`exporting for android` up to **Setting it up in Godot**. After doing that, follow the steps below." msgstr "" -#: ../../docs/tutorials/export/android_custom_build.rst:21 -msgid "Set up the custom build environment" +#: ../../docs/tutorials/export/android_gradle_build.rst:21 +msgid "Set up the gradle build environment" msgstr "" -#: ../../docs/tutorials/export/android_custom_build.rst:23 -msgid "Go to the Project menu, and install the *Custom Build* template:" +#: ../../docs/tutorials/export/android_gradle_build.rst:23 +msgid "Go to the Project menu, and install the *Gradle Build* template:" msgstr "" -#: ../../docs/tutorials/export/android_custom_build.rst:27 +#: ../../docs/tutorials/export/android_gradle_build.rst:27 msgid "Make sure export templates are downloaded. If not, this menu will help you download them." msgstr "" -#: ../../docs/tutorials/export/android_custom_build.rst:30 -msgid "A Gradle-based Android project will be created under ``res://android/build``. Editing these files is not needed unless you want to :ref:`create your own add-ons`, or you really need to modify the project." +#: ../../docs/tutorials/export/android_gradle_build.rst:30 +msgid "A Gradle-based Android project will be created under ``res://android/build``. Editing these files is not needed unless you really need to modify the project." msgstr "" -#: ../../docs/tutorials/export/android_custom_build.rst:36 -msgid "Enabling the custom build and exporting" +#: ../../docs/tutorials/export/android_gradle_build.rst:35 +msgid "Enabling the gradle build and exporting" msgstr "" -#: ../../docs/tutorials/export/android_custom_build.rst:38 -msgid "When setting up the Android project in the **Project > Export** dialog, **Custom Build** needs to be enabled:" +#: ../../docs/tutorials/export/android_gradle_build.rst:37 +msgid "When setting up the Android project in the **Project > Export** dialog, **Gradle Build** needs to be enabled:" msgstr "" -#: ../../docs/tutorials/export/android_custom_build.rst:43 +#: ../../docs/tutorials/export/android_gradle_build.rst:42 msgid "From now on, attempting to export the project or one-click deploy will call the `Gradle `__ build system to generate fresh templates (this window will appear every time):" msgstr "" -#: ../../docs/tutorials/export/android_custom_build.rst:49 +#: ../../docs/tutorials/export/android_gradle_build.rst:48 msgid "The templates built will be used automatically afterwards, so no further configuration is needed." msgstr "" -#: ../../docs/tutorials/export/android_custom_build.rst:54 -msgid "When using the custom Android build system, assets that are placed within a folder whose name begins with an underscore will not be included in the generated APK. This does not apply to assets whose *file* name begins with an underscore." +#: ../../docs/tutorials/export/android_gradle_build.rst:53 +msgid "When using the gradle Android build system, assets that are placed within a folder whose name begins with an underscore will not be included in the generated APK. This does not apply to assets whose *file* name begins with an underscore." msgstr "" -#: ../../docs/tutorials/export/android_custom_build.rst:59 +#: ../../docs/tutorials/export/android_gradle_build.rst:58 msgid "For example, ``_example/image.png`` will **not** be included as an asset, but ``_image.png`` will." msgstr "" 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 5478db2a85..df07c1de3b 100644 --- a/sphinx/templates/tutorials/export/changing_application_icon_for_windows.pot +++ b/sphinx/templates/tutorials/export/changing_application_icon_for_windows.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-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 c309431b91..ee1d453824 100644 --- a/sphinx/templates/tutorials/export/exporting_for_android.pot +++ b/sphinx/templates/tutorials/export/exporting_for_android.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -29,15 +29,15 @@ msgid "Exporting for Android has fewer requirements than compiling Godot for And msgstr "" #: ../../docs/tutorials/export/exporting_for_android.rst:18 -msgid "Projects written in C# using Godot 4 currently cannot be exported to Android. To use C# on Android, use Godot 3 instead." +msgid "Projects written in C# can be exported to Android as of Godot 4.2, but support is experimental and :ref:`some limitations apply `." msgstr "" #: ../../docs/tutorials/export/exporting_for_android.rst:22 -msgid "Install OpenJDK 11" +msgid "Install OpenJDK 17" msgstr "" #: ../../docs/tutorials/export/exporting_for_android.rst:24 -msgid "Download and install `OpenJDK 11 `__." +msgid "Download and install `OpenJDK 17 `__." msgstr "" #: ../../docs/tutorials/export/exporting_for_android.rst:27 @@ -109,7 +109,7 @@ msgid "If you can't find it or need to generate one, the keytool command from th msgstr "" #: ../../docs/tutorials/export/exporting_for_android.rst:70 -msgid "This will create a ``debug.keystore`` file in your current directory. You should move it to a memorable location such as ``%USERPROFILE%\\.android\\``, because you will need its location in a later step. For more information on ``keytool`` usage, see `this Q&A article `__." +msgid "This will create a ``debug.keystore`` file in your current directory. You should move it to a memorable location such as ``%USERPROFILE%\\.android\\``, because you will need its location in a later step. For more information on ``keytool`` usage, see `this Q&A article `__." msgstr "" #: ../../docs/tutorials/export/exporting_for_android.rst:74 @@ -273,7 +273,7 @@ msgid "Encryption / Encryption Key" msgstr "" #: ../../docs/tutorials/export/exporting_for_android.rst:194 -msgid "GODOT_SCRIPT_ENCRYPTION_KEY" +msgid "``GODOT_SCRIPT_ENCRYPTION_KEY``" msgstr "" #: ../../docs/tutorials/export/exporting_for_android.rst:195 @@ -281,7 +281,7 @@ msgid "Options / Keystore / Debug" msgstr "" #: ../../docs/tutorials/export/exporting_for_android.rst:196 -msgid "GODOT_ANDROID_KEYSTORE_DEBUG_PATH" +msgid "``GODOT_ANDROID_KEYSTORE_DEBUG_PATH``" msgstr "" #: ../../docs/tutorials/export/exporting_for_android.rst:197 @@ -289,7 +289,7 @@ msgid "Options / Keystore / Debug User" msgstr "" #: ../../docs/tutorials/export/exporting_for_android.rst:198 -msgid "GODOT_ANDROID_KEYSTORE_DEBUG_USER" +msgid "``GODOT_ANDROID_KEYSTORE_DEBUG_USER``" msgstr "" #: ../../docs/tutorials/export/exporting_for_android.rst:199 @@ -297,7 +297,7 @@ msgid "Options / Keystore / Debug Password" msgstr "" #: ../../docs/tutorials/export/exporting_for_android.rst:200 -msgid "GODOT_ANDROID_KEYSTORE_DEBUG_PASSWORD" +msgid "``GODOT_ANDROID_KEYSTORE_DEBUG_PASSWORD``" msgstr "" #: ../../docs/tutorials/export/exporting_for_android.rst:201 @@ -305,7 +305,7 @@ msgid "Options / Keystore / Release" msgstr "" #: ../../docs/tutorials/export/exporting_for_android.rst:202 -msgid "GODOT_ANDROID_KEYSTORE_RELEASE_PATH" +msgid "``GODOT_ANDROID_KEYSTORE_RELEASE_PATH``" msgstr "" #: ../../docs/tutorials/export/exporting_for_android.rst:203 @@ -313,7 +313,7 @@ msgid "Options / Keystore / Release User" msgstr "" #: ../../docs/tutorials/export/exporting_for_android.rst:204 -msgid "GODOT_ANDROID_KEYSTORE_RELEASE_USER" +msgid "``GODOT_ANDROID_KEYSTORE_RELEASE_USER``" msgstr "" #: ../../docs/tutorials/export/exporting_for_android.rst:205 @@ -321,7 +321,7 @@ msgid "Options / Keystore / Release Password" msgstr "" #: ../../docs/tutorials/export/exporting_for_android.rst:206 -msgid "GODOT_ANDROID_KEYSTORE_RELEASE_PASSWORD" +msgid "``GODOT_ANDROID_KEYSTORE_RELEASE_PASSWORD``" msgstr "" #: ../../docs/:0 diff --git a/sphinx/templates/tutorials/export/exporting_for_dedicated_servers.pot b/sphinx/templates/tutorials/export/exporting_for_dedicated_servers.pot index 96632c8f9f..a8b9934c94 100644 --- a/sphinx/templates/tutorials/export/exporting_for_dedicated_servers.pot +++ b/sphinx/templates/tutorials/export/exporting_for_dedicated_servers.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -21,7 +21,7 @@ msgid "Exporting for dedicated servers" msgstr "" #: ../../docs/tutorials/export/exporting_for_dedicated_servers.rst:6 -msgid "If you want to run a dedicated server for your project on a machine that doesn't have a GPU or display server available, you'll need run Godot with the ``headless`` display server and ``Dummy`` :ref:`audio driver `." +msgid "If you want to run a dedicated server for your project on a machine that doesn't have a GPU or display server available, you'll need to run Godot with the ``headless`` display server and ``Dummy`` :ref:`audio driver `." msgstr "" #: ../../docs/tutorials/export/exporting_for_dedicated_servers.rst:10 diff --git a/sphinx/templates/tutorials/export/exporting_for_ios.pot b/sphinx/templates/tutorials/export/exporting_for_ios.pot index 752917098f..61c50c1753 100644 --- a/sphinx/templates/tutorials/export/exporting_for_ios.pot +++ b/sphinx/templates/tutorials/export/exporting_for_ios.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -29,7 +29,7 @@ msgid "These are the steps to load a Godot project in Xcode. This allows you to msgstr "" #: ../../docs/tutorials/export/exporting_for_ios.rst:18 -msgid "Projects written in C# using Godot 4 currently cannot be exported to iOS. To use C# on iOS, use Godot 3 instead." +msgid "Projects written in C# can be exported to iOS as of Godot 4.2, but support is experimental and :ref:`some limitations apply `." msgstr "" #: ../../docs/tutorials/export/exporting_for_ios.rst:22 @@ -197,7 +197,7 @@ msgid "Encryption / Encryption Key" msgstr "" #: ../../docs/tutorials/export/exporting_for_ios.rst:126 -msgid "GODOT_SCRIPT_ENCRYPTION_KEY" +msgid "``GODOT_SCRIPT_ENCRYPTION_KEY``" msgstr "" #: ../../docs/tutorials/export/exporting_for_ios.rst:127 @@ -205,7 +205,7 @@ msgid "Options / Application / Provisioning Profile UUID Debug" msgstr "" #: ../../docs/tutorials/export/exporting_for_ios.rst:128 -msgid "GODOT_IOS_PROVISIONING_PROFILE_UUID_DEBUG" +msgid "``GODOT_IOS_PROVISIONING_PROFILE_UUID_DEBUG``" msgstr "" #: ../../docs/tutorials/export/exporting_for_ios.rst:129 @@ -213,7 +213,7 @@ msgid "Options / Application / Provisioning Profile UUID Release" msgstr "" #: ../../docs/tutorials/export/exporting_for_ios.rst:130 -msgid "GODOT_IOS_PROVISIONING_PROFILE_UUID_RELEASE" +msgid "``GODOT_IOS_PROVISIONING_PROFILE_UUID_RELEASE``" msgstr "" #: ../../docs/:0 diff --git a/sphinx/templates/tutorials/export/exporting_for_linux.pot b/sphinx/templates/tutorials/export/exporting_for_linux.pot index fdfe3faae0..472d4a89ab 100644 --- a/sphinx/templates/tutorials/export/exporting_for_linux.pot +++ b/sphinx/templates/tutorials/export/exporting_for_linux.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+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 "Encryption / Encryption Key" msgstr "" #: ../../docs/tutorials/export/exporting_for_linux.rst:34 -msgid "GODOT_SCRIPT_ENCRYPTION_KEY" +msgid "``GODOT_SCRIPT_ENCRYPTION_KEY``" msgstr "" #: ../../docs/:0 diff --git a/sphinx/templates/tutorials/export/exporting_for_macos.pot b/sphinx/templates/tutorials/export/exporting_for_macos.pot index 1193034260..781f6adb38 100644 --- a/sphinx/templates/tutorials/export/exporting_for_macos.pot +++ b/sphinx/templates/tutorials/export/exporting_for_macos.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -541,7 +541,7 @@ msgid "Encryption / Encryption Key" msgstr "" #: ../../docs/tutorials/export/exporting_for_macos.rst:230 -msgid "GODOT_SCRIPT_ENCRYPTION_KEY" +msgid "``GODOT_SCRIPT_ENCRYPTION_KEY``" msgstr "" #: ../../docs/tutorials/export/exporting_for_macos.rst:231 @@ -549,7 +549,7 @@ msgid "Options / Codesign / Certificate File" msgstr "" #: ../../docs/tutorials/export/exporting_for_macos.rst:232 -msgid "GODOT_MACOS_CODESIGN_CERTIFICATE_FILE" +msgid "``GODOT_MACOS_CODESIGN_CERTIFICATE_FILE``" msgstr "" #: ../../docs/tutorials/export/exporting_for_macos.rst:233 @@ -557,7 +557,7 @@ msgid "Options / Codesign / Certificate Password" msgstr "" #: ../../docs/tutorials/export/exporting_for_macos.rst:234 -msgid "GODOT_MACOS_CODESIGN_CERTIFICATE_PASSWORD" +msgid "``GODOT_MACOS_CODESIGN_CERTIFICATE_PASSWORD``" msgstr "" #: ../../docs/tutorials/export/exporting_for_macos.rst:235 @@ -565,7 +565,7 @@ msgid "Options / Codesign / Provisioning Profile" msgstr "" #: ../../docs/tutorials/export/exporting_for_macos.rst:236 -msgid "GODOT_MACOS_CODESIGN_PROVISIONING_PROFILE" +msgid "``GODOT_MACOS_CODESIGN_PROVISIONING_PROFILE``" msgstr "" #: ../../docs/tutorials/export/exporting_for_macos.rst:237 @@ -573,7 +573,7 @@ msgid "Options / Notarization / API UUID" msgstr "" #: ../../docs/tutorials/export/exporting_for_macos.rst:238 -msgid "GODOT_MACOS_NOTARIZATION_API_UUID" +msgid "``GODOT_MACOS_NOTARIZATION_API_UUID``" msgstr "" #: ../../docs/tutorials/export/exporting_for_macos.rst:239 @@ -581,7 +581,7 @@ msgid "Options / Notarization / API Key" msgstr "" #: ../../docs/tutorials/export/exporting_for_macos.rst:240 -msgid "GODOT_MACOS_NOTARIZATION_API_KEY" +msgid "``GODOT_MACOS_NOTARIZATION_API_KEY``" msgstr "" #: ../../docs/tutorials/export/exporting_for_macos.rst:241 @@ -589,7 +589,7 @@ msgid "Options / Notarization / API Key ID" msgstr "" #: ../../docs/tutorials/export/exporting_for_macos.rst:242 -msgid "GODOT_MACOS_NOTARIZATION_API_KEY_ID" +msgid "``GODOT_MACOS_NOTARIZATION_API_KEY_ID``" msgstr "" #: ../../docs/tutorials/export/exporting_for_macos.rst:243 @@ -597,7 +597,7 @@ msgid "Options / Notarization / Apple ID Name" msgstr "" #: ../../docs/tutorials/export/exporting_for_macos.rst:244 -msgid "GODOT_MACOS_NOTARIZATION_APPLE_ID_NAME" +msgid "``GODOT_MACOS_NOTARIZATION_APPLE_ID_NAME``" msgstr "" #: ../../docs/tutorials/export/exporting_for_macos.rst:245 @@ -605,7 +605,7 @@ msgid "Options / Notarization / Apple ID Password" msgstr "" #: ../../docs/tutorials/export/exporting_for_macos.rst:246 -msgid "GODOT_MACOS_NOTARIZATION_APPLE_ID_PASSWORD" +msgid "``GODOT_MACOS_NOTARIZATION_APPLE_ID_PASSWORD``" msgstr "" #: ../../docs/:0 diff --git a/sphinx/templates/tutorials/export/exporting_for_uwp.pot b/sphinx/templates/tutorials/export/exporting_for_uwp.pot deleted file mode 100644 index 952835272e..0000000000 --- a/sphinx/templates/tutorials/export/exporting_for_uwp.pot +++ /dev/null @@ -1,33 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2014-present Juan Linietsky, Ariel Manzur and the Godot community (CC BY 3.0) -# This file is distributed under the same license as the Godot Engine package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Godot Engine latest\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#: ../../docs/tutorials/export/exporting_for_uwp.rst:4 -msgid "Exporting for Universal Windows Platform" -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_uwp.rst:8 -msgid "Exporting projects to UWP is not implemented in Godot 4. Godot 3 has limited UWP support, but there are many `known issues `__." -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_uwp.rst:12 -msgid "We recommend you use the :ref:`Win32 export ` instead." -msgstr "" - -#: ../../docs/:0 -msgid "Translation status" -msgstr "" diff --git a/sphinx/templates/tutorials/export/exporting_for_web.pot b/sphinx/templates/tutorials/export/exporting_for_web.pot index fe44b6da7e..5248ec91fb 100644 --- a/sphinx/templates/tutorials/export/exporting_for_web.pot +++ b/sphinx/templates/tutorials/export/exporting_for_web.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-18 18:00+0200\n" +"POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -32,329 +32,329 @@ msgstr "" msgid "Projects written in C# using Godot 4 currently cannot be exported to the web. To use C# on web platforms, use Godot 3 instead." msgstr "" -#: ../../docs/tutorials/export/exporting_for_web.rst:23 -msgid "Use the browser-integrated developer console, usually opened with :kbd:`F12`, to view **debug information** like JavaScript, engine, and WebGL errors." +#: ../../docs/tutorials/export/exporting_for_web.rst:25 +msgid "Use the browser-integrated developer console, usually opened with :kbd:`F12` (:kbd:`Cmd + Option + I` on macOS), to view **debug information** like JavaScript, engine, and WebGL errors." msgstr "" -#: ../../docs/tutorials/export/exporting_for_web.rst:29 +#: ../../docs/tutorials/export/exporting_for_web.rst:31 msgid "Godot 4's HTML5 exports currently cannot run on macOS and iOS due to upstream bugs with SharedArrayBuffer and WebGL 2.0. We recommend using :ref:`macOS ` and :ref:`iOS ` native export functionality instead, as it will also result in better performance." msgstr "" -#: ../../docs/tutorials/export/exporting_for_web.rst:34 +#: ../../docs/tutorials/export/exporting_for_web.rst:36 msgid "Godot 3's HTML5 exports are more compatible with various browsers in general, especially when using the GLES2 rendering backend (which only requires WebGL 1.0)." msgstr "" -#: ../../docs/tutorials/export/exporting_for_web.rst:38 -msgid "SharedArrayBuffer requires a :ref:`secure context `. Browsers also require that the web page is served with specific `cross-origin isolation headers `__." -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_web.rst:44 -msgid "If you use Linux, due to `poor Firefox WebGL performance `__, it's recommended to play the exported project using a Chromium-based browser instead of Firefox." -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_web.rst:50 +#: ../../docs/tutorials/export/exporting_for_web.rst:41 msgid "WebGL version" msgstr "" -#: ../../docs/tutorials/export/exporting_for_web.rst:52 +#: ../../docs/tutorials/export/exporting_for_web.rst:43 msgid "Godot 4.0 and later can only target WebGL 2.0 (using the Compatibility rendering method). There is no stable way to run Vulkan applications on the web yet." msgstr "" -#: ../../docs/tutorials/export/exporting_for_web.rst:55 +#: ../../docs/tutorials/export/exporting_for_web.rst:46 msgid "See `Can I use WebGL 2.0 `__ for a list of browser versions supporting WebGL 2.0. Note that Safari has several issues with WebGL 2.0 support that other browsers don't have, so we recommend using a Chromium-based browser or Firefox if possible." msgstr "" -#: ../../docs/tutorials/export/exporting_for_web.rst:63 +#: ../../docs/tutorials/export/exporting_for_web.rst:54 msgid "Export options" msgstr "" -#: ../../docs/tutorials/export/exporting_for_web.rst:65 +#: ../../docs/tutorials/export/exporting_for_web.rst:56 msgid "If a runnable web export template is available, a button appears between the *Stop scene* and *Play edited Scene* buttons in the editor to quickly open the game in the default browser for testing." msgstr "" -#: ../../docs/tutorials/export/exporting_for_web.rst:69 +#: ../../docs/tutorials/export/exporting_for_web.rst:60 msgid "If you plan to use :ref:`VRAM compression ` make sure that **Vram Texture Compression** is enabled for the targeted platforms (enabling both **For Desktop** and **For Mobile** will result in a bigger, but more compatible export)." msgstr "" -#: ../../docs/tutorials/export/exporting_for_web.rst:74 +#: ../../docs/tutorials/export/exporting_for_web.rst:65 msgid "If a path to a **Custom HTML shell** file is given, it will be used instead of the default HTML page. See :ref:`doc_customizing_html5_shell`." msgstr "" -#: ../../docs/tutorials/export/exporting_for_web.rst:77 +#: ../../docs/tutorials/export/exporting_for_web.rst:68 msgid "**Head Include** is appended into the ```` element of the generated HTML page. This allows to, for example, load webfonts and third-party JavaScript APIs, include CSS, or run JavaScript code." msgstr "" -#: ../../docs/tutorials/export/exporting_for_web.rst:81 +#: ../../docs/tutorials/export/exporting_for_web.rst:72 msgid "Each project must generate their own HTML file. On export, several text placeholders are replaced in the generated HTML file specifically for the given export options. Any direct modifications to that HTML file will be lost in future exports. To customize the generated file, use the **Custom HTML shell** option." msgstr "" -#: ../../docs/tutorials/export/exporting_for_web.rst:89 +#: ../../docs/tutorials/export/exporting_for_web.rst:80 msgid "Limitations" msgstr "" -#: ../../docs/tutorials/export/exporting_for_web.rst:91 +#: ../../docs/tutorials/export/exporting_for_web.rst:82 msgid "For security and privacy reasons, many features that work effortlessly on native platforms are more complicated on the web platform. Following is a list of limitations you should be aware of when porting a Godot game to the web." msgstr "" -#: ../../docs/tutorials/export/exporting_for_web.rst:97 +#: ../../docs/tutorials/export/exporting_for_web.rst:88 msgid "Browser vendors are making more and more functionalities only available in `secure contexts `_, this means that such features are only be available if the web page is served via a secure HTTPS connection (localhost is usually exempt from such requirement)." msgstr "" -#: ../../docs/tutorials/export/exporting_for_web.rst:103 -msgid "Check the `list of open HTML5 issues on GitHub `__ to see if the functionality you're interested in has an issue yet. If not, open one to communicate your interest." -msgstr "" - -#: ../../docs/tutorials/export/exporting_for_web.rst:109 +#: ../../docs/tutorials/export/exporting_for_web.rst:95 msgid "Using cookies for data persistence" msgstr "" -#: ../../docs/tutorials/export/exporting_for_web.rst:111 +#: ../../docs/tutorials/export/exporting_for_web.rst:97 msgid "Users must **allow cookies** (specifically IndexedDB) if persistence of the ``user://`` file system is desired. When playing a game presented in an ``iframe``, **third-party** cookies must also be enabled. Incognito/private browsing mode also prevents persistence." msgstr "" -#: ../../docs/tutorials/export/exporting_for_web.rst:116 +#: ../../docs/tutorials/export/exporting_for_web.rst:102 msgid "The method ``OS.is_userfs_persistent()`` can be used to check if the ``user://`` file system is persistent, but can give false positives in some cases." msgstr "" -#: ../../docs/tutorials/export/exporting_for_web.rst:121 +#: ../../docs/tutorials/export/exporting_for_web.rst:107 msgid "Background processing" msgstr "" -#: ../../docs/tutorials/export/exporting_for_web.rst:123 +#: ../../docs/tutorials/export/exporting_for_web.rst:109 msgid "The project will be paused by the browser when the tab is no longer the active tab in the user's browser. This means functions such as ``_process()`` and ``_physics_process()`` will no longer run until the tab is made active again by the user (by switching back to the tab). This can cause networked games to disconnect if the user switches tabs for a long duration." msgstr "" -#: ../../docs/tutorials/export/exporting_for_web.rst:129 +#: ../../docs/tutorials/export/exporting_for_web.rst:115 msgid "This limitation does not apply to unfocused browser *windows*. Therefore, on the user's side, this can be worked around by running the project in a separate *window* instead of a separate tab." msgstr "" -#: ../../docs/tutorials/export/exporting_for_web.rst:134 +#: ../../docs/tutorials/export/exporting_for_web.rst:120 msgid "Full screen and mouse capture" msgstr "" -#: ../../docs/tutorials/export/exporting_for_web.rst:136 +#: ../../docs/tutorials/export/exporting_for_web.rst:122 msgid "Browsers do not allow arbitrarily **entering full screen**. The same goes for **capturing the cursor**. Instead, these actions have to occur as a response to a JavaScript input event. In Godot, this means entering full screen from within a pressed input event callback such as ``_input`` or ``_unhandled_input``. Querying the :ref:`class_Input` singleton is not sufficient, the relevant input event must currently be active." msgstr "" -#: ../../docs/tutorials/export/exporting_for_web.rst:143 +#: ../../docs/tutorials/export/exporting_for_web.rst:129 msgid "For the same reason, the full screen project setting doesn't work unless the engine is started from within a valid input event handler. This requires :ref:`customization of the HTML page `." msgstr "" -#: ../../docs/tutorials/export/exporting_for_web.rst:148 +#: ../../docs/tutorials/export/exporting_for_web.rst:134 msgid "Audio" msgstr "" -#: ../../docs/tutorials/export/exporting_for_web.rst:150 +#: ../../docs/tutorials/export/exporting_for_web.rst:136 msgid "Chrome restricts how websites may play audio. It may be necessary for the player to click or tap or press a key to enable audio." msgstr "" -#: ../../docs/tutorials/export/exporting_for_web.rst:153 +#: ../../docs/tutorials/export/exporting_for_web.rst:139 msgid "Google offers additional information about their `Web Audio autoplay policies `__." msgstr "" -#: ../../docs/tutorials/export/exporting_for_web.rst:156 +#: ../../docs/tutorials/export/exporting_for_web.rst:142 msgid "Access to microphone requires a :ref:`secure context `." msgstr "" -#: ../../docs/tutorials/export/exporting_for_web.rst:160 +#: ../../docs/tutorials/export/exporting_for_web.rst:146 msgid "Networking" msgstr "" -#: ../../docs/tutorials/export/exporting_for_web.rst:162 +#: ../../docs/tutorials/export/exporting_for_web.rst:148 msgid "Low level networking is not implemented due to lacking support in browsers." msgstr "" -#: ../../docs/tutorials/export/exporting_for_web.rst:164 +#: ../../docs/tutorials/export/exporting_for_web.rst:150 msgid "Currently, only :ref:`HTTP client `, :ref:`HTTP requests `, :ref:`WebSocket (client) ` and :ref:`WebRTC ` are supported." msgstr "" -#: ../../docs/tutorials/export/exporting_for_web.rst:169 +#: ../../docs/tutorials/export/exporting_for_web.rst:155 msgid "The HTTP classes also have several restrictions on the HTML5 platform:" msgstr "" -#: ../../docs/tutorials/export/exporting_for_web.rst:171 +#: ../../docs/tutorials/export/exporting_for_web.rst:157 msgid "Accessing or changing the ``StreamPeer`` is not possible" msgstr "" -#: ../../docs/tutorials/export/exporting_for_web.rst:172 +#: ../../docs/tutorials/export/exporting_for_web.rst:158 msgid "Threaded/Blocking mode is not available" msgstr "" -#: ../../docs/tutorials/export/exporting_for_web.rst:173 +#: ../../docs/tutorials/export/exporting_for_web.rst:159 msgid "Cannot progress more than once per frame, so polling in a loop will freeze" msgstr "" -#: ../../docs/tutorials/export/exporting_for_web.rst:174 +#: ../../docs/tutorials/export/exporting_for_web.rst:160 msgid "No chunked responses" msgstr "" -#: ../../docs/tutorials/export/exporting_for_web.rst:175 +#: ../../docs/tutorials/export/exporting_for_web.rst:161 msgid "Host verification cannot be disabled" msgstr "" -#: ../../docs/tutorials/export/exporting_for_web.rst:176 +#: ../../docs/tutorials/export/exporting_for_web.rst:162 msgid "Subject to `same-origin policy `__" msgstr "" -#: ../../docs/tutorials/export/exporting_for_web.rst:179 +#: ../../docs/tutorials/export/exporting_for_web.rst:165 msgid "Clipboard" msgstr "" -#: ../../docs/tutorials/export/exporting_for_web.rst:181 +#: ../../docs/tutorials/export/exporting_for_web.rst:167 msgid "Clipboard synchronization between engine and the operating system requires a browser supporting the `Clipboard API `__, additionally, due to the API asynchronous nature might not be reliable when accessed from GDScript." msgstr "" -#: ../../docs/tutorials/export/exporting_for_web.rst:186 -#: ../../docs/tutorials/export/exporting_for_web.rst:197 +#: ../../docs/tutorials/export/exporting_for_web.rst:172 +#: ../../docs/tutorials/export/exporting_for_web.rst:183 msgid "Requires a :ref:`secure context `." msgstr "" -#: ../../docs/tutorials/export/exporting_for_web.rst:189 +#: ../../docs/tutorials/export/exporting_for_web.rst:175 msgid "Gamepads" msgstr "" -#: ../../docs/tutorials/export/exporting_for_web.rst:191 +#: ../../docs/tutorials/export/exporting_for_web.rst:177 msgid "Gamepads will not be detected until one of their button is pressed. Gamepads might have the wrong mapping depending on the browser/OS/gamepad combination, sadly the `Gamepad API `__ does not provide a reliable way to detect the gamepad information necessary to remap them based on model/vendor/OS due to privacy considerations." msgstr "" -#: ../../docs/tutorials/export/exporting_for_web.rst:200 +#: ../../docs/tutorials/export/exporting_for_web.rst:186 msgid "Boot splash is not displayed" msgstr "" -#: ../../docs/tutorials/export/exporting_for_web.rst:202 +#: ../../docs/tutorials/export/exporting_for_web.rst:188 msgid "The default HTML page does not display the boot splash while loading. However, the image is exported as a PNG file, so :ref:`custom HTML pages ` can display it." msgstr "" -#: ../../docs/tutorials/export/exporting_for_web.rst:207 +#: ../../docs/tutorials/export/exporting_for_web.rst:193 msgid "Serving the files" msgstr "" -#: ../../docs/tutorials/export/exporting_for_web.rst:209 +#: ../../docs/tutorials/export/exporting_for_web.rst:195 msgid "Exporting for the web generates several files to be served from a web server, including a default HTML page for presentation. A custom HTML file can be used, see :ref:`doc_customizing_html5_shell`." msgstr "" -#: ../../docs/tutorials/export/exporting_for_web.rst:213 -msgid "The generated ``.html`` file can be used as ``DirectoryIndex`` in Apache servers and can be renamed to e.g. ``index.html`` at any time, its name is never depended on by default." +#: ../../docs/tutorials/export/exporting_for_web.rst:201 +msgid "To ensure low audio latency and the ability to use :ref:`class_Thread` in web exports, Godot 4 web exports always use `SharedArrayBuffer `__. This requires a :ref:`secure context `, while also requiring the following CORS headers to be set when serving the files:" msgstr "" -#: ../../docs/tutorials/export/exporting_for_web.rst:217 -msgid "The HTML page draws the game at maximum size within the browser window. This way it can be inserted into an ``