From d15e4721529f4c33a1083afd033917da91180736 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Verschelde?= Date: Mon, 27 Apr 2020 11:34:54 +0200 Subject: [PATCH] Sync Sphinx and Weblate templates with current docs --- docs | 2 +- .../_static/css/rtd_sphinx_search.css | 312 + .../_static/css/rtd_sphinx_search.min.css | 1 + .../templates/_static/js/rtd_sphinx_search.js | 803 + .../_static/js/rtd_sphinx_search.min.js | 1 + sphinx/templates/about/docs_changelog.pot | 2 +- sphinx/templates/about/faq.pot | 214 +- sphinx/templates/about/index.pot | 2 +- sphinx/templates/about/introduction.pot | 4 +- sphinx/templates/community/channels.pot | 4 +- ...best_practices_for_engine_contributors.pot | 12 +- .../contributing/bisecting_regressions.pot | 118 + .../contributing/bug_triage_guidelines.pot | 4 +- .../contributing/code_style_guidelines.pot | 12 +- .../contributing/docs_writing_guidelines.pot | 6 +- .../contributing/documentation_guidelines.pot | 78 +- .../community/contributing/index.pot | 2 +- .../community/contributing/pr_workflow.pot | 6 +- .../updating_the_class_reference.pot | 244 +- .../contributing/ways_to_contribute.pot | 4 +- sphinx/templates/community/tutorials.pot | 52 +- .../compiling/compiling_for_android.pot | 152 +- .../compiling/compiling_for_ios.pot | 4 +- .../compiling/compiling_for_osx.pot | 28 +- .../compiling/compiling_for_uwp.pot | 14 +- .../compiling/compiling_for_web.pot | 40 +- .../compiling/compiling_for_windows.pot | 86 +- .../compiling/compiling_for_x11.pot | 120 +- .../compiling/compiling_with_mono.pot | 208 +- .../compiling_with_script_encryption_key.pot | 2 +- .../cross-compiling_for_ios_on_linux.pot | 2 +- .../development/compiling/getting_source.pot | 32 +- .../templates/development/compiling/index.pot | 2 +- .../introduction_to_the_buildsystem.pot | 54 +- .../compiling/optimizing_for_size.pot | 4 +- .../cpp/binding_to_external_libraries.pot | 2 +- .../development/cpp/configuring_an_ide.pot | 164 +- .../templates/development/cpp/core_types.pot | 2 +- .../development/cpp/custom_audiostreams.pot | 6 +- .../development/cpp/custom_godot_servers.pot | 2 +- .../development/cpp/custom_modules_in_cpp.pot | 114 +- .../cpp/custom_resource_format_loaders.pot | 2 +- sphinx/templates/development/cpp/index.pot | 2 +- .../cpp/inheritance_class_tree.pot | 2 +- .../cpp/introduction_to_godot_development.pot | 2 +- .../development/cpp/object_class.pot | 60 +- .../development/cpp/variant_class.pot | 2 +- .../development/editor/creating_icons.pot | 100 +- sphinx/templates/development/editor/index.pot | 2 +- .../development/editor/introduction.pot | 2 +- .../development/file_formats/index.pot | 2 +- .../development/file_formats/tscn.pot | 10 +- .../editor/command_line_tutorial.pot | 2 +- .../editor/default_key_mapping.pot | 2875 ++++ .../editor/external_editor.pot | 2 +- .../getting_started/editor/index.pot | 2 +- .../getting_started/editor/unity_to_godot.pot | 138 +- .../scripting/c_sharp/c_sharp_basics.pot | 168 +- .../scripting/c_sharp/c_sharp_differences.pot | 2 +- .../scripting/c_sharp/c_sharp_features.pot | 2 +- .../scripting/c_sharp/c_sharp_style_guide.pot | 38 +- .../scripting/c_sharp/index.pot | 2 +- .../scripting/creating_script_templates.pot | 187 + .../scripting/cross_language_scripting.pot | 6 +- .../scripting/gdscript/gdscript_advanced.pot | 2 +- .../scripting/gdscript/gdscript_basics.pot | 784 +- .../scripting/gdscript/gdscript_exports.pot | 10 +- .../gdscript/gdscript_format_string.pot | 2 +- .../gdscript/gdscript_styleguide.pot | 52 +- .../scripting/gdscript/index.pot | 2 +- .../scripting/gdscript/static_typing.pot | 52 +- .../getting_started/scripting/index.pot | 2 +- .../custom_visualscript_nodes.pot | 78 + .../visual_script/getting_started.pot | 2 +- .../scripting/visual_script/index.pot | 2 +- .../visual_script/nodes_purposes.pot | 2 +- .../what_is_visual_scripting.pot | 2 +- .../step_by_step/animations.pot | 2 +- .../step_by_step/exporting.pot | 4 +- .../step_by_step/filesystem.pot | 2 +- .../step_by_step/godot_design_philosophy.pot | 32 +- .../getting_started/step_by_step/index.pot | 2 +- .../step_by_step/instancing.pot | 4 +- .../step_by_step/instancing_continued.pot | 2 +- .../intro_to_the_editor_interface.pot | 58 +- .../step_by_step/resources.pot | 2 +- .../step_by_step/scene_tree.pot | 2 +- .../step_by_step/scenes_and_nodes.pot | 2 +- .../step_by_step/scripting.pot | 4 +- .../step_by_step/scripting_continued.pot | 6 +- .../getting_started/step_by_step/signals.pot | 76 +- .../step_by_step/singletons_autoload.pot | 2 +- .../step_by_step/splash_screen.pot | 2 +- .../step_by_step/ui_code_a_life_bar.pot | 6 +- .../step_by_step/ui_game_user_interface.pot | 10 +- .../ui_introduction_to_the_ui_system.pot | 2 +- .../step_by_step/ui_main_menu.pot | 10 +- .../step_by_step/your_first_game.pot | 278 +- .../assets/escn_exporter/animation.pot | 4 +- .../workflow/assets/escn_exporter/index.pot | 2 +- .../workflow/assets/escn_exporter/lights.pot | 2 +- .../assets/escn_exporter/material.pot | 2 +- .../workflow/assets/escn_exporter/mesh.pot | 2 +- .../workflow/assets/escn_exporter/physics.pot | 4 +- .../assets/escn_exporter/skeleton.pot | 2 +- .../workflow/assets/import_process.pot | 2 +- .../assets/importing_audio_samples.pot | 2 +- .../workflow/assets/importing_images.pot | 2 +- .../workflow/assets/importing_scenes.pot | 208 +- .../assets/importing_translations.pot | 2 +- .../getting_started/workflow/assets/index.pot | 2 +- .../autoloads_versus_internal_nodes.pot | 2 +- .../best_practices/data_preferences.pot | 6 +- .../best_practices/godot_interfaces.pot | 2 +- .../best_practices/godot_notifications.pot | 2 +- .../workflow/best_practices/index.pot | 2 +- .../introduction_best_practices.pot | 2 +- .../best_practices/logic_preferences.pot | 2 +- .../best_practices/node_alternatives.pot | 2 +- .../best_practices/scene_organization.pot | 2 +- .../best_practices/scenes_versus_scripts.pot | 2 +- .../best_practices/what_are_godot_classes.pot | 2 +- .../workflow/export/android_custom_build.pot | 2 +- .../changing_application_icon_for_windows.pot | 2 +- .../workflow/export/exporting_for_android.pot | 10 +- .../workflow/export/exporting_for_ios.pot | 4 +- .../workflow/export/exporting_for_pc.pot | 2 +- .../workflow/export/exporting_for_uwp.pot | 2 +- .../workflow/export/exporting_for_web.pot | 132 +- .../workflow/export/exporting_pcks.pot | 4 +- .../workflow/export/exporting_projects.pot | 2 +- .../workflow/export/feature_tags.pot | 2 +- .../getting_started/workflow/export/index.pot | 2 +- .../workflow/export/one-click_deploy.pot | 2 +- .../getting_started/workflow/index.pot | 2 +- .../workflow/project_setup/index.pot | 2 +- .../project_setup/project_organization.pot | 2 +- sphinx/templates/index.pot | 40 +- .../tutorials/2d/2d_lights_and_shadows.pot | 4 +- sphinx/templates/tutorials/2d/2d_meshes.pot | 6 +- 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 | 4 +- sphinx/templates/tutorials/2d/index.pot | 2 +- .../tutorials/2d/particle_systems_2d.pot | 2 +- .../templates/tutorials/2d/using_tilemaps.pot | 4 +- .../3d/3d_performance_and_limitations.pot | 2 +- .../tutorials/3d/baked_lightmaps.pot | 2 +- sphinx/templates/tutorials/3d/csg_tools.pot | 210 +- .../3d/environment_and_post_processing.pot | 184 +- .../tutorials/3d/fps_tutorial/index.pot | 2 +- .../tutorials/3d/fps_tutorial/part_five.pot | 2 +- .../tutorials/3d/fps_tutorial/part_four.pot | 8 +- .../tutorials/3d/fps_tutorial/part_one.pot | 6 +- .../tutorials/3d/fps_tutorial/part_six.pot | 6 +- .../tutorials/3d/fps_tutorial/part_three.pot | 2 +- .../tutorials/3d/fps_tutorial/part_two.pot | 8 +- sphinx/templates/tutorials/3d/gi_probes.pot | 2 +- .../tutorials/3d/high_dynamic_range.pot | 6 +- sphinx/templates/tutorials/3d/index.pot | 2 +- .../tutorials/3d/introduction_to_3d.pot | 4 +- .../tutorials/3d/lights_and_shadows.pot | 2 +- .../tutorials/3d/reflection_probes.pot | 6 +- .../tutorials/3d/spatial_material.pot | 60 +- .../templates/tutorials/3d/using_gridmaps.pot | 2 +- .../3d/using_multi_mesh_instance.pot | 2 +- .../tutorials/3d/using_transforms.pot | 12 +- .../animating_thousands_of_fish.pot | 12 +- .../controlling_thousands_of_fish.pot | 8 +- .../tutorials/3d/vertex_animation/index.pot | 2 +- .../tutorials/animation/2d_skeletons.pot | 2 +- .../tutorials/animation/animation_tree.pot | 6 +- .../tutorials/animation/cutout_animation.pot | 4 +- .../templates/tutorials/animation/index.pot | 2 +- .../tutorials/animation/introduction_2d.pot | 132 +- sphinx/templates/tutorials/assetlib/index.pot | 2 +- .../assetlib/uploading_to_assetlib.pot | 2 +- .../tutorials/assetlib/using_assetlib.pot | 2 +- .../tutorials/assetlib/what_is_assetlib.pot | 2 +- .../templates/tutorials/audio/audio_buses.pot | 2 +- .../tutorials/audio/audio_streams.pot | 2 +- sphinx/templates/tutorials/audio/index.pot | 2 +- .../audio/recording_with_microphone.pot | 2 +- .../tutorials/audio/sync_with_audio.pot | 2 +- sphinx/templates/tutorials/content/index.pot | 2 +- .../tutorials/content/making_trees.pot | 4 +- .../content/procedural_geometry/arraymesh.pot | 2 +- .../procedural_geometry/immediategeometry.pot | 4 +- .../content/procedural_geometry/index.pot | 2 +- .../procedural_geometry/meshdatatool.pot | 2 +- .../procedural_geometry/surfacetool.pot | 2 +- sphinx/templates/tutorials/debug/index.pot | 2 +- .../debug/overview_of_debugging_tools.pot | 2 +- .../tutorials/gui/bbcode_in_richtextlabel.pot | 4 +- .../tutorials/gui/custom_gui_controls.pot | 4 +- .../tutorials/gui/gui_containers.pot | 2 +- .../templates/tutorials/gui/gui_skinning.pot | 4 +- sphinx/templates/tutorials/gui/index.pot | 2 +- .../tutorials/gui/size_and_anchors.pot | 2 +- sphinx/templates/tutorials/i18n/index.pot | 2 +- .../i18n/internationalizing_games.pot | 2 +- sphinx/templates/tutorials/i18n/locales.pot | 2 +- .../i18n/localization_using_gettext.pot | 2 +- .../tutorials/inputs/custom_mouse_cursor.pot | 2 +- sphinx/templates/tutorials/inputs/index.pot | 2 +- .../tutorials/inputs/input_examples.pot | 2 +- .../templates/tutorials/inputs/inputevent.pot | 10 +- .../inputs/mouse_and_input_coordinates.pot | 2 +- .../tutorials/io/background_loading.pot | 2 +- sphinx/templates/tutorials/io/data_paths.pot | 8 +- .../tutorials/io/encrypting_save_games.pot | 2 +- sphinx/templates/tutorials/io/index.pot | 2 +- .../templates/tutorials/io/saving_games.pot | 2 +- .../legal/complying_with_licenses.pot | 2 +- sphinx/templates/tutorials/legal/index.pot | 2 +- .../tutorials/math/beziers_and_curves.pot | 2 +- sphinx/templates/tutorials/math/index.pot | 2 +- .../tutorials/math/interpolation.pot | 4 +- .../math/matrices_and_transforms.pot | 10 +- .../templates/tutorials/math/vector_math.pot | 76 +- .../tutorials/math/vectors_advanced.pot | 56 +- .../misc/binary_serialization_api.pot | 1048 +- .../tutorials/misc/change_scenes_manually.pot | 2 +- .../misc/gles2_gles3_differences.pot | 2 +- .../tutorials/misc/handling_quit_requests.pot | 2 +- sphinx/templates/tutorials/misc/index.pot | 2 +- .../misc/instancing_with_signals.pot | 34 +- .../tutorials/misc/jitter_stutter.pot | 4 +- .../tutorials/misc/pausing_games.pot | 4 +- .../misc/running_code_in_the_editor.pot | 2 +- .../tutorials/misc/state_design_pattern.pot | 2 +- .../networking/high_level_multiplayer.pot | 8 +- .../networking/http_client_class.pot | 2 +- .../networking/http_request_class.pot | 2 +- .../templates/tutorials/networking/index.pot | 2 +- .../tutorials/networking/ssl_certificates.pot | 2 +- .../templates/tutorials/networking/webrtc.pot | 2 +- .../tutorials/networking/websocket.pot | 4 +- .../tutorials/optimization/index.pot | 2 +- .../optimization/using_multimesh.pot | 4 +- .../tutorials/optimization/using_servers.pot | 4 +- sphinx/templates/tutorials/physics/index.pot | 2 +- .../physics/kinematic_character_2d.pot | 2 +- .../physics/physics_introduction.pot | 2 +- .../tutorials/physics/ragdoll_system.pot | 2 +- .../tutorials/physics/ray-casting.pot | 2 +- .../tutorials/physics/rigid_body.pot | 2 +- .../templates/tutorials/physics/soft_body.pot | 2 +- .../tutorials/physics/using_area_2d.pot | 2 +- .../physics/using_kinematic_body_2d.pot | 86 +- .../platform/android_in_app_purchases.pot | 62 +- .../templates/tutorials/platform/consoles.pot | 2 +- .../platform/customizing_html5_shell.pot | 416 +- .../platform/html5_shell_classref.pot | 401 + sphinx/templates/tutorials/platform/index.pot | 2 +- .../tutorials/platform/platform_html5.pot | 22 + .../tutorials/platform/services_for_ios.pot | 2 +- .../plugins/android/android_plugin.pot | 34 +- .../tutorials/plugins/android/index.pot | 2 +- .../plugins/editor/import_plugins.pot | 2 +- .../tutorials/plugins/editor/index.pot | 2 +- .../plugins/editor/inspector_plugins.pot | 2 +- .../plugins/editor/installing_plugins.pot | 2 +- .../editor/making_main_screen_plugins.pot | 132 +- .../plugins/editor/making_plugins.pot | 4 +- .../plugins/editor/spatial_gizmos.pot | 4 +- .../plugins/editor/visual_shader_plugins.pot | 2 +- .../plugins/gdnative/gdnative-c-example.pot | 6 +- .../plugins/gdnative/gdnative-cpp-example.pot | 2 +- .../tutorials/plugins/gdnative/index.pot | 2 +- sphinx/templates/tutorials/plugins/index.pot | 2 +- .../shading/advanced_postprocessing.pot | 4 +- .../godot_shader_language_style_guide.pot | 248 + sphinx/templates/tutorials/shading/index.pot | 2 +- .../intro_to_shaders_water_workshop.pot | 2 +- .../migrating_to_godot_shader_language.pot | 2 +- .../shading/screen-reading_shaders.pot | 2 +- .../tutorials/shading/shader_materials.pot | 2 +- .../shading_reference/canvas_item_shader.pot | 328 +- .../shading/shading_reference/index.pot | 2 +- .../shading_reference/particle_shader.pot | 162 +- .../shading/shading_reference/shaders.pot | 2 +- .../shading_reference/shading_language.pot | 990 +- .../shading_reference/spatial_shader.pot | 459 +- .../tutorials/shading/visual_shaders.pot | 2 +- .../shading/your_first_shader/index.pot | 2 +- .../your_first_shader/what_are_shaders.pot | 8 +- .../your_first_canvasitem_shader.pot | 2 +- .../your_first_spatial_shader.pot | 8 +- .../your_second_spatial_shader.pot | 72 +- sphinx/templates/tutorials/threads/index.pot | 2 +- .../tutorials/threads/thread_safe_apis.pot | 2 +- .../threads/using_multiple_threads.pot | 2 +- .../viewports/custom_postprocessing.pot | 2 +- .../templates/tutorials/viewports/index.pot | 2 +- .../viewports/multiple_resolutions.pot | 2 +- .../viewports/using_viewport_as_texture.pot | 14 +- .../tutorials/viewports/viewports.pot | 6 +- sphinx/templates/tutorials/vr/index.pot | 2 +- sphinx/templates/tutorials/vr/vr_primer.pot | 4 +- .../vr/vr_starter_tutorial/index.pot | 2 +- .../vr_starter_tutorial_part_one.pot | 231 +- .../vr_starter_tutorial_part_two.pot | 8 +- templates_list.txt | 7 + weblate/docs/docs.pot | 13160 ++++++++++------ 307 files changed, 18400 insertions(+), 9173 deletions(-) create mode 100644 sphinx/templates/_static/css/rtd_sphinx_search.css create mode 100644 sphinx/templates/_static/css/rtd_sphinx_search.min.css create mode 100644 sphinx/templates/_static/js/rtd_sphinx_search.js create mode 100644 sphinx/templates/_static/js/rtd_sphinx_search.min.js create mode 100644 sphinx/templates/community/contributing/bisecting_regressions.pot create mode 100644 sphinx/templates/getting_started/editor/default_key_mapping.pot create mode 100644 sphinx/templates/getting_started/scripting/creating_script_templates.pot create mode 100644 sphinx/templates/getting_started/scripting/visual_script/custom_visualscript_nodes.pot create mode 100644 sphinx/templates/tutorials/platform/html5_shell_classref.pot create mode 100644 sphinx/templates/tutorials/platform/platform_html5.pot create mode 100644 sphinx/templates/tutorials/shading/godot_shader_language_style_guide.pot diff --git a/docs b/docs index 19329329de..0a9fc75dc0 160000 --- a/docs +++ b/docs @@ -1 +1 @@ -Subproject commit 19329329de31baeaac864e699812bab3d9d2c55e +Subproject commit 0a9fc75dc0a35fb85ad53c722009c0506f58b666 diff --git a/sphinx/templates/_static/css/rtd_sphinx_search.css b/sphinx/templates/_static/css/rtd_sphinx_search.css new file mode 100644 index 0000000000..067ed9a1d8 --- /dev/null +++ b/sphinx/templates/_static/css/rtd_sphinx_search.css @@ -0,0 +1,312 @@ +.search__outer__wrapper { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: 700; +} + +/* Backdrop */ + +.search__backdrop { + /* Positioning */ + position: fixed; + top: 0; + left: 0; + z-index: 500; + + /* Display and box model */ + width: 100%; + height: 100%; + display: none; + + /* Other */ + background-color: rgba(0, 0, 0, 0.502); +} + +.search__outer { + /* Positioning */ + margin: auto; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + z-index: 100000; + + /* Display and box model */ + height: 80%; + width: 80%; + max-height: 1000px; + max-width: 1500px; + padding: 10px; + overflow-y: scroll; + + /* Other */ + border: 1px solid #e0e0e0; + line-height: 1.875; + background-color: #fcfcfc; + box-shadow: 1px 3px 4px rgba(0, 0, 0, 0.09); + text-align: left; +} + +/* Custom scrollbar */ + +.search__outer::-webkit-scrollbar-track { + border-radius: 10px; + background-color: #fcfcfc; +} + +.search__outer::-webkit-scrollbar { + width: 7px; + height: 7px; + background-color: #fcfcfc; +} + +.search__outer::-webkit-scrollbar-thumb { + border-radius: 10px; + background-color: #8f8f8f; +} + +/* Cross icon on top-right corner */ + +.search__cross__img { + width: 15px; + height: 15px; + margin: 12px; +} + +.search__cross { + position: absolute; + top: 0; + right: 0; +} + +.search__cross:hover { + cursor: pointer; +} + +/* Input field on search modal */ + +.search__outer__input { + /* Display and box model */ + width: 90%; + height: 30px; + font-size: 19px; + outline: none; + box-sizing: border-box; + + /* Other */ + background-color: #fcfcfc; + border: none; + border-bottom: 1px solid #757575; + + /* search icon */ + background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pg0KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE5LjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPg0KPHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJDYXBhXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgNDUxIDQ1MSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNDUxIDQ1MTsiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGc+DQoJPHBhdGggZD0iTTQ0Ny4wNSw0MjhsLTEwOS42LTEwOS42YzI5LjQtMzMuOCw0Ny4yLTc3LjksNDcuMi0xMjYuMUMzODQuNjUsODYuMiwyOTguMzUsMCwxOTIuMzUsMEM4Ni4yNSwwLDAuMDUsODYuMywwLjA1LDE5Mi4zDQoJCXM4Ni4zLDE5Mi4zLDE5Mi4zLDE5Mi4zYzQ4LjIsMCw5Mi4zLTE3LjgsMTI2LjEtNDcuMkw0MjguMDUsNDQ3YzIuNiwyLjYsNi4xLDQsOS41LDRzNi45LTEuMyw5LjUtNA0KCQlDNDUyLjI1LDQ0MS44LDQ1Mi4yNSw0MzMuMiw0NDcuMDUsNDI4eiBNMjYuOTUsMTkyLjNjMC05MS4yLDc0LjItMTY1LjMsMTY1LjMtMTY1LjNjOTEuMiwwLDE2NS4zLDc0LjIsMTY1LjMsMTY1LjMNCgkJcy03NC4xLDE2NS40LTE2NS4zLDE2NS40QzEwMS4xNSwzNTcuNywyNi45NSwyODMuNSwyNi45NSwxOTIuM3oiLz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjwvc3ZnPg0K"); + background-repeat: no-repeat; + background-position: left; + background-size: 15px 15px; + padding-left: 25px; +} + +.search__outer__input:focus { + outline: none; +} + +/* For material UI style underline on input field */ + +.search__outer .bar { + position: relative; + display: block; + width: 90%; + margin-bottom: 15px; +} + +.search__outer .bar:before, +.search__outer .bar:after { + content: ""; + height: 2px; + width: 0; + bottom: 1px; + position: absolute; + background: #5264ae; + transition: 0.2s ease all; +} + +.search__outer .bar:before { + left: 50%; +} + +.search__outer .bar:after { + right: 50%; +} + +.search__outer__input:focus ~ .bar:before, +.search__outer__input:focus ~ .bar:after { + width: 50%; +} + +/* Search result */ + +.search__result__single { + margin-top: 10px; + padding: 0px 10px; + border-bottom: 1px solid #e6e6e6; +} + +.search__result__box .active { + background-color: rgb(245, 245, 245); +} + +.outer_div_page_results { + margin: 5px 0px; + overflow: auto; + padding: 3px 5px; +} + +.search__result__single a { + text-decoration: none; + cursor: pointer; +} + +/* Title of each search result */ + +.search__result__title { + /* Display and box model */ + display: inline-block; + font-weight: 500; + margin-bottom: 15px; + margin-top: 0; + font-size: 15px; + + /* Other */ + color: #6ea0ec; + border-bottom: 1px solid #6ea0ec; +} + +.search__result__subheading { + color: black; + font-weight: 700; + float: left; + width: 20%; + font-size: 15px; + margin-right: 10px; + word-break: break-all; + overflow-x: hidden; +} + +.search__result__content { + margin: 0; + text-decoration: none; + color: black; + font-size: 15px; + display: block; + margin-bottom: 5px; + margin-bottom: 0; + line-height: inherit; + float: right; + width: calc(80% - 15px); + text-align: left; +} + +/* Highlighting of matched results */ + +.search__outer span { + font-style: normal; +} + +.search__outer .search__result__title span { + background-color: #e5f6ff; + padding-bottom: 3px; + border-bottom-color: black; +} + +.search__outer .search__result__content span { + background-color: #e5f6ff; + border-bottom: 1px solid black; +} + +.search__result__subheading span { + border-bottom: 1px solid black; +} + +.outer_div_page_results:hover { + background-color: rgb(245, 245, 245); +} + +.br-for-hits { + display: block; + content: ""; + margin-top: 10px; +} + +.rtd_ui_search_subtitle { + all: unset; + color: inherit; + font-size: 85%; +} + +.rtd__search__credits { + margin: auto; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: calc(-80% - 20px); + width: 80%; + max-width: 1500px; + height: 30px; + overflow: hidden; + background: #eee; + z-index: 100000; + border: 1px solid #eee; + padding: 5px 10px; + text-align: center; + color: black; +} + +.rtd__search__credits a { + color: black; + text-decoration: underline; +} + +.search__domain_role_name { + font-size: 80%; + letter-spacing: 1px; +} + +@media (max-width: 670px) { + .rtd__search__credits { + height: 50px; + bottom: calc(-80% - 40px); + overflow: hidden; + } +} + +@media (min-height: 1250px) { + .rtd__search__credits { + bottom: calc(-1000px - 30px); + } +} + +@media (max-width: 630px) { + .search__result__subheading { + float: none; + width: 90%; + } + + .search__result__content { + float: none; + width: 90%; + } +} + +@keyframes fade-in { + from { + opacity: 0; + } + to { + opacity: 1; + } +} diff --git a/sphinx/templates/_static/css/rtd_sphinx_search.min.css b/sphinx/templates/_static/css/rtd_sphinx_search.min.css new file mode 100644 index 0000000000..59f9798ac9 --- /dev/null +++ b/sphinx/templates/_static/css/rtd_sphinx_search.min.css @@ -0,0 +1 @@ +@-webkit-keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.search__backdrop,.search__outer__wrapper{position:fixed;top:0;left:0;width:100%;height:100%;z-index:700}.search__backdrop{z-index:500;display:none;background-color:rgba(0,0,0,.502)}.search__outer{margin:auto;position:absolute;top:0;left:0;right:0;bottom:0;z-index:100000;height:80%;width:80%;max-height:1000px;max-width:1500px;padding:10px;overflow-y:scroll;border:1px solid #e0e0e0;line-height:1.875;background-color:#fcfcfc;-webkit-box-shadow:1px 3px 4px rgba(0,0,0,.09);box-shadow:1px 3px 4px rgba(0,0,0,.09);text-align:left}.search__outer::-webkit-scrollbar-track{border-radius:10px;background-color:#fcfcfc}.search__outer::-webkit-scrollbar{width:7px;height:7px;background-color:#fcfcfc}.search__outer::-webkit-scrollbar-thumb{border-radius:10px;background-color:#8f8f8f}.search__cross__img{width:15px;height:15px;margin:12px}.search__cross{position:absolute;top:0;right:0}.search__cross:hover{cursor:pointer}.search__outer__input{width:90%;height:30px;font-size:19px;outline:0;-webkit-box-sizing:border-box;box-sizing:border-box;background-color:#fcfcfc;border:0;border-bottom:1px solid #757575;background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pg0KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE5LjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPg0KPHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJDYXBhXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgNDUxIDQ1MSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNDUxIDQ1MTsiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGc+DQoJPHBhdGggZD0iTTQ0Ny4wNSw0MjhsLTEwOS42LTEwOS42YzI5LjQtMzMuOCw0Ny4yLTc3LjksNDcuMi0xMjYuMUMzODQuNjUsODYuMiwyOTguMzUsMCwxOTIuMzUsMEM4Ni4yNSwwLDAuMDUsODYuMywwLjA1LDE5Mi4zDQoJCXM4Ni4zLDE5Mi4zLDE5Mi4zLDE5Mi4zYzQ4LjIsMCw5Mi4zLTE3LjgsMTI2LjEtNDcuMkw0MjguMDUsNDQ3YzIuNiwyLjYsNi4xLDQsOS41LDRzNi45LTEuMyw5LjUtNA0KCQlDNDUyLjI1LDQ0MS44LDQ1Mi4yNSw0MzMuMiw0NDcuMDUsNDI4eiBNMjYuOTUsMTkyLjNjMC05MS4yLDc0LjItMTY1LjMsMTY1LjMtMTY1LjNjOTEuMiwwLDE2NS4zLDc0LjIsMTY1LjMsMTY1LjMNCgkJcy03NC4xLDE2NS40LTE2NS4zLDE2NS40QzEwMS4xNSwzNTcuNywyNi45NSwyODMuNSwyNi45NSwxOTIuM3oiLz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjwvc3ZnPg0K);background-repeat:no-repeat;background-position:left;background-size:15px 15px;padding-left:25px}.search__outer__input:focus{outline:0}.search__outer .bar{position:relative;display:block;width:90%;margin-bottom:15px}.search__outer .bar:after,.search__outer .bar:before{content:"";height:2px;width:0;bottom:1px;position:absolute;background:#5264ae;-webkit-transition:.2s ease all;-o-transition:.2s ease all;transition:.2s ease all}.search__outer .bar:before{left:50%}.search__outer .bar:after{right:50%}.search__outer__input:focus~.bar:after,.search__outer__input:focus~.bar:before{width:50%}.search__result__single{margin-top:10px;padding:0 10px;border-bottom:1px solid #e6e6e6}.outer_div_page_results:hover,.search__result__box .active{background-color:#f5f5f5}.outer_div_page_results{margin:5px 0;overflow:auto;padding:3px 5px}.search__result__single a{text-decoration:none;cursor:pointer}.search__result__title{display:inline-block;font-weight:500;margin-bottom:15px;margin-top:0;font-size:15px;color:#6ea0ec;border-bottom:1px solid #6ea0ec}.search__result__subheading{color:#000;font-weight:700;float:left;width:20%;font-size:15px;margin-right:10px;word-break:break-all;overflow-x:hidden}.search__result__content{text-decoration:none;color:#000;font-size:15px;display:block;margin:0;line-height:inherit;float:right;width:calc(80% - 15px);text-align:left}.search__outer span{font-style:normal}.search__outer .search__result__title span{background-color:#e5f6ff;padding-bottom:3px;border-bottom-color:#000}.search__outer .search__result__content span{background-color:#e5f6ff;border-bottom:1px solid #000}.search__result__subheading span{border-bottom:1px solid #000}.br-for-hits{display:block;content:"";margin-top:10px}.rtd_ui_search_subtitle{all:unset;color:inherit;font-size:85%}.rtd__search__credits{margin:auto;position:absolute;top:0;left:0;right:0;bottom:calc(-80% - 20px);width:80%;max-width:1500px;height:30px;overflow:hidden;background:#eee;z-index:100000;border:1px solid #eee;padding:5px 10px;text-align:center;color:#000}.rtd__search__credits a{color:#000;text-decoration:underline}.search__domain_role_name{font-size:80%;letter-spacing:1px}@media (max-width:670px){.rtd__search__credits{height:50px;bottom:calc(-80% - 40px);overflow:hidden}}@media (min-height:1250px){.rtd__search__credits{bottom:calc(-1000px - 30px)}}@media (max-width:630px){.search__result__content,.search__result__subheading{float:none;width:90%}} \ No newline at end of file diff --git a/sphinx/templates/_static/js/rtd_sphinx_search.js b/sphinx/templates/_static/js/rtd_sphinx_search.js new file mode 100644 index 0000000000..fcd96c38c0 --- /dev/null +++ b/sphinx/templates/_static/js/rtd_sphinx_search.js @@ -0,0 +1,803 @@ +const MAX_SUGGESTIONS = 50; +const MAX_SECTION_RESULTS = 3; +const MAX_SUBSTRING_LIMIT = 100; + +// Possible states of search modal +const SEARCH_MODAL_OPENED = "opened"; +const SEARCH_MODAL_CLOSED = "closed"; + +let SEARCH_MODAL_STATE = SEARCH_MODAL_CLOSED; +let TOTAL_PAGE_RESULTS = 0; +let SEARCH_QUERY = ""; + +// this is used to store the total result counts, +// which includes all the sections and domains of all the pages. +let COUNT = 0; + +/** + * Debounce the function. + * Usage:: + * + * let func = debounce(() => console.log("Hello World"), 3000); + * + * // calling the func + * func(); + * + * //cancelling the execution of the func (if not executed) + * func.cancel(); + * + * @param {Function} func function to be debounced + * @param {Number} wait time to wait before running func (in miliseconds) + * @return {Function} debounced function + */ +const debounce = (func, wait) => { + let timeout; + + let debounced = function() { + let context = this; + let args = arguments; + clearTimeout(timeout); + timeout = setTimeout(() => func.apply(context, args), wait); + }; + + debounced.cancel = () => { + clearTimeout(timeout); + timeout = null; + }; + + return debounced; +}; + +/** + * Take an object as parameter and convert it to + * url params string. + * + * Eg. if ``obj = { 'a': 1, 'b': 2, 'c': ['hello', 'world'] }``, then it will return + * the string ``a=1&b=2&c=hello,world`` + * + * @param {Object} obj the object to be converted + * @return {String|Array} object in url params form + */ +const convertObjToUrlParams = obj => { + let params = Object.keys(obj).map(function(key) { + if (_is_string(key)) { + const s = key + "=" + encodeURI(obj[key]); + return s; + } + }); + + // removing empty strings from the 'params' array + let final_params = []; + for (let i = 0; i < params.length; ++i) { + if (_is_string(params[i])) { + final_params.push(params[i]); + } + } + if (final_params.length === 1) { + return final_params[0]; + } else { + let final_url_params = final_params.join("&"); + return final_url_params; + } +}; + +/** + * Adds/removes "rtd_search" url parameter to the url. + */ +const updateUrl = () => { + let origin = window.location.origin; + let path = window.location.pathname; + let url_params = $.getQueryParameters(); + let hash = window.location.hash; + + // SEARCH_QUERY should not be an empty string + if (_is_string(SEARCH_QUERY)) { + url_params.rtd_search = SEARCH_QUERY; + } else { + delete url_params.rtd_search; + } + + let window_location_search = convertObjToUrlParams(url_params) + hash; + + // this happens during the tests, + // when window.location.origin is "null" in Firefox + // then correct URL is contained by window.location.pathname + // which starts with "file://" + let url = path + "?" + window_location_search; + if (origin.substring(0, 4) === "http") { + url = origin + url; + } + + // update url + window.history.pushState({}, null, url); +}; + +/** + * Create and return DOM nodes + * with passed attributes. + * + * @param {String} nodeName name of the node + * @param {Object} attributes obj of attributes to be assigned to the node + * @return {Object} dom node with attributes + */ +const createDomNode = (nodeName, attributes) => { + let node = document.createElement(nodeName); + for (let attr in attributes) { + node.setAttribute(attr, attributes[attr]); + } + return node; +}; + +/** + * Checks if data type is "string" or not + * + * @param {*} data data whose data-type is to be checked + * @return {Boolean} 'true' if type is "string" and length is > 0 + */ +const _is_string = str => { + if (typeof str === "string" && str.length > 0) { + return true; + } else { + return false; + } +}; + +/** + * Checks if data type is a non-empty array + * @param {*} data data whose type is to be checked + * @return {Boolean} returns true if data is non-empty array, else returns false + */ +const _is_array = arr => { + if (Array.isArray(arr) && arr.length > 0) { + return true; + } else { + return false; + } +}; + +/** + * Generate and return html structure + * for a page section result. + * + * @param {Object} sectionData object containing the result data + * @param {String} page_link link of the main page. It is used to construct the section link + */ +const get_section_html = (sectionData, page_link) => { + let section_template = + ' \ +
\ + \ + <%= section_subheading %> \ + \ + <% for (var i = 0; i < section_content.length; ++i) { %> \ +

\ + <%= section_content[i] %> \ +

\ + <% } %>\ +
\ +
\ +
'; + + let section_subheading = sectionData._source.title; + let highlight = sectionData.highlight; + if (getHighlightListData(highlight, "sections.title")) { + section_subheading = getHighlightListData( + highlight, + "sections.title" + )[0]; + } + + let section_content = [ + sectionData._source.content.substring(0, MAX_SUBSTRING_LIMIT) + " ..." + ]; + + if (getHighlightListData(highlight, "sections.content")) { + let highlight_content = getHighlightListData( + highlight, + "sections.content" + ); + section_content = []; + for ( + let j = 0; + j < highlight_content.length && j < MAX_SECTION_RESULTS; + ++j + ) { + section_content.push("... " + highlight_content[j] + " ..."); + } + } + + let section_link = `${page_link}#${sectionData._source.id}`; + + let section_id = "hit__" + COUNT; + + let section_html = $u.template(section_template, { + section_link: section_link, + section_id: section_id, + section_subheading: section_subheading, + section_content: section_content + }); + + return section_html; +}; + +/** + * Returns value of the corresponding key (if present), + * else returns false. + * + * @param {Object} data object containing the data used for highlighting + * @param {String} key key whose values is to be returned + * @return {Array|Boolean} if key is present, it will return its value. Otherwise, return false + */ +const getHighlightListData = (data, key) => { + if (_is_array(data[key])) { + return data[key]; + } else { + return false; + } +}; + +/** + * Generate and return html structure + * for a sphinx domain result. + * + * @param {Object} domainData object containing the result data + * @param {String} page_link link of the main page. It is used to construct the section link + */ +const get_domain_html = (domainData, page_link) => { + let domain_template = + ' \ +
\ + \ + <%= domain_subheading %> \ +
\ + <%= domain_role_name %> \ +
\ +
\ +

<%= domain_content %>

\ +
\ +
\ +
'; + + let domain_link = `${page_link}#${domainData._source.anchor}`; + let domain_role_name = domainData._source.role_name; + let domain_name = domainData._source.name; + let domain_docstrings = + domainData._source.docstrings.substr(0, MAX_SUBSTRING_LIMIT) + " ..."; + + // take values from highlighted fields (if present) + if (domainData.highlight !== undefined && domainData.highlight !== null) { + let highlight = domainData.highlight; + + let name = getHighlightListData(highlight, "domains.name"); + let docstrings = getHighlightListData(highlight, "domains.docstrings"); + + if (name) { + domain_name = name[0]; + } + + if (docstrings) { + domain_docstrings = docstrings[0]; + } + } + + let domain_subheading = domain_name; + let domain_content = domain_docstrings; + let domain_id = "hit__" + COUNT; + domain_role_name = "[" + domain_role_name + "]"; + + let domain_html = $u.template(domain_template, { + domain_link: domain_link, + domain_id: domain_id, + domain_content: domain_content, + domain_subheading: domain_subheading, + domain_role_name: domain_role_name + }); + + return domain_html; +}; + +/** + * Generate search results for a single page. + * + * @param {Object} resultData search results of a page + * @return {Object} a
node with the results of a single page + */ +const generateSingleResult = (resultData, projectName) => { + let content = createDomNode("div"); + + let page_link_template = + ' \ +

\ + <%= page_title %> \ +

\ +
'; + + let page_link = `${resultData.link}${DOCUMENTATION_OPTIONS.FILE_SUFFIX}`; + let page_title = resultData.title; + + // if title is present in highlighted field, use that. + if (resultData.highlight !== undefined && resultData.highlight !== null) { + if ( + resultData.highlight.title !== undefined && + resultData.highlight.title !== null + ) { + page_title = resultData.highlight.title; + } + } + + // if result is not from the same project, + // then it must be from subproject. + if (projectName !== resultData.project) { + page_title += + " " + + $u.template( + ' \ + (from project <%= project %>) \ + ', + { + project: resultData.project + } + ); + } + + page_title += "
"; + + content.innerHTML += $u.template(page_link_template, { + page_link: page_link, + page_title: page_title + }); + + for (let i = 0; i < resultData.inner_hits.length; ++i) { + const type = resultData.inner_hits[i].type; + COUNT += 1; + let html_structure = ""; + + if (type === "sections") { + html_structure = get_section_html( + resultData.inner_hits[i], + page_link + ); + } else if (type === "domains") { + html_structure = get_domain_html( + resultData.inner_hits[i], + page_link + ); + } + content.innerHTML += html_structure; + } + return content; +}; + +/** + * Generate search suggestions list. + * + * @param {Object} data response data from the search backend + * @param {String} projectName name (slug) of the project + * @return {Object} a
node with class "search__result__box" with results + */ +const generateSuggestionsList = (data, projectName) => { + let search_result_box = createDomNode("div", { + class: "search__result__box" + }); + + for (let i = 0; i < TOTAL_PAGE_RESULTS; ++i) { + let search_result_single = createDomNode("div", { + class: "search__result__single" + }); + + let content = generateSingleResult(data.results[i], projectName); + + search_result_single.appendChild(content); + search_result_box.appendChild(search_result_single); + } + return search_result_box; +}; + +/** + * Removes .active class from all the suggestions. + */ +const removeAllActive = () => { + const results = document.querySelectorAll(".outer_div_page_results"); + const results_arr = Object.keys(results).map(i => results[i]); + for (let i = 1; i <= results_arr.length; ++i) { + results_arr[i - 1].classList.remove("active"); + } +}; + +/** + * Add .active class to the search suggestion + * corresponding to serial number current_focus', + * and scroll to that suggestion smoothly. + * + * @param {Number} current_focus serial no. of suggestions which will be active + */ +const addActive = current_focus => { + const current_item = document.querySelector("#hit__" + current_focus); + // in case of no results or any error, + // current_item will not be found in the DOM. + if (current_item !== null) { + current_item.classList.add("active"); + current_item.scrollIntoView({ + behavior: "smooth", + block: "nearest", + inline: "start" + }); + } +}; + +/** + * Returns initial search input field, + * which is already present in the docs. + * + * @return {Object} Input field node + */ +const getInputField = () => { + let inputField; + + // on search some pages (like search.html), + // no div is present with role="search", + // in that case, use the other query to select + // the input field + try { + inputField = document.querySelector("div[role='search'] input"); + if (inputField === undefined || inputField === null) { + throw "'div[role='search'] input' not found"; + } + } catch (err) { + inputField = document.querySelector("input[name='q']"); + } + + return inputField; +}; + +/** + * Removes all results from the search modal. + * It doesn't close the search box. + */ +const removeResults = () => { + let all_results = document.querySelectorAll(".search__result__box"); + for (let i = 0; i < all_results.length; ++i) { + all_results[i].parentElement.removeChild(all_results[i]); + } +}; + +/** + * Creates and returns a div with error message + * and some styles. + * + * @param {String} err_msg error message to be displayed + */ +const getErrorDiv = err_msg => { + let err_div = createDomNode("div", { + class: "search__result__box", + style: "color: black; min-width: 300px; font-weight: 700" + }); + err_div.innerHTML = err_msg; + return err_div; +}; + +/** + * Fetch the suggestions from search backend, + * and appends the results to
node, + * which is already created when the page was loaded. + * + * @param {String} search_url url on which request will be sent + * @param {String} projectName name (slug) of the project + * @return {Function} debounced function with debounce time of 500ms + */ +const fetchAndGenerateResults = (search_url, projectName) => { + let search_outer = document.querySelector(".search__outer"); + + // Removes all results (if there is any), + // and show the "Searching ...." text to + // the user. + removeResults(); + let search_loding = createDomNode("div", { class: "search__result__box" }); + search_loding.innerHTML = "Searching ...."; + search_outer.appendChild(search_loding); + + let ajaxFunc = () => { + $.ajax({ + url: search_url, + crossDomain: true, + xhrFields: { + withCredentials: true + }, + complete: (resp, status_code) => { + if ( + status_code === "success" || + typeof resp.responseJSON !== "undefined" + ) { + if (resp.responseJSON.results.length > 0) { + TOTAL_PAGE_RESULTS = + MAX_SUGGESTIONS <= resp.responseJSON.results.length + ? MAX_SUGGESTIONS + : resp.responseJSON.results.length; + let search_result_box = generateSuggestionsList( + resp.responseJSON, + projectName + ); + removeResults(); + search_outer.appendChild(search_result_box); + + // remove active classes from all suggestions + // if the mouse hovers, otherwise styles from + // :hover and .active will clash. + search_outer.addEventListener("mouseenter", e => { + removeAllActive(); + }); + } else { + removeResults(); + let err_div = getErrorDiv("No Results Found"); + search_outer.appendChild(err_div); + } + } + }, + error: (resp, status_code, error) => { + removeResults(); + let err_div = getErrorDiv("Error Occurred. Please try again."); + search_outer.appendChild(err_div); + } + }); + }; + ajaxFunc = debounce(ajaxFunc, 500); + return ajaxFunc; +}; + +/** + * Creates the initial html structure which will be + * appended to the as soon as the page loads. + * This html structure will serve as the boilerplate + * to show our search results. + * + * @return {String} initial html structure + */ +const generateAndReturnInitialHtml = () => { + let initialHtml = + '
\ +
\ +
\ + \ + \ + \ + \ +
\ + \ + \ +
\ +
\ + Search by Read the Docs & readthedocs-sphinx-search \ +
\ +
'; + + return initialHtml; +}; + +/** + * Opens the search modal. + * + * @param {String} custom_query if a custom query is provided, initialise the value of input field with it + */ +const showSearchModal = custom_query => { + // removes previous results (if there are any). + removeResults(); + + SEARCH_MODAL_STATE = SEARCH_MODAL_OPENED; + + // removes the focus from the initial input field + // which as already present in the docs. + let search_bar = getInputField(); + search_bar.blur(); + + $(".search__outer__wrapper").fadeIn(400, () => { + // sets the value of the input field to empty string and focus it. + let search_outer_input = document.querySelector( + ".search__outer__input" + ); + if (search_outer_input !== null) { + if ( + typeof custom_query !== "undefined" && + _is_string(custom_query) + ) { + search_outer_input.value = custom_query; + } else { + search_outer_input.value = ""; + } + search_outer_input.focus(); + } + }); +}; + +/** + * Closes the search modal. + */ +const removeSearchModal = () => { + // removes previous results before closing + removeResults(); + + SEARCH_MODAL_STATE = SEARCH_MODAL_CLOSED; + + // sets the value of input field to empty string and remove the focus. + let search_outer_input = document.querySelector(".search__outer__input"); + if (search_outer_input !== null) { + search_outer_input.value = ""; + search_outer_input.blur(); + } + + // reset SEARCH_QUERY + SEARCH_QUERY = ""; + + // update url (remove 'rtd_search' param) + updateUrl(); + + $(".search__outer__wrapper").fadeOut(400); +}; + +window.addEventListener("DOMContentLoaded", evt => { + // only add event listeners if READTHEDOCS_DATA global + // variable is found. + if (window.hasOwnProperty("READTHEDOCS_DATA")) { + const project = READTHEDOCS_DATA.project; + const version = READTHEDOCS_DATA.version; + const language = READTHEDOCS_DATA.language || "en"; + const api_host = '/_'; + + let initialHtml = generateAndReturnInitialHtml(); + document.body.innerHTML += initialHtml; + + let search_outer_wrapper = document.querySelector( + ".search__outer__wrapper" + ); + let search_outer_input = document.querySelector( + ".search__outer__input" + ); + let cross_icon = document.querySelector(".search__cross"); + + // this denotes the search suggestion which is currently selected + // via tha ArrowUp/ArrowDown keys. + let current_focus = 0; + + // this stores the current request. + let current_request = null; + + let search_bar = getInputField(); + search_bar.addEventListener("focus", e => { + showSearchModal(); + }); + + search_outer_input.addEventListener("input", e => { + SEARCH_QUERY = e.target.value; + COUNT = 0; + + let search_params = { + q: SEARCH_QUERY, + project: project, + version: version, + language: language + }; + + const search_url = + api_host + + "/api/v2/docsearch/?" + + convertObjToUrlParams(search_params); + + if (typeof SEARCH_QUERY === "string" && SEARCH_QUERY.length > 0) { + if (current_request !== null) { + // cancel previous ajax request. + current_request.cancel(); + } + current_request = fetchAndGenerateResults(search_url, project); + current_request(); + } else { + // if the last request returns the results, + // the suggestions list is generated even if there + // is no query. To prevent that, this function + // is debounced here. + debounce(removeResults, 600)(); + } + + // update URL + updateUrl(); + }); + + search_outer_input.addEventListener("keydown", e => { + // if "ArrowDown is pressed" + if (e.keyCode === 40) { + e.preventDefault(); + current_focus += 1; + if (current_focus > COUNT) { + current_focus = 1; + } + removeAllActive(); + addActive(current_focus); + } + + // if "ArrowUp" is pressed. + if (e.keyCode === 38) { + e.preventDefault(); + current_focus -= 1; + if (current_focus < 1) { + current_focus = COUNT; + } + removeAllActive(); + addActive(current_focus); + } + + // if "Enter" key is pressed. + if (e.keyCode === 13) { + e.preventDefault(); + const current_item = document.querySelector( + ".outer_div_page_results.active" + ); + // if an item is selected, + // then redirect to its link + if (current_item !== null) { + const link = current_item.parentElement["href"]; + window.location.href = link; + } else { + // submit search form if there + // is no active item. + const input_field = getInputField(); + const form = input_field.parentElement; + + search_bar.value = SEARCH_QUERY || ""; + form.submit(); + } + } + }); + + search_outer_wrapper.addEventListener("click", e => { + // HACK: only close the search modal if the + // element clicked has as the parent Node. + // This is done so that search modal only gets closed + // if the user clicks on the backdrop area. + if (e.target.parentNode === document.body) { + removeSearchModal(); + } + }); + + // close the search modal if clicked on cross icon. + cross_icon.addEventListener("click", e => { + removeSearchModal(); + }); + + // close the search modal if the user pressed + // Escape button + document.addEventListener("keydown", e => { + if (e.keyCode === 27) { + removeSearchModal(); + } + }); + + // open search modal if "forward slash" button is pressed + document.addEventListener("keydown", e => { + if (e.keyCode === 191) { + + // prevent opening "Quick Find" in Firefox + e.preventDefault(); + + if (SEARCH_MODAL_STATE !== SEARCH_MODAL_OPENED) { + showSearchModal(); + } + } + }); + + // if "rtd_search" is present in URL parameters, + // then open the search modal and show the results + // for the value of "rtd_search" + let url_params = $.getQueryParameters(); + if (_is_array(url_params.rtd_search)) { + let query = decodeURIComponent(url_params.rtd_search); + showSearchModal(query); + search_outer_input.value = query; + + let event = document.createEvent("Event"); + event.initEvent("input", true, true); + search_outer_input.dispatchEvent(event); + } + } else { + console.log( + "[INFO] Docs are not being served on Read the Docs, readthedocs-sphinx-search will not work." + ); + } +}); diff --git a/sphinx/templates/_static/js/rtd_sphinx_search.min.js b/sphinx/templates/_static/js/rtd_sphinx_search.min.js new file mode 100644 index 0000000000..c111d2d175 --- /dev/null +++ b/sphinx/templates/_static/js/rtd_sphinx_search.min.js @@ -0,0 +1 @@ +"use strict";var MAX_SUGGESTIONS=50,MAX_SECTION_RESULTS=3,MAX_SUBSTRING_LIMIT=100,SEARCH_MODAL_OPENED="opened",SEARCH_MODAL_CLOSED="closed",SEARCH_MODAL_STATE=SEARCH_MODAL_CLOSED,TOTAL_PAGE_RESULTS=0,SEARCH_QUERY="",COUNT=0,debounce=function(r,n){function e(){var e=this,t=arguments;clearTimeout(i),i=setTimeout(function(){return r.apply(e,t)},n)}var i;return e.cancel=function(){clearTimeout(i),i=null},e},convertObjToUrlParams=function(t){for(var e=Object.keys(t).map(function(e){if(_is_string(e))return e+"="+encodeURI(t[e])}),r=[],n=0;n
<%= section_subheading %> <% for (var i = 0; i < section_content.length; ++i) { %>

<%= section_content[i] %>

<% } %>

',{section_link:s,section_id:c,section_subheading:r,section_content:i})},getHighlightListData=function(e,t){return!!_is_array(e[t])&&e[t]},get_domain_html=function(e,t){var r="".concat(t,"#").concat(e._source.anchor),n=e._source.role_name,i=e._source.name,a=e._source.docstrings.substr(0,MAX_SUBSTRING_LIMIT)+" ...";if(void 0!==e.highlight&&null!==e.highlight){var o=e.highlight,s=getHighlightListData(o,"domains.name"),c=getHighlightListData(o,"domains.docstrings");s&&(i=s[0]),c&&(a=c[0])}var l=i,_=a,u="hit__"+COUNT;return n="["+n+"]",$u.template('
<%= domain_subheading %>
<%= domain_role_name %>

<%= domain_content %>


',{domain_link:r,domain_id:u,domain_content:_,domain_subheading:l,domain_role_name:n})},generateSingleResult=function(e,t){var r=createDomNode("div"),n="".concat(e.link).concat(DOCUMENTATION_OPTIONS.FILE_SUFFIX),i=e.title;void 0!==e.highlight&&null!==e.highlight&&void 0!==e.highlight.title&&null!==e.highlight.title&&(i=e.highlight.title),t!==e.project&&(i+=" "+$u.template(' (from project <%= project %>) ',{project:e.project})),i+="
",r.innerHTML+=$u.template('

<%= page_title %>

',{page_link:n,page_title:i});for(var a=0;aSearching ....",a.appendChild(t);var r=function(){$.ajax({url:e,crossDomain:!0,xhrFields:{withCredentials:!0},complete:function(e,t){if("success"===t||void 0!==e.responseJSON)if(0
\x3c!--?xml version="1.0" encoding="UTF-8"?--\x3e
Search by Read the Docs & readthedocs-sphinx-search
'},showSearchModal=function(t){removeResults(),SEARCH_MODAL_STATE=SEARCH_MODAL_OPENED,getInputField().blur(),$(".search__outer__wrapper").fadeIn(400,function(){var e=document.querySelector(".search__outer__input");null!==e&&(void 0!==t&&_is_string(t)?e.value=t:e.value="",e.focus())})},removeSearchModal=function(){removeResults(),SEARCH_MODAL_STATE=SEARCH_MODAL_CLOSED;var e=document.querySelector(".search__outer__input");null!==e&&(e.value="",e.blur()),SEARCH_QUERY="",updateUrl(),$(".search__outer__wrapper").fadeOut(400)};window.addEventListener("DOMContentLoaded",function(e){if(window.hasOwnProperty("READTHEDOCS_DATA")){var r=READTHEDOCS_DATA.project,n=READTHEDOCS_DATA.version,i=READTHEDOCS_DATA.language||"en",t=generateAndReturnInitialHtml();document.body.innerHTML+=t;var a=document.querySelector(".search__outer__wrapper"),o=document.querySelector(".search__outer__input"),s=document.querySelector(".search__cross"),c=0,l=null,_=getInputField();_.addEventListener("focus",function(e){showSearchModal()}),o.addEventListener("input",function(e){SEARCH_QUERY=e.target.value,COUNT=0;var t="/_/api/v2/docsearch/?"+convertObjToUrlParams({q:SEARCH_QUERY,project:r,version:n,language:i});"string"==typeof SEARCH_QUERY&&0\n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/about/faq.pot b/sphinx/templates/about/faq.pot index 0b9d80cc86..a719ba6875 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: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -138,299 +138,303 @@ msgstr "" msgid "As for new languages, support is possible via third parties using the GDNative / NativeScript / PluginScript facilities. (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:91 +#: ../../docs/about/faq.rst:93 msgid "What is GDScript and why should I use it?" msgstr "" -#: ../../docs/about/faq.rst:93 +#: ../../docs/about/faq.rst:95 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, history, and a complete overview of the power GDScript offers you, check out the :ref:`GDScript scripting guide `." msgstr "" -#: ../../docs/about/faq.rst:100 +#: ../../docs/about/faq.rst:102 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--but the most salient reason is the overall **reduction of complexity.**" msgstr "" -#: ../../docs/about/faq.rst:104 +#: ../../docs/about/faq.rst:106 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:112 +#: ../../docs/about/faq.rst:114 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:121 +#: ../../docs/about/faq.rst:123 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:125 +#: ../../docs/about/faq.rst:127 msgid "What were the motivations behind creating GDScript?" msgstr "" -#: ../../docs/about/faq.rst:127 +#: ../../docs/about/faq.rst:129 +msgid "In the early days, the engine used the `Lua `__ scripting language. Lua is fast, 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 `__, it also proved difficult to embed." +msgstr "" + +#: ../../docs/about/faq.rst:135 msgid "The main reasons for creating a custom scripting language for Godot were:" msgstr "" -#: ../../docs/about/faq.rst:129 -msgid "Poor thread support in most script VMs, and Godot uses threads (Lua, Python, Squirrel, JS, AS, etc.)." -msgstr "" - -#: ../../docs/about/faq.rst:131 -msgid "Poor class-extending support in most script VMs, and adapting to the way Godot works is highly inefficient (Lua, Python, JS)." -msgstr "" - -#: ../../docs/about/faq.rst:133 -msgid "Many existing languages have horrible interfaces for binding to C++, resulting in large amount of code, bugs, bottlenecks, and general inefficiency (Lua, Python, Squirrel, JS, etc.) We wanted to focus on a great engine, not a great amount of integrations." -msgstr "" - -#: ../../docs/about/faq.rst:136 -msgid "No native vector types (vector3, matrix4, etc.), resulting in highly reduced performance when using custom types (Lua, Python, Squirrel, JS, AS, etc.)." +#: ../../docs/about/faq.rst:137 +msgid "Poor threading support in most script VMs, and Godot uses threads (Lua, Python, Squirrel, JavaScript, ActionScript, etc.)." msgstr "" #: ../../docs/about/faq.rst:139 -msgid "Garbage collector results in stalls or unnecessarily large memory usage (Lua, Python, JS, AS, etc.)." +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:141 -msgid "Difficulty to integrate with the code editor for providing code completion, live editing, etc. (all of them). This is well supported by GDScript." +msgid "Many existing languages have horrible interfaces for binding to C++, resulting in 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 amount of integrations." msgstr "" -#: ../../docs/about/faq.rst:145 -msgid "GDScript was designed to curtail the issues above and more." +#: ../../docs/about/faq.rst:144 +msgid "No native vector types (vector3, matrix4, etc.), resulting in highly reduced performance when using custom types (Lua, Python, Squirrel, JavaScript, ActionScript, etc.)." msgstr "" -#: ../../docs/about/faq.rst:148 -msgid "What type of 3D model formats does Godot support?" +#: ../../docs/about/faq.rst:147 +msgid "Garbage collector results in stalls or unnecessarily large memory usage (Lua, Python, JavaScript, ActionScript, etc.)." msgstr "" -#: ../../docs/about/faq.rst:150 -msgid "Godot supports Collada via the `OpenCollada `_ exporter (Maya, 3DSMax). If you are using Blender, take a look at our own `Better Collada Exporter `_." +#: ../../docs/about/faq.rst:149 +msgid "Difficulty to integrate with the code editor for providing code completion, live editing, etc. (all of them). This is well-supported by GDScript." msgstr "" #: ../../docs/about/faq.rst:153 -msgid "As of Godot 3.0, glTF is supported." +msgid "GDScript was designed to curtail the issues above, and more." msgstr "" -#: ../../docs/about/faq.rst:155 -msgid "FBX is supported via the Open Asset Import library. However, FBX is proprietary so we recommend using other formats listed above, if suitable for your workflow." +#: ../../docs/about/faq.rst:156 +msgid "What type of 3D model formats does Godot support?" msgstr "" -#: ../../docs/about/faq.rst:159 -msgid "Will [insert closed SDK such as FMOD, GameWorks, etc.] be supported in Godot?" +#: ../../docs/about/faq.rst:158 +msgid "Godot supports Collada via the `OpenCollada `_ exporter (Maya, 3DSMax). If you are using Blender, take a look at our own `Better Collada Exporter `_." msgstr "" #: ../../docs/about/faq.rst:161 +msgid "As of Godot 3.0, glTF is supported." +msgstr "" + +#: ../../docs/about/faq.rst:163 +msgid "FBX is supported via the Open Asset Import library. However, FBX is proprietary so we recommend using other formats listed above, if suitable for your workflow." +msgstr "" + +#: ../../docs/about/faq.rst:167 +msgid "Will [insert closed SDK such as FMOD, GameWorks, etc.] be supported in Godot?" +msgstr "" + +#: ../../docs/about/faq.rst:169 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:166 +#: ../../docs/about/faq.rst:174 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:170 +#: ../../docs/about/faq.rst:178 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:173 +#: ../../docs/about/faq.rst:181 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:179 +#: ../../docs/about/faq.rst:187 msgid "How should assets be created to handle multiple resolutions and aspect ratios?" msgstr "" -#: ../../docs/about/faq.rst:181 +#: ../../docs/about/faq.rst:189 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:189 +#: ../../docs/about/faq.rst:197 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:193 +#: ../../docs/about/faq.rst:201 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. 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:201 +#: ../../docs/about/faq.rst:209 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:205 +#: ../../docs/about/faq.rst:213 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:210 +#: ../../docs/about/faq.rst:218 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:214 +#: ../../docs/about/faq.rst:222 msgid "And that's it! Your game should work in multiple resolutions." msgstr "" -#: ../../docs/about/faq.rst:216 +#: ../../docs/about/faq.rst:224 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:222 +#: ../../docs/about/faq.rst:230 msgid "How can I extend Godot?" msgstr "" -#: ../../docs/about/faq.rst:224 +#: ../../docs/about/faq.rst:232 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:228 +#: ../../docs/about/faq.rst:236 msgid "Also, see the official blog posts on these topics:" msgstr "" -#: ../../docs/about/faq.rst:230 +#: ../../docs/about/faq.rst:238 msgid "`A look at the GDNative architecture `_" msgstr "" -#: ../../docs/about/faq.rst:231 +#: ../../docs/about/faq.rst:239 msgid "`GDNative is here! `_" msgstr "" -#: ../../docs/about/faq.rst:233 +#: ../../docs/about/faq.rst:241 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." msgstr "" -#: ../../docs/about/faq.rst:239 +#: ../../docs/about/faq.rst:247 msgid "I would like to contribute! How can I get started?" msgstr "" -#: ../../docs/about/faq.rst:241 +#: ../../docs/about/faq.rst:249 msgid "Awesome! As an open-source project, Godot thrives off of the innovation and ambition of developers like you." msgstr "" -#: ../../docs/about/faq.rst:244 +#: ../../docs/about/faq.rst:252 msgid "The first place to get started is in the `issues `_. Find an issue that resonates with you, then proceed to the `How to Contribute `_ guide to learn how to fork, modify, and submit a Pull Request (PR) with your changes." msgstr "" -#: ../../docs/about/faq.rst:249 +#: ../../docs/about/faq.rst:257 msgid "I have a great idea for Godot. How can I share it?" msgstr "" -#: ../../docs/about/faq.rst:251 -msgid "It might be tempting to want to bring ideas to Godot, like ones that result in massive core changes, some sort of mimicry of what another game engine does, or alternative workflows that you'd like built into the editor. These are great and we are thankful to have such motivated people want to contribute, but Godot's focus is and always will be the core functionality as outlined in the `Roadmap `_, `squashing bugs and addressing issues `_, and conversations between Godot community members." -msgstr "" - -#: ../../docs/about/faq.rst:260 -msgid "Most developers in the Godot community will be more interested to learn about things like:" -msgstr "" - -#: ../../docs/about/faq.rst:263 -msgid "Your experience using the software and the problems you have (we care about this much more than ideas on how to improve it)." -msgstr "" - -#: ../../docs/about/faq.rst:265 -msgid "The features you would like to see implemented because you need them for your project." -msgstr "" - -#: ../../docs/about/faq.rst:267 -msgid "The concepts that were difficult to understand while learning the software." +#: ../../docs/about/faq.rst:259 +msgid "It might be tempting to want to bring ideas to Godot, like ones that result in massive core changes, some sort of mimicry of what another game engine does, or alternative workflows that you'd like built into the editor. These are great, and we are thankful to have such motivated people want to contribute, but Godot's focus is and always will be the core functionality as outlined in the `Roadmap `_, `squashing bugs and addressing issues `_, and conversations between Godot community members." msgstr "" #: ../../docs/about/faq.rst:268 -msgid "The parts of your workflow you would like to see optimized." -msgstr "" - -#: ../../docs/about/faq.rst:269 -msgid "Parts where you missed clear tutorials or where the documentation wasn't clear." +msgid "Most developers in the Godot community will be more interested to learn about things like:" msgstr "" #: ../../docs/about/faq.rst:271 -msgid "Please don't feel like your ideas for Godot are unwelcome. Instead, try to reformulate them as a problem first, so developers and the community have a functional foundation to ground your ideas on." +msgid "Your experience using the software and the problems you have (we care about this much more than ideas on how to improve it)." +msgstr "" + +#: ../../docs/about/faq.rst:273 +msgid "The features you would like to see implemented because you need them for your project." msgstr "" #: ../../docs/about/faq.rst:275 +msgid "The concepts that were difficult to understand while learning the software." +msgstr "" + +#: ../../docs/about/faq.rst:276 +msgid "The parts of your workflow you would like to see optimized." +msgstr "" + +#: ../../docs/about/faq.rst:277 +msgid "Parts where you missed clear tutorials or where the documentation wasn't clear." +msgstr "" + +#: ../../docs/about/faq.rst:279 +msgid "Please don't feel like your ideas for Godot are unwelcome. Instead, try to reformulate them as a problem first, so developers and the community have a functional foundation to ground your ideas on." +msgstr "" + +#: ../../docs/about/faq.rst:283 msgid "A good way to approach sharing your ideas and problems with the community is as a set of user stories. Explain what you are trying to do, what behavior you expect to happen, and then what behavior actually happened. Framing problems and ideas this way will help the whole community stay focused on improving developer experiences as a whole." msgstr "" -#: ../../docs/about/faq.rst:281 +#: ../../docs/about/faq.rst:289 msgid "Bonus points for bringing screenshots, concrete numbers, test cases, or example projects (if applicable)." msgstr "" -#: ../../docs/about/faq.rst:286 +#: ../../docs/about/faq.rst:294 msgid "Why does Godot not use STL (Standard Template Library)" msgstr "" -#: ../../docs/about/faq.rst:288 +#: ../../docs/about/faq.rst:296 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." msgstr "" -#: ../../docs/about/faq.rst:292 +#: ../../docs/about/faq.rst:300 msgid "STL templates create very large symbols, which results in huge debug binaries. We use few templates with very short names instead." msgstr "" -#: ../../docs/about/faq.rst:293 +#: ../../docs/about/faq.rst:301 msgid "Most of our containers cater to special needs, like Vector, which uses copy on write and we use to pass data around, or the RID system, which requires O(1) access time for performance. Likewise, our hash map implementations are designed to integrate seamlessly with internal engine types." msgstr "" -#: ../../docs/about/faq.rst:294 +#: ../../docs/about/faq.rst:302 msgid "Our containers have memory tracking built-in, which helps better track memory usage." msgstr "" -#: ../../docs/about/faq.rst:295 +#: ../../docs/about/faq.rst:303 msgid "For large arrays, we use pooled memory, which can be mapped to either a preallocated buffer or virtual memory." msgstr "" -#: ../../docs/about/faq.rst:296 +#: ../../docs/about/faq.rst:304 msgid "We use our custom String type, as the one provided by STL is too basic and lacks proper internationalization support." msgstr "" -#: ../../docs/about/faq.rst:299 +#: ../../docs/about/faq.rst:307 msgid "Why does Godot not use exceptions?" msgstr "" -#: ../../docs/about/faq.rst:301 +#: ../../docs/about/faq.rst:309 msgid "We believe games should not crash, no matter what. If an unexpected situation happens, Godot will print an error (which can be traced even to script), but then it will try to recover as gracefully as possible and keep going." msgstr "" -#: ../../docs/about/faq.rst:306 +#: ../../docs/about/faq.rst:314 msgid "Additionally, exceptions significantly increase binary size for the executable." msgstr "" -#: ../../docs/about/faq.rst:310 +#: ../../docs/about/faq.rst:318 msgid "Why does Godot not enforce RTTI?" msgstr "" -#: ../../docs/about/faq.rst:312 +#: ../../docs/about/faq.rst:320 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:317 +#: ../../docs/about/faq.rst:325 msgid "Why does Godot not force users to implement DoD (Data oriented Design)?" msgstr "" -#: ../../docs/about/faq.rst:319 -msgid "While Godot internally for a lot of the heavy performance tasks attempts to use cache coherency as best as possible, we believe most users don't really need to be forced to use DoD practices." +#: ../../docs/about/faq.rst:327 +msgid "While Godot internally for a lot of the heavy performance tasks attempts to use cache coherency as well as possible, we believe most users don't really need to be forced to use DoD practices." msgstr "" -#: ../../docs/about/faq.rst:323 +#: ../../docs/about/faq.rst:331 msgid "DoD is mostly a cache coherency optimization that can only gain you significant performance improvements when dealing with dozens of thousands of objects (which are processed every frame with little modification). As in, if you are moving a few hundred sprites or enemies per frame, DoD won't help you, and you should consider a different approach to optimization." msgstr "" -#: ../../docs/about/faq.rst:330 +#: ../../docs/about/faq.rst:338 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:333 +#: ../../docs/about/faq.rst:341 msgid "If a game that really needs to process such large amount of objects is needed, our recommendation is to use C++ and GDNative for the high performance parts and GDScript (or C#) for the rest of the game." msgstr "" -#: ../../docs/about/faq.rst:338 +#: ../../docs/about/faq.rst:346 msgid "How can I support Godot development or contribute?" msgstr "" -#: ../../docs/about/faq.rst:340 +#: ../../docs/about/faq.rst:348 msgid "See :ref:`doc_ways_to_contribute`." msgstr "" -#: ../../docs/about/faq.rst:343 +#: ../../docs/about/faq.rst:351 msgid "Who is working on Godot? How can I contact you?" msgstr "" -#: ../../docs/about/faq.rst:345 +#: ../../docs/about/faq.rst:353 msgid "See the corresponding page on the `Godot website `_." msgstr "" diff --git a/sphinx/templates/about/index.pot b/sphinx/templates/about/index.pot index 81420afa5f..22b25ebd7a 100644 --- a/sphinx/templates/about/index.pot +++ b/sphinx/templates/about/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "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/introduction.pot b/sphinx/templates/about/introduction.pot index 4a65f8e0aa..8ccd80308c 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: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\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 "Organization of the documentation" msgstr "" #: ../../docs/about/introduction.rst:79 -msgid "This documentation is organised in five sections with an impressively unbalanced distribution of contents – but the way it is split up should be relatively intuitive:" +msgid "This documentation is organized in five sections with an impressively unbalanced distribution of contents – but the way it is split up should be relatively intuitive:" msgstr "" #: ../../docs/about/introduction.rst:83 diff --git a/sphinx/templates/community/channels.pot b/sphinx/templates/community/channels.pot index 0fa112c4f7..50d54ad1db 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: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -129,7 +129,7 @@ msgid "`Reddit `_" msgstr "" #: ../../docs/community/channels.rst:50 -msgid "`Youtube `_" +msgid "`YouTube `_" msgstr "" #: ../../docs/community/channels.rst:51 diff --git a/sphinx/templates/community/contributing/best_practices_for_engine_contributors.pot b/sphinx/templates/community/contributing/best_practices_for_engine_contributors.pot index 0832bbd1ed..4fb2ea5d16 100644 --- a/sphinx/templates/community/contributing/best_practices_for_engine_contributors.pot +++ b/sphinx/templates/community/contributing/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: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -109,7 +109,7 @@ msgid "The frequency the problem" msgstr "" #: ../../docs/community/contributing/best_practices_for_engine_contributors.rst:60 -msgid "If the problem is *too complex* for most users to solve, the software must offer a ready made solution for it. Likewise, if the problem is easy for the user to workaround, offering such a solution is unnecessary and it's up to the user to do it." +msgid "If the problem is *too complex* for most users to solve, the software must offer a ready-made solution for it. Likewise, if the problem is easy for the user to workaround, offering such a solution is unnecessary and it's up to the user to do it." msgstr "" #: ../../docs/community/contributing/best_practices_for_engine_contributors.rst:62 @@ -133,7 +133,7 @@ msgid "Because of this, user proposed solutions don't always contemplate other u msgstr "" #: ../../docs/community/contributing/best_practices_for_engine_contributors.rst:75 -msgid "For developers, the perspective is different. They may find the user's problem too unique to justify a solution (instead of an user workaround), or maybe they will suggest a partial (usually simpler or lower level) solution that applies to a wider range of known problems, and leave the rest of the solution up to the user." +msgid "For developers, the perspective is different. They may find the user's problem too unique to justify a solution (instead of a user workaround), or maybe they will suggest a partial (usually simpler or lower level) solution that applies to a wider range of known problems, and leave the rest of the solution up to the user." msgstr "" #: ../../docs/community/contributing/best_practices_for_engine_contributors.rst:77 @@ -165,7 +165,7 @@ msgid "Additionally, solutions that target individual problems are better for th msgstr "" #: ../../docs/community/contributing/best_practices_for_engine_contributors.rst:94 -msgid "Big and flexible solutions also have an additional drawback which is that, over time, they rarely are flexible enough for all users, which keep requesting more functions added (and making the API and codebase more and more complex)." +msgid "Big and flexible solutions also have an additional drawback which is that, over time, they are rarely flexible enough for all users, which keep requesting more functions added (and making the API and codebase more and more complex)." msgstr "" #: ../../docs/community/contributing/best_practices_for_engine_contributors.rst:97 @@ -189,7 +189,7 @@ msgid "The question is then, how to design software that gives users what *we kn msgstr "" #: ../../docs/community/contributing/best_practices_for_engine_contributors.rst:109 -msgid "The answer to this question is that, to ensure users still can do what they want to do, we need to give them access to a *low level API* that they can use to achieve what they want, even if it's more work for them because it means reimplementing some of the logic that already exists." +msgid "The answer to this question is that, to ensure users still can do what they want to do, we need to give them access to a *low level API* that they can use to achieve what they want, even if it's more work for them because it means reimplementing some logic that already exists." msgstr "" #: ../../docs/community/contributing/best_practices_for_engine_contributors.rst:111 @@ -209,7 +209,7 @@ msgid "The main problem here is, adding something to the core layers that will o msgstr "" #: ../../docs/community/contributing/best_practices_for_engine_contributors.rst:120 -msgid "This is bad, because readability and cleanness of core APIs is always of extreme importance given how much code relies from it, and because it's key for new contributors as a starting point to learning the codebase." +msgid "This is bad, because readability and cleanness of core APIs is always of extreme importance given how much code relies on it, and because it's key for new contributors as a starting point to learning the codebase." msgstr "" #: ../../docs/community/contributing/best_practices_for_engine_contributors.rst:126 diff --git a/sphinx/templates/community/contributing/bisecting_regressions.pot b/sphinx/templates/community/contributing/bisecting_regressions.pot new file mode 100644 index 0000000000..a38afd9288 --- /dev/null +++ b/sphinx/templates/community/contributing/bisecting_regressions.pot @@ -0,0 +1,118 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2014-2020, 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: 2020-04-27 12:19+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/community/contributing/bisecting_regressions.rst:4 +msgid "Bisecting regressions" +msgstr "" + +#: ../../docs/community/contributing/bisecting_regressions.rst:8 +msgid "Bisecting is a way to find regressions in software. After reporting a bug on the `Godot repository on GitHub `__, you may be asked by a contributor to *bisect* the issue. Bisecting makes it possible for contributors to fix bugs faster, as they can know in advance which commit caused the regression. Your effort will be widely appreciated :)" +msgstr "" + +#: ../../docs/community/contributing/bisecting_regressions.rst:14 +msgid "The guide below explains how to find a regression by bisecting." +msgstr "" + +#: ../../docs/community/contributing/bisecting_regressions.rst:17 +msgid "What is bisecting?" +msgstr "" + +#: ../../docs/community/contributing/bisecting_regressions.rst:19 +msgid "Godot developers use the `Git `__ version control system. In the context of Git, bisecting is the process of performing a manual `binary search `__ to determine when a regression appeared. While it's typically used for bugs, it can also be used to find other kinds of unexpected changes such as performance regressions." +msgstr "" + +#: ../../docs/community/contributing/bisecting_regressions.rst:27 +msgid "Using official builds to speed up bisecting" +msgstr "" + +#: ../../docs/community/contributing/bisecting_regressions.rst:29 +msgid "Before using Git's ``bisect`` command, we strongly recommend trying to reproduce the bug with an older (or newer) official release. This greatly reduces the range of commits that potentially need to be built from source and tested. You can find binaries of official releases, as well as alphas, betas, and release candidates `here `__." +msgstr "" + +#: ../../docs/community/contributing/bisecting_regressions.rst:35 +msgid "For example, if you've reported a bug against Godot 3.2, you should first try to reproduce the bug in Godot 3.1 (not a patch release, see below for the reason). If the bug doesn't occur there, try to reproduce it in Godot 3.2 *beta 1* (which is roughly in the middle of all test builds available). If you can't reproduce the bug with Godot 3.2 beta 1, then try newer betas and RC builds. If you do manage to reproduce the bug with Godot 3.2 beta 1, then try older alpha builds." +msgstr "" + +#: ../../docs/community/contributing/bisecting_regressions.rst:44 +msgid "For bisecting regressions, don't use patch releases such as Godot 3.1.2. Instead, use the minor version's first release like Godot 3.1. This is because patch releases are built from a separate *stable branch*. This kind of branch doesn't follow the rest of Godot's development, which is done in the ``master`` branch." +msgstr "" + +#: ../../docs/community/contributing/bisecting_regressions.rst:51 +msgid "The Git bisect command" +msgstr "" + +#: ../../docs/community/contributing/bisecting_regressions.rst:53 +msgid "If you've found a build that didn't exhibit the bug in the above testing process, you can now start bisecting the regression. The Git version control system offers a built-in command for this: ``git bisect``. This makes the process semi-automated as you only have to build the engine, run it and try to reproduce the bug." +msgstr "" + +#: ../../docs/community/contributing/bisecting_regressions.rst:61 +msgid "Before bisecting a regression, you need to set up a build environment to compile Godot from source. To do so, read the :ref:`Compiling ` page for your target platform. (Compiling Godot from source doesn't require C++ programming knowledge.)" +msgstr "" + +#: ../../docs/community/contributing/bisecting_regressions.rst:66 +msgid "Note that compiling Godot can take a while on slow hardware (up an hour for each full rebuild on a slow dual-core CPU). This means the full process can take up to several hours. If your hardware is too slow, you may want to stop there and report the results of your \"pre-bisecting\" on the GitHub issue so another contributor can continue bisecting from there." +msgstr "" + +#: ../../docs/community/contributing/bisecting_regressions.rst:72 +msgid "To start bisecting, you must first determine the commit hashes (identifiers) of the \"bad\" and \"good\" build. \"bad\" refers to the build that exhibits the bug, whereas \"good\" refers to the version that doesn't exhibit the bug. If you're using a pre-release build as the \"good\" or \"bad\" build, browse the `download mirror `__, go to the folder that contains the pre-release you downloaded and look for the ``README.txt`` file. The commit hash is written inside that file." +msgstr "" + +#: ../../docs/community/contributing/bisecting_regressions.rst:80 +msgid "If you're using a stable release as the \"good\" or \"bad\" build, use one of the following commit hashes depending on the version:" +msgstr "" + +#: ../../docs/community/contributing/bisecting_regressions.rst:89 +msgid "To refer to the latest state of the master branch, you can use ``master`` instead of a commit hash." +msgstr "" + +#: ../../docs/community/contributing/bisecting_regressions.rst:92 +msgid ":ref:`Get Godot's source code using Git `. Once this is done, in the terminal window, use ``cd`` to reach the Godot repository folder and enter the following command:" +msgstr "" + +#: ../../docs/community/contributing/bisecting_regressions.rst:102 +msgid "Compile Godot. This assumes you've set up a build environment:" +msgstr "" + +#: ../../docs/community/contributing/bisecting_regressions.rst:110 +msgid "Since building Godot takes a while, you want to dedicate as many CPU threads as possible to the task. This is what the ``-j`` parameter does. Here, the command assigns 4 CPU threads to compiling Godot." +msgstr "" + +#: ../../docs/community/contributing/bisecting_regressions.rst:114 +msgid "Run the binary located in the ``bin/`` folder and try to reproduce the bug." +msgstr "" + +#: ../../docs/community/contributing/bisecting_regressions.rst:116 +msgid "If the build **still** exhibits the bug, run the following command:" +msgstr "" + +#: ../../docs/community/contributing/bisecting_regressions.rst:122 +msgid "If the build **does not** exhibit the bug, run the following command:" +msgstr "" + +#: ../../docs/community/contributing/bisecting_regressions.rst:128 +msgid "After entering one of the commands above, Git will switch to a different commit. You should now build Godot again, try to reproduce the bug, then enter ``git bisect good`` or ``git bisect bad`` depending on the result. You'll have to repeat this several times. The longer the commit range, the more steps will be required. 5 to 10 steps are usually sufficient to find most regressions; Git will remind you of the number of steps remaining (in the worst case scenario)." +msgstr "" + +#: ../../docs/community/contributing/bisecting_regressions.rst:135 +msgid "Once you've completed enough steps, Git will display the commit hash where the regression appeared. Write this commit hash as a comment to the GitHub issue you've bisected. This will help in solving the issue. Thanks again for contributing to Godot :)" +msgstr "" + +#: ../../docs/community/contributing/bisecting_regressions.rst:142 +msgid "You can read the full documentation on ``git bisect`` `here `__." +msgstr "" + diff --git a/sphinx/templates/community/contributing/bug_triage_guidelines.pot b/sphinx/templates/community/contributing/bug_triage_guidelines.pot index 0f7df39df9..4a5e84e306 100644 --- a/sphinx/templates/community/contributing/bug_triage_guidelines.pot +++ b/sphinx/templates/community/contributing/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: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -213,7 +213,7 @@ msgid "Milestones" msgstr "" #: ../../docs/community/contributing/bug_triage_guidelines.rst:120 -msgid "`Milestones `_ correspond to planned future versions of Godot for which there is an existing roadmap. Issues that fit in the said roadmap should be filed under the corresponding milestone; if they don't correspond to any current roadmap, they should be left without milestone. As a rule of thumb, an issue corresponds to a given milestone if it concerns a feature that is new in the milestone, or a critical bug that can't be accepted in any future stable release, or anything that Juan wants to work on right now :)" +msgid "`Milestones `_ correspond to planned future versions of Godot for which there is an existing roadmap. Issues that fit in the said roadmap should be filed under the corresponding milestone; if they don't correspond to any current roadmap, they should be left without milestone. As a rule of thumb, an issue corresponds to a given milestone if it concerns a feature that is new in the milestone, or a critical bug that can't be accepted in any future stable release, or anything that Juan wants to work on right now. :)" msgstr "" #: ../../docs/community/contributing/bug_triage_guidelines.rst:129 diff --git a/sphinx/templates/community/contributing/code_style_guidelines.pot b/sphinx/templates/community/contributing/code_style_guidelines.pot index 4e3ab6b895..3521d34c57 100644 --- a/sphinx/templates/community/contributing/code_style_guidelines.pot +++ b/sphinx/templates/community/contributing/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: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -57,11 +57,11 @@ msgid "As long as you ensure that your style matches the surrounding code and th msgstr "" #: ../../docs/community/contributing/code_style_guidelines.rst:37 -msgid "Godot's code style should *not* be applied to thirdparty code, i.e. that is included in Godot's source tree but was not written specifically for our project. Such code usually come from different upstream projects with their own style guides (or lack thereof), and don't want to introduce differences that would make syncing with upstream repositories harder." +msgid "Godot's code style should *not* be applied to third-party code, i.e. that is included in Godot's source tree but was not written specifically for our project. Such code usually come from different upstream projects with their own style guides (or lack thereof), and don't want to introduce differences that would make syncing with upstream repositories harder." msgstr "" #: ../../docs/community/contributing/code_style_guidelines.rst:44 -msgid "Thirdparty code is usually included in the ``thirdparty/`` folder and can thus easily be excluded from formatting scripts. For the rare cases where a thirdparty code snippet needs to be included directly within a Godot file, you can use ``/* clang-format off */`` and ``/* clang-format on */`` to tell clang-format to ignore a chunk of code." +msgid "Third-party code is usually included in the ``thirdparty/`` folder and can thus easily be excluded from formatting scripts. For the rare cases where a third-party code snippet needs to be included directly within a Godot file, you can use ``/* clang-format off */`` and ``/* clang-format on */`` to tell clang-format to ignore a chunk of code." msgstr "" #: ../../docs/community/contributing/code_style_guidelines.rst:52 @@ -181,11 +181,11 @@ msgid "Then come headers from Godot's own code base, included in alphabetical or msgstr "" #: ../../docs/community/contributing/code_style_guidelines.rst:142 -msgid "Finally, thirdparty headers (either from ``thirdparty`` or from the system's include paths) come next and should be included with the < and > symbols, e.g. ``#include ``. The block of thirdparty headers should also be followed by an empty line for separation." +msgid "Finally, third-party headers (either from ``thirdparty`` or from the system's include paths) come next and should be included with the < and > symbols, e.g. ``#include ``. The block of third-party headers should also be followed by an empty line for separation." msgstr "" #: ../../docs/community/contributing/code_style_guidelines.rst:146 -msgid "Godot and thirdparty headers should be included in the file that requires them, i.e. in the `.h` header if used in the declarative code or in the `.cpp` if used only in the imperative code." +msgid "Godot and third-party headers should be included in the file that requires them, i.e. in the `.h` header if used in the declarative code or in the `.cpp` if used only in the imperative code." msgstr "" #: ../../docs/community/contributing/code_style_guidelines.rst:150 @@ -197,7 +197,7 @@ msgid "Java" msgstr "" #: ../../docs/community/contributing/code_style_guidelines.rst:240 -msgid "Godot's Java code (mostly in ``platform/android``) is also enforced via ``clang-format``, so see the instructions above to set it up. Keep in mind that this style guide only applies to code written and maintained by Godot, not thirdparty code such as the ``java/src/com/google`` subfolder." +msgid "Godot's Java code (mostly in ``platform/android``) is also enforced via ``clang-format``, so see the instructions above to set it up. Keep in mind that this style guide only applies to code written and maintained by Godot, not third-party code such as the ``java/src/com/google`` subfolder." msgstr "" #: ../../docs/community/contributing/code_style_guidelines.rst:246 diff --git a/sphinx/templates/community/contributing/docs_writing_guidelines.pot b/sphinx/templates/community/contributing/docs_writing_guidelines.pot index ca2599bcbb..7d751a79ab 100644 --- a/sphinx/templates/community/contributing/docs_writing_guidelines.pot +++ b/sphinx/templates/community/contributing/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: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -382,7 +382,7 @@ msgid "For boolean member variables, always use ``if true`` and/or ``if false``, msgstr "" #: ../../docs/community/contributing/docs_writing_guidelines.rst:428 -msgid "Also surround boolean values, variable names and methods with ``[code][/code]``." +msgid "Also, surround boolean values, variable names and methods with ``[code][/code]``." msgstr "" #: ../../docs/community/contributing/docs_writing_guidelines.rst:430 @@ -466,7 +466,7 @@ msgid "First, you should always be using the default editor theme and text when msgstr "" #: ../../docs/community/contributing/docs_writing_guidelines.rst:509 -msgid "To improve the apperance of 3D screenshots, use 4× MSAA, enable anisotropic filtering on the project's textures, and set the anisotropic filter quality to 16× in Project Settings." +msgid "To improve the appearance of 3D screenshots, use 4× MSAA, enable anisotropic filtering on the project's textures, and set the anisotropic filter quality to 16× in Project Settings." msgstr "" #: ../../docs/community/contributing/docs_writing_guidelines.rst:513 diff --git a/sphinx/templates/community/contributing/documentation_guidelines.pot b/sphinx/templates/community/contributing/documentation_guidelines.pot index d5d49b67a9..a0e4b264ca 100644 --- a/sphinx/templates/community/contributing/documentation_guidelines.pot +++ b/sphinx/templates/community/contributing/documentation_guidelines.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\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 "Documentation guidelines" msgstr "" #: ../../docs/community/contributing/documentation_guidelines.rst:6 -msgid "This page describes the rules to follow if you want to contribute to Godot Engine by writing or reviewing documentation, or by translating existing documentation. Also have a look at README of the `godot-docs GitHub repository `_ and the `docs front page `_ on what steps to follow and how to contact the docs team." +msgid "This page describes the rules to follow if you want to contribute to Godot Engine by writing or reviewing documentation, or by translating existing documentation. Also, have a look at README of the `godot-docs GitHub repository `_ and the `docs front page `_ on what steps to follow and how to contact the docs team." msgstr "" #: ../../docs/community/contributing/documentation_guidelines.rst:14 @@ -49,110 +49,110 @@ msgid "The 'Edit on GitHub' link" msgstr "" #: ../../docs/community/contributing/documentation_guidelines.rst:42 -msgid "If you're reading documentation on ``docs.godotengine.org``, you'll see an **Edit on GitHub** hyperlink at the top right of the page. Once you've created a GitHub account, you can propose changes to a page you're reading as follows:" +msgid "If you're reading documentation on `docs.godotengine.org `_, you'll see an **Edit on GitHub** hyperlink at the top right of the page. Once you've created a GitHub account, you can propose changes to a page you're reading as follows:" msgstr "" -#: ../../docs/community/contributing/documentation_guidelines.rst:46 +#: ../../docs/community/contributing/documentation_guidelines.rst:47 msgid "Click the **Edit on GitHub** button." msgstr "" -#: ../../docs/community/contributing/documentation_guidelines.rst:48 +#: ../../docs/community/contributing/documentation_guidelines.rst:49 msgid "On the GitHub page you're taken to, click the pencil icon in the top-right corner near the **Raw**, **Blame** and **History** buttons. It has the tooltip \"Edit the file in a fork of this project\"." msgstr "" -#: ../../docs/community/contributing/documentation_guidelines.rst:52 +#: ../../docs/community/contributing/documentation_guidelines.rst:53 msgid "Complete all the edits you want to make for that page." msgstr "" -#: ../../docs/community/contributing/documentation_guidelines.rst:54 -msgid "Summarise the changes you made in the form at the bottom of the page and click the button labelled **Propose file change** when done." +#: ../../docs/community/contributing/documentation_guidelines.rst:55 +msgid "Summarize the changes you made in the form at the bottom of the page and click the button labelled **Propose file change** when done." msgstr "" -#: ../../docs/community/contributing/documentation_guidelines.rst:57 -msgid "On the following screens, click the **Create pull request** button until you see a message like ``Open. yourGitHubUsername wants to merge 1 commit into godotengine:master from yourGitHubUsername:patch-6``." +#: ../../docs/community/contributing/documentation_guidelines.rst:58 +msgid "On the following screens, click the **Create pull request** button until you see a message like *Username wants to merge 1 commit into godotengine:master from Username:patch-6*." msgstr "" -#: ../../docs/community/contributing/documentation_guidelines.rst:61 -msgid "A reviewer will evaluate your changes and incorporate them into the docs if they're judged to improve them. You might also be asked to make modifications to your changes before they're included." +#: ../../docs/community/contributing/documentation_guidelines.rst:62 +msgid "A reviewer will evaluate your changes and incorporate them into the docs if they're acceptable. You might also be asked to make modifications to your changes before they're included." msgstr "" -#: ../../docs/community/contributing/documentation_guidelines.rst:66 +#: ../../docs/community/contributing/documentation_guidelines.rst:67 msgid "What makes good documentation?" msgstr "" -#: ../../docs/community/contributing/documentation_guidelines.rst:68 -msgid "Documentation should be well written in plain English, using well-formed sentences and various levels of sections and subsections. It should be clear and objective. Also have a look at the :ref:`doc_docs_writing_guidelines`." +#: ../../docs/community/contributing/documentation_guidelines.rst:69 +msgid "Documentation should be well written in plain English, using well-formed sentences and various levels of sections and subsections. It should be clear and objective. Also, have a look at the :ref:`doc_docs_writing_guidelines`." msgstr "" -#: ../../docs/community/contributing/documentation_guidelines.rst:72 +#: ../../docs/community/contributing/documentation_guidelines.rst:73 msgid "We differentiate tutorial pages from other documentation pages by these definitions:" msgstr "" -#: ../../docs/community/contributing/documentation_guidelines.rst:75 +#: ../../docs/community/contributing/documentation_guidelines.rst:76 msgid "Tutorial: a page aiming at explaining how to use one or more concepts in the editor or scripts in order to achieve a specific goal with a learning purpose (e.g. \"Making a simple 2d Pong game\", \"Applying forces to an object\")." msgstr "" -#: ../../docs/community/contributing/documentation_guidelines.rst:79 +#: ../../docs/community/contributing/documentation_guidelines.rst:80 msgid "Documentation: a page describing precisely one and only one concept at a time, if possible exhaustively (e.g. the list of methods of the Sprite class, or an overview of the input management in Godot)." msgstr "" -#: ../../docs/community/contributing/documentation_guidelines.rst:83 +#: ../../docs/community/contributing/documentation_guidelines.rst:84 msgid "You are free to write the kind of documentation you wish, as long as you respect the following rules (and the ones on the repo)." msgstr "" -#: ../../docs/community/contributing/documentation_guidelines.rst:87 +#: ../../docs/community/contributing/documentation_guidelines.rst:88 msgid "Titles" msgstr "" -#: ../../docs/community/contributing/documentation_guidelines.rst:89 +#: ../../docs/community/contributing/documentation_guidelines.rst:90 msgid "Always begin pages with their title and a Sphinx reference name:" msgstr "" -#: ../../docs/community/contributing/documentation_guidelines.rst:98 -msgid "The reference allows to link to this page using the ``:ref:`` format, e.g. ``:ref:`doc_insert_your_title_here``` would link to the above example page (note the lack of leading underscore in the reference)." +#: ../../docs/community/contributing/documentation_guidelines.rst:99 +msgid "The reference allows linking to this page using the ``:ref:`` format, e.g. ``:ref:`doc_insert_your_title_here``` would link to the above example page (note the lack of leading underscore in the reference)." msgstr "" -#: ../../docs/community/contributing/documentation_guidelines.rst:102 +#: ../../docs/community/contributing/documentation_guidelines.rst:103 msgid "Also, avoid American CamelCase titles: title's first word should begin with a capitalized letter, and every following word should not. Thus, this is a good example:" msgstr "" -#: ../../docs/community/contributing/documentation_guidelines.rst:106 +#: ../../docs/community/contributing/documentation_guidelines.rst:107 msgid "Insert your title here" msgstr "" -#: ../../docs/community/contributing/documentation_guidelines.rst:108 +#: ../../docs/community/contributing/documentation_guidelines.rst:109 msgid "And this is a bad example:" msgstr "" -#: ../../docs/community/contributing/documentation_guidelines.rst:110 +#: ../../docs/community/contributing/documentation_guidelines.rst:111 msgid "Insert Your Title Here" msgstr "" -#: ../../docs/community/contributing/documentation_guidelines.rst:112 +#: ../../docs/community/contributing/documentation_guidelines.rst:113 msgid "Only project, people and node class names should have capitalized first letter." msgstr "" -#: ../../docs/community/contributing/documentation_guidelines.rst:116 +#: ../../docs/community/contributing/documentation_guidelines.rst:117 msgid "Translating existing pages" msgstr "" -#: ../../docs/community/contributing/documentation_guidelines.rst:118 +#: ../../docs/community/contributing/documentation_guidelines.rst:119 msgid "You can help to translate the official Godot documentation on our `Hosted Weblate `_." msgstr "" -#: ../../docs/community/contributing/documentation_guidelines.rst:125 -msgid "There also is the official `Godot I18N repository `_. where you can see when the data was last synced." -msgstr "" - #: ../../docs/community/contributing/documentation_guidelines.rst:128 -msgid "License" -msgstr "" - -#: ../../docs/community/contributing/documentation_guidelines.rst:130 -msgid "This documentation and every page it contains is published under the terms of the `Creative Commons Attribution 3.0 license (CC-BY-3.0) `_, with attribution to \"Juan Linietsky, Ariel Manzur and the Godot community\"." +msgid "There also is the official `Godot i18n repository `_ where you can see when the data was last synchronized." msgstr "" #: ../../docs/community/contributing/documentation_guidelines.rst:133 +msgid "License" +msgstr "" + +#: ../../docs/community/contributing/documentation_guidelines.rst:135 +msgid "This documentation and every page it contains is published under the terms of the `Creative Commons Attribution 3.0 license (CC-BY-3.0) `_, with attribution to \"Juan Linietsky, Ariel Manzur and the Godot community\"." +msgstr "" + +#: ../../docs/community/contributing/documentation_guidelines.rst:138 msgid "By contributing to the documentation on the GitHub repository, you agree that your changes are distributed under this license." msgstr "" diff --git a/sphinx/templates/community/contributing/index.pot b/sphinx/templates/community/contributing/index.pot index f10bffc863..3ce627ac9d 100644 --- a/sphinx/templates/community/contributing/index.pot +++ b/sphinx/templates/community/contributing/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "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/contributing/pr_workflow.pot b/sphinx/templates/community/contributing/pr_workflow.pot index 8374ea3533..081c524a0c 100644 --- a/sphinx/templates/community/contributing/pr_workflow.pot +++ b/sphinx/templates/community/contributing/pr_workflow.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\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 "The resulting *pull request* (PR) can then be reviewed by other contribut msgstr "" #: ../../docs/community/contributing/pr_workflow.rst:22 -msgid "We will go together through an example to show the typical workflow and associated Git commands. But first, let's have a quick look at the organisation of Godot's Git repository." +msgid "We will go together through an example to show the typical workflow and associated Git commands. But first, let's have a quick look at the organization of Godot's Git repository." msgstr "" #: ../../docs/community/contributing/pr_workflow.rst:27 @@ -333,7 +333,7 @@ msgid "But! You rewrote the history, and now your local and remote branches have msgstr "" #: ../../docs/community/contributing/pr_workflow.rst:445 -msgid "This is a sane behaviour, Git will not let you push changes that would override remote content. But that's actually what we want to do here, so we will have to *force* it:" +msgid "This is a sane behavior, Git will not let you push changes that would override remote content. But that's actually what we want to do here, so we will have to *force* it:" msgstr "" #: ../../docs/community/contributing/pr_workflow.rst:453 diff --git a/sphinx/templates/community/contributing/updating_the_class_reference.pot b/sphinx/templates/community/contributing/updating_the_class_reference.pot index 5f124176b6..1c0a69d46b 100644 --- a/sphinx/templates/community/contributing/updating_the_class_reference.pot +++ b/sphinx/templates/community/contributing/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: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -20,471 +20,471 @@ msgstr "" msgid "Contribute to the Class Reference" msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:6 +#: ../../docs/community/contributing/updating_the_class_reference.rst:8 msgid "Godot ships with many nodes and singletons to help you develop your games. Each is a class, documented in the :ref:`class reference `. This reference is essential for anyone learning the engine: it is available both online and in the engine." msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:9 +#: ../../docs/community/contributing/updating_the_class_reference.rst:11 msgid "But it's incomplete. Some methods, variables and signals lack descriptions. Others changed with recent releases and need updates. The developers can't write the entire reference on their own. Godot needs you, and all of us, to contribute." msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:12 +#: ../../docs/community/contributing/updating_the_class_reference.rst:14 msgid "**Important:** If you are planning to make larger changes or a more substantial contribution, it is usually a good idea to create an issue (or a comment in an existing one) to let others know so they don't start working on the same thing too." msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:15 +#: ../../docs/community/contributing/updating_the_class_reference.rst:17 msgid "This guide is available as a `video tutorial on YouTube `_." msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:19 +#: ../../docs/community/contributing/updating_the_class_reference.rst:21 msgid "How to contribute" msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:21 +#: ../../docs/community/contributing/updating_the_class_reference.rst:23 msgid "The class reference lies in the following XML files, in Godot's GitHub repository: `doc/classes/ `_." msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:23 +#: ../../docs/community/contributing/updating_the_class_reference.rst:25 msgid "There are 5 steps to update the class reference (full guide below):" msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:25 +#: ../../docs/community/contributing/updating_the_class_reference.rst:27 msgid "Fork `Godot's repository `_" msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:26 +#: ../../docs/community/contributing/updating_the_class_reference.rst:28 msgid "Clone your fork on your computer" msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:27 +#: ../../docs/community/contributing/updating_the_class_reference.rst:29 msgid "Edit the class file in ``doc/classes/`` to write documentation" msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:28 +#: ../../docs/community/contributing/updating_the_class_reference.rst:30 msgid "Commit your changes and push them to your fork" msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:29 +#: ../../docs/community/contributing/updating_the_class_reference.rst:31 msgid "Make a pull request on the Godot repository" msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:31 +#: ../../docs/community/contributing/updating_the_class_reference.rst:33 msgid "Always use these XML files to edit the API reference. Do not edit the generated .rst files :ref:`in the online documentation `, hosted in the `godot-docs `_ repository." msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:34 +#: ../../docs/community/contributing/updating_the_class_reference.rst:36 msgid "Get started with GitHub" msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:36 +#: ../../docs/community/contributing/updating_the_class_reference.rst:38 msgid "If you're new to git and GitHub, this guide will help you get started. You'll learn to:" msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:38 +#: ../../docs/community/contributing/updating_the_class_reference.rst:40 msgid "Fork and clone Godot's repository" msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:39 +#: ../../docs/community/contributing/updating_the_class_reference.rst:41 msgid "Keep your fork up to date with other contributors" msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:40 +#: ../../docs/community/contributing/updating_the_class_reference.rst:42 msgid "Create a pull request so your improvements end in the official docs" msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:42 +#: ../../docs/community/contributing/updating_the_class_reference.rst:44 msgid "If you're new to git, the version-control system Godot uses, go through `GitHub's interactive guide `_. You'll learn some essential vocabulary and get a sense for the tool." msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:45 +#: ../../docs/community/contributing/updating_the_class_reference.rst:47 msgid "Fork Godot" msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:47 +#: ../../docs/community/contributing/updating_the_class_reference.rst:49 msgid "Fork the Godot Engine into a GitHub repository of your own." msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:49 +#: ../../docs/community/contributing/updating_the_class_reference.rst:51 msgid "Clone the repository on your computer:" msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:55 -msgid "Create a new branch to make your changes. It makes it a lot easier to sync your improvements with other docs writers, and it's easier to cleanup your repository clean if you have any issues with git." +#: ../../docs/community/contributing/updating_the_class_reference.rst:57 +msgid "Create a new branch to make your changes. It makes it a lot easier to sync your improvements with other docs writers. It's also easier to clean up your repository if you run into any issues with Git." msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:61 +#: ../../docs/community/contributing/updating_the_class_reference.rst:63 msgid "The new branch is the same as your master branch, until you start to write API docs. In the ``doc/`` folder, you'll find the class reference." msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:64 +#: ../../docs/community/contributing/updating_the_class_reference.rst:66 msgid "How to keep your local clone up-to-date" msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:66 +#: ../../docs/community/contributing/updating_the_class_reference.rst:68 msgid "Other writers contribute to Godot's documentation. Your local repository will fall behind it, and you'll have to synchronize it. Especially if other contributors update the class reference while you work on it." msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:68 +#: ../../docs/community/contributing/updating_the_class_reference.rst:70 msgid "First add an ``upstream`` git *remote* to work with. Remotes are links to online repositories you can download new files from." msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:74 +#: ../../docs/community/contributing/updating_the_class_reference.rst:76 msgid "You can check the list of all remote servers with:" msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:80 -msgid "You should have two: ``origin``, your fork on github, that git adds by default, and ``upstream``, that you just added:" +#: ../../docs/community/contributing/updating_the_class_reference.rst:82 +msgid "You should have two: ``origin``, your fork on GitHub, that git adds by default, and ``upstream``, that you just added:" msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:90 +#: ../../docs/community/contributing/updating_the_class_reference.rst:92 msgid "Each time you want to sync your branch to the state of the upstream repository, enter:" msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:96 +#: ../../docs/community/contributing/updating_the_class_reference.rst:98 msgid "This command will first ``fetch``, or download the latest version of the Godot repository. Then, it will reapply your local changes on top." msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:98 +#: ../../docs/community/contributing/updating_the_class_reference.rst:100 msgid "If you made changes you don't want to keep in your local branch, use the following commands instead:" msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:105 +#: ../../docs/community/contributing/updating_the_class_reference.rst:107 msgid "**Warning:** The above command will reset your branch to the state of the ``upstream master`` branch. It will discard all local changes. Make sure to only run this *before* you make important changes." msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:107 -msgid "Another option is to delete the branch you're working on, synchronize the master branch with the Godot repository, and create a brand new branch:" +#: ../../docs/community/contributing/updating_the_class_reference.rst:109 +msgid "Another option is to delete the branch you're working on, synchronize the master branch with the Godot repository, and create a new branch:" msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:116 +#: ../../docs/community/contributing/updating_the_class_reference.rst:118 msgid "If you're feeling lost by now, come to our `IRC channels `_ and ask for help. Experienced git users will give you a hand." msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:119 +#: ../../docs/community/contributing/updating_the_class_reference.rst:121 msgid "Updating the documentation template" msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:121 +#: ../../docs/community/contributing/updating_the_class_reference.rst:123 msgid "When classes are modified in the source code, the documentation template might become outdated. To make sure that you are editing an up-to-date version, you first need to compile Godot (you can follow the :ref:`doc_introduction_to_the_buildsystem` page), and then run the following command (assuming 64-bit Linux):" msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:127 +#: ../../docs/community/contributing/updating_the_class_reference.rst:129 msgid "The xml files in doc/classes should then be up-to-date with current Godot Engine features. You can then check what changed using the ``git diff`` command. If there are changes to other classes than the one you are planning to document, please commit those changes first before starting to edit the template:" msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:134 +#: ../../docs/community/contributing/updating_the_class_reference.rst:136 msgid "You are now ready to edit this file to add stuff." msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:136 +#: ../../docs/community/contributing/updating_the_class_reference.rst:138 msgid "**Note:** If this has been done recently by another contributor, you don't forcefully need to go through these steps (unless you know that the class you plan to edit *has* been modified recently)." msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:139 +#: ../../docs/community/contributing/updating_the_class_reference.rst:141 msgid "Push and request a pull of your changes" msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:141 +#: ../../docs/community/contributing/updating_the_class_reference.rst:143 msgid "Once your modifications are finished, push your changes on your GitHub repository:" msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:150 +#: ../../docs/community/contributing/updating_the_class_reference.rst:152 msgid "When it's done, you can ask for a Pull Request via the GitHub UI of your Godot fork." msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:154 +#: ../../docs/community/contributing/updating_the_class_reference.rst:156 msgid "Although you can edit files on GitHub, it's not recommended. As hundreds of contributors work on Godot, the git history must stay clean. Each commit should bundle all related improvements you make to the class reference, a new feature, bug fixes... When you edit from GitHub, it will create a new branch and a Pull Request every time you want to save it. If a few days pass before your changes get a review, you won't be able to update to the latest version of the repository cleanly. Also, it's harder to keep clean indents from GitHub. And they're very important in the docs." msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:156 +#: ../../docs/community/contributing/updating_the_class_reference.rst:158 msgid "TL;DR: If you don't know what you're doing exactly, do not edit files from GitHub." msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:159 +#: ../../docs/community/contributing/updating_the_class_reference.rst:161 msgid "How to edit class XML" msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:161 +#: ../../docs/community/contributing/updating_the_class_reference.rst:163 msgid "Edit the file for your chosen class in ``doc/classes/`` to update the class reference. The folder contains an XML file for each class. The XML lists the constants and methods you'll find in the class reference. Godot generates and updates the XML automatically." msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:163 -msgid "Edit it using your favourite text editor. If you use a code editor, make sure that it doesn't change the indent style: tabs for the XML, and 4 spaces inside BBcode-style blocks. More on that below." +#: ../../docs/community/contributing/updating_the_class_reference.rst:165 +msgid "Edit it using your favorite text editor. If you use a code editor, make sure that it doesn't change the indent style: tabs for the XML, and 4 spaces inside BBcode-style blocks. More on that below." msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:165 +#: ../../docs/community/contributing/updating_the_class_reference.rst:167 msgid "If you need to check that the modifications you've made are correct in the generated documentation, build Godot as described :ref:`here `, run the editor and open the help for the page you modified." msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:168 +#: ../../docs/community/contributing/updating_the_class_reference.rst:170 msgid "How to write the class reference" msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:170 +#: ../../docs/community/contributing/updating_the_class_reference.rst:172 msgid "Each class has a brief and a long description. The brief description is always at the top of the page, while the full description lies below the list of methods, variables and constants. Methods, member variables, constants and signals are in separate categories or XML nodes. For each, learn how they work in Godot's source code, and fill their ." msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:172 +#: ../../docs/community/contributing/updating_the_class_reference.rst:174 msgid "Our job is to add the missing text between these marks:" msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:174 +#: ../../docs/community/contributing/updating_the_class_reference.rst:176 msgid "" msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:175 +#: ../../docs/community/contributing/updating_the_class_reference.rst:177 msgid "" msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:176 +#: ../../docs/community/contributing/updating_the_class_reference.rst:178 msgid "" msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:177 +#: ../../docs/community/contributing/updating_the_class_reference.rst:179 msgid "" msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:178 +#: ../../docs/community/contributing/updating_the_class_reference.rst:180 msgid "" msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:179 +#: ../../docs/community/contributing/updating_the_class_reference.rst:181 msgid "" msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:181 +#: ../../docs/community/contributing/updating_the_class_reference.rst:183 msgid "Write in a clear and simple language. Always follow the :ref:`writing guidelines ` to keep your descriptions short and easy to read. **Do not leave empty lines** in the descriptions: each line in the XML file will result in a new paragraph." msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:183 +#: ../../docs/community/contributing/updating_the_class_reference.rst:185 msgid "Here's how a class looks like in XML:" msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:222 +#: ../../docs/community/contributing/updating_the_class_reference.rst:224 msgid "Use a code editor like Vim, Atom, Code, Notepad++ or anything similar to edit the file quickly. Use the search function to find classes fast." msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:226 +#: ../../docs/community/contributing/updating_the_class_reference.rst:228 msgid "Improve formatting with BBcode style tags" msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:228 +#: ../../docs/community/contributing/updating_the_class_reference.rst:230 msgid "Godot's class reference supports BBcode-like tags. They add nice formatting to the text. Here's the list of available tags:" msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:231 +#: ../../docs/community/contributing/updating_the_class_reference.rst:233 msgid "Tag" msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:231 +#: ../../docs/community/contributing/updating_the_class_reference.rst:233 msgid "Effect" msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:231 +#: ../../docs/community/contributing/updating_the_class_reference.rst:233 msgid "Usage" msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:231 +#: ../../docs/community/contributing/updating_the_class_reference.rst:233 msgid "Result" msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:233 +#: ../../docs/community/contributing/updating_the_class_reference.rst:235 msgid "[Class]" msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:233 +#: ../../docs/community/contributing/updating_the_class_reference.rst:235 msgid "Link a class" msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:233 +#: ../../docs/community/contributing/updating_the_class_reference.rst:235 msgid "Move the [Sprite]." msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:233 +#: ../../docs/community/contributing/updating_the_class_reference.rst:235 msgid "Move the :ref:`class_sprite`." msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:235 +#: ../../docs/community/contributing/updating_the_class_reference.rst:237 msgid "[method methodname]" msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:235 +#: ../../docs/community/contributing/updating_the_class_reference.rst:237 msgid "Link to a method in this class" msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:235 +#: ../../docs/community/contributing/updating_the_class_reference.rst:237 msgid "Call [method hide]." msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:235 #: ../../docs/community/contributing/updating_the_class_reference.rst:237 +#: ../../docs/community/contributing/updating_the_class_reference.rst:239 msgid "See :ref:`hide `." msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:237 +#: ../../docs/community/contributing/updating_the_class_reference.rst:239 msgid "[method Class.methodname]" msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:237 +#: ../../docs/community/contributing/updating_the_class_reference.rst:239 msgid "Link to another class's method" msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:237 +#: ../../docs/community/contributing/updating_the_class_reference.rst:239 msgid "Call [method Spatial.hide]." msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:239 +#: ../../docs/community/contributing/updating_the_class_reference.rst:241 msgid "[member membername]" msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:239 +#: ../../docs/community/contributing/updating_the_class_reference.rst:241 msgid "Link to a member in this class" msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:239 +#: ../../docs/community/contributing/updating_the_class_reference.rst:241 msgid "Get [member scale]." msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:239 #: ../../docs/community/contributing/updating_the_class_reference.rst:241 +#: ../../docs/community/contributing/updating_the_class_reference.rst:243 msgid "Get :ref:`scale `." msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:241 +#: ../../docs/community/contributing/updating_the_class_reference.rst:243 msgid "[member Class.membername]" msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:241 +#: ../../docs/community/contributing/updating_the_class_reference.rst:243 msgid "Link to another class's member" msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:241 +#: ../../docs/community/contributing/updating_the_class_reference.rst:243 msgid "Get [member Node2D.scale]." msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:243 +#: ../../docs/community/contributing/updating_the_class_reference.rst:245 msgid "[signal signalname]" msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:243 +#: ../../docs/community/contributing/updating_the_class_reference.rst:245 msgid "Link to a signal in this class" msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:243 +#: ../../docs/community/contributing/updating_the_class_reference.rst:245 msgid "Emit [signal renamed]." msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:243 #: ../../docs/community/contributing/updating_the_class_reference.rst:245 +#: ../../docs/community/contributing/updating_the_class_reference.rst:247 msgid "Emit :ref:`renamed `." msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:245 +#: ../../docs/community/contributing/updating_the_class_reference.rst:247 msgid "[signal Class.signalname]" msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:245 +#: ../../docs/community/contributing/updating_the_class_reference.rst:247 msgid "Link to another class's signal" msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:245 +#: ../../docs/community/contributing/updating_the_class_reference.rst:247 msgid "Emit [signal Node.renamed]." msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:247 +#: ../../docs/community/contributing/updating_the_class_reference.rst:249 msgid "[b] [/b]" msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:247 +#: ../../docs/community/contributing/updating_the_class_reference.rst:249 msgid "Bold" msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:247 +#: ../../docs/community/contributing/updating_the_class_reference.rst:249 msgid "Some [b]bold[/b] text." msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:247 +#: ../../docs/community/contributing/updating_the_class_reference.rst:249 msgid "Some **bold** text." msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:249 +#: ../../docs/community/contributing/updating_the_class_reference.rst:251 msgid "[i] [/i]" msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:249 +#: ../../docs/community/contributing/updating_the_class_reference.rst:251 msgid "Italic" msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:249 +#: ../../docs/community/contributing/updating_the_class_reference.rst:251 msgid "Some [i]italic[/i] text." msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:249 +#: ../../docs/community/contributing/updating_the_class_reference.rst:251 msgid "Some *italic* text." msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:251 +#: ../../docs/community/contributing/updating_the_class_reference.rst:253 msgid "[code] [/code]" msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:251 +#: ../../docs/community/contributing/updating_the_class_reference.rst:253 msgid "Monospace" msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:251 +#: ../../docs/community/contributing/updating_the_class_reference.rst:253 msgid "Some [code]monospace[/code] text." msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:251 +#: ../../docs/community/contributing/updating_the_class_reference.rst:253 msgid "Some ``monospace`` text." msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:253 +#: ../../docs/community/contributing/updating_the_class_reference.rst:255 msgid "[codeblock] [/codeblock]" msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:253 +#: ../../docs/community/contributing/updating_the_class_reference.rst:255 msgid "Multiline preformatted block" msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:253 -#: ../../docs/community/contributing/updating_the_class_reference.rst:253 +#: ../../docs/community/contributing/updating_the_class_reference.rst:255 +#: ../../docs/community/contributing/updating_the_class_reference.rst:255 msgid "*See below.*" msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:256 +#: ../../docs/community/contributing/updating_the_class_reference.rst:258 msgid "Use ``[codeblock]`` for pre-formatted code blocks. Inside ``[codeblock]``, always use **four spaces** for indentation (the parser will delete tabs). Example:" msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:266 +#: ../../docs/community/contributing/updating_the_class_reference.rst:268 msgid "Will display as:" msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:276 +#: ../../docs/community/contributing/updating_the_class_reference.rst:278 msgid "I don't know what this method does!" msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:278 +#: ../../docs/community/contributing/updating_the_class_reference.rst:280 msgid "No problem. Leave it behind, and list the methods you skipped when you request a pull of your changes. Another writer will take care of it." msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:280 +#: ../../docs/community/contributing/updating_the_class_reference.rst:282 msgid "You can still have a look at the methods' implementation in Godot's source code on GitHub. Also, if you have doubts, feel free to ask on the `Q&A website `__ and on IRC (freenode, #godotengine)." msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:284 +#: ../../docs/community/contributing/updating_the_class_reference.rst:286 msgid "Localization" msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:286 +#: ../../docs/community/contributing/updating_the_class_reference.rst:288 msgid "The documentation can be translated in any language on `Hosted Weblate `__." msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:289 +#: ../../docs/community/contributing/updating_the_class_reference.rst:291 msgid "Translated strings are synced manually by documentation maintainers in the `godot-docs-l10n `__ repository." msgstr "" -#: ../../docs/community/contributing/updating_the_class_reference.rst:293 +#: ../../docs/community/contributing/updating_the_class_reference.rst:295 msgid "Languages with a good level of completion have their own localized instances of ReadTheDocs. Open an issue on the ``godot-docs-l10n`` repository if you think that a new language is complete enough to get its own instance." msgstr "" diff --git a/sphinx/templates/community/contributing/ways_to_contribute.pot b/sphinx/templates/community/contributing/ways_to_contribute.pot index f1bec09e42..4bae975fe9 100644 --- a/sphinx/templates/community/contributing/ways_to_contribute.pot +++ b/sphinx/templates/community/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: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -41,7 +41,7 @@ msgid "**Get involved in the engine's development.** This can be by contributing msgstr "" #: ../../docs/community/contributing/ways_to_contribute.rst:40 -msgid "**Donate.** Godot is a non-profit project, but it can still benefit from user donations for many things. Apart from usual expenses such as hosting costs or promotional material on events, we also use donation money to acquire hardware when necessary (e.g. we used donation money to buy a Macbook Pro to implement Retina/HiDPI support and various other macOS-related features). Most importantly, we also used donation money to hire core developers so they can work full-time on the engine. Even with a low monthly wage, we need a steady donation income to continue doing this, which has been very beneficial to the project so far. So if you want to donate some money to the project, check `our website `_ for details." +msgid "**Donate.** Godot is a non-profit project, but it can still benefit from user donations for many things. Apart from usual expenses such as hosting costs or promotional material on events, we also use donation money to acquire hardware when necessary (e.g. we used donation money to buy a MacBook Pro to implement Retina/HiDPI support and various other macOS-related features). Most importantly, we also used donation money to hire core developers so they can work full-time on the engine. Even with a low monthly wage, we need a steady donation income to continue doing this, which has been very beneficial to the project so far. So if you want to donate some money to the project, check `our website `_ for details." msgstr "" #: ../../docs/community/contributing/ways_to_contribute.rst:54 diff --git a/sphinx/templates/community/tutorials.pot b/sphinx/templates/community/tutorials.pot index 8f3b043dec..27bac423c4 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: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\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 "Tutorials and resources" msgstr "" #: ../../docs/community/tutorials.rst:6 -msgid "This is a list of third-party tutorials and resources created by the Godot community. For resources, remember that there is the official `Godot Asset Library `_ full of official and community resources too! Also have a look at this `huge list over at Reddit `_." +msgid "This is a list of third-party tutorials and resources created by the Godot community. For resources, remember that there is the official `Godot Asset Library `_ full of official and community resources too! Also, have a look at this `huge list over at Reddit `_." msgstr "" #: ../../docs/community/tutorials.rst:8 @@ -41,7 +41,7 @@ msgid "If you're interested in Visual Scripting, `Emilio's tutorials `_ (2D, GDScript)." +msgid "`Game Development Channel `_ (2D, GDScript)." msgstr "" #: ../../docs/community/tutorials.rst:25 -msgid "`Game from Scratch `_ (2D and 3D, GDScript and C#)." +msgid "`Game Endeavor `_ (2D, GDScript)." msgstr "" #: ../../docs/community/tutorials.rst:26 -msgid "`HeartBeast `_ (2D, GDScript)." +msgid "`Game from Scratch `_ (2D and 3D, GDScript and C#)." msgstr "" #: ../../docs/community/tutorials.rst:27 -msgid "`Jeremy Bullock `_ (2D and 3D, GDScript, VisualScript and C#)." +msgid "`HeartBeast `_ (2D, GDScript)." msgstr "" #: ../../docs/community/tutorials.rst:28 -msgid "`KidsCanCode `__ (2D and 3D, GDScript and VisualScript)." +msgid "`Jeremy Bullock `_ (2D and 3D, GDScript, VisualScript and C#)." msgstr "" #: ../../docs/community/tutorials.rst:29 -msgid "`Mister Taft Creates `_ (2D, GDScript)." +msgid "`KidsCanCode `__ (2D and 3D, GDScript and VisualScript)." msgstr "" #: ../../docs/community/tutorials.rst:30 -msgid "`Miziziziz `_ (2D, GDScript)." +msgid "`Mister Taft Creates `_ (2D, GDScript)." msgstr "" #: ../../docs/community/tutorials.rst:31 -msgid "`P1X / Krzysztof Jankowski `_ (3D)." +msgid "`Miziziziz `_ (2D, GDScript)." msgstr "" #: ../../docs/community/tutorials.rst:32 -msgid "`Pigdev `_ (2D, GDScript)." +msgid "`P1X / Krzysztof Jankowski `_ (3D)." msgstr "" #: ../../docs/community/tutorials.rst:33 -msgid "`Steincodes `__ (2D, GDScript and VisualScript)." +msgid "`Pigdev `_ (2D, GDScript)." msgstr "" #: ../../docs/community/tutorials.rst:34 -msgid "`TheBuffED `_ (2D, GDScript)." +msgid "`Steincodes `__ (2D, GDScript and VisualScript)." msgstr "" #: ../../docs/community/tutorials.rst:35 -msgid "`Code with Tom `_ (2D and 3D, GDScript)." +msgid "`TheBuffED `_ (2D, GDScript)." msgstr "" #: ../../docs/community/tutorials.rst:36 +msgid "`Code with Tom `_ (2D and 3D, GDScript)." +msgstr "" + +#: ../../docs/community/tutorials.rst:37 msgid "`BornCG `_ (3D, GDScript)." msgstr "" -#: ../../docs/community/tutorials.rst:39 +#: ../../docs/community/tutorials.rst:40 msgid "Text tutorials" msgstr "" -#: ../../docs/community/tutorials.rst:41 +#: ../../docs/community/tutorials.rst:42 msgid "`Godot Recipes by KidsCanCode `__" msgstr "" -#: ../../docs/community/tutorials.rst:42 +#: ../../docs/community/tutorials.rst:43 msgid "`Steincodes `__" msgstr "" -#: ../../docs/community/tutorials.rst:45 +#: ../../docs/community/tutorials.rst:46 msgid "Devlogs" msgstr "" -#: ../../docs/community/tutorials.rst:47 +#: ../../docs/community/tutorials.rst:48 msgid "`Andrea Catania (Physics & AI) `_" msgstr "" -#: ../../docs/community/tutorials.rst:48 +#: ../../docs/community/tutorials.rst:49 msgid "`Bastiaan Olij (AR & VR) `_" msgstr "" -#: ../../docs/community/tutorials.rst:51 +#: ../../docs/community/tutorials.rst:52 msgid "Resources" msgstr "" -#: ../../docs/community/tutorials.rst:53 +#: ../../docs/community/tutorials.rst:54 msgid "`awesome-godot: A curated list of resources by Calinou `_" msgstr "" -#: ../../docs/community/tutorials.rst:54 +#: ../../docs/community/tutorials.rst:55 msgid "`Zeef Godot Engine: A curated directory of resources by Andre Schmitz `_" msgstr "" diff --git a/sphinx/templates/development/compiling/compiling_for_android.pot b/sphinx/templates/development/compiling/compiling_for_android.pot index 1be893df3d..28b381d460 100644 --- a/sphinx/templates/development/compiling/compiling_for_android.pot +++ b/sphinx/templates/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: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -41,206 +41,214 @@ msgid "For compiling under Windows, Linux or macOS, the following is required:" msgstr "" #: ../../docs/development/compiling/compiling_for_android.rst:24 -msgid "`Python 2.7+ or Python 3.5+ `_" +msgid "`Python 3.5+ `_." msgstr "" #: ../../docs/development/compiling/compiling_for_android.rst:25 -msgid "`SCons `_ build system" +msgid "`SCons 3.0+ `_ build system." msgstr "" #: ../../docs/development/compiling/compiling_for_android.rst:26 -msgid "`Android SDK `_ (command-line tools are sufficient)" +msgid "`Android SDK `_ (command-line tools are sufficient)." msgstr "" -#: ../../docs/development/compiling/compiling_for_android.rst:28 -msgid "Required SDK components will be automatically installed by Gradle (except the NDK)" -msgstr "" - -#: ../../docs/development/compiling/compiling_for_android.rst:30 -msgid "`Android NDK `_ r17 or later" +#: ../../docs/development/compiling/compiling_for_android.rst:29 +msgid "Required SDK components will be automatically installed by Gradle (except the NDK)." msgstr "" #: ../../docs/development/compiling/compiling_for_android.rst:31 -msgid "Gradle (will be downloaded and installed automatically if missing)" +msgid "`Android NDK `_ r17 or later." msgstr "" #: ../../docs/development/compiling/compiling_for_android.rst:32 -msgid "JDK 8 (either OpenJDK or Oracle JDK)" +msgid "Gradle (will be downloaded and installed automatically if missing)." msgstr "" -#: ../../docs/development/compiling/compiling_for_android.rst:34 -msgid "JDK 9 or later are not currently supported" +#: ../../docs/development/compiling/compiling_for_android.rst:33 +msgid "JDK 8 (either OpenJDK or Oracle JDK)." msgstr "" #: ../../docs/development/compiling/compiling_for_android.rst:35 -msgid "You can download a build from `ojdkbuild `_" +msgid "JDK 9 or later are not currently supported." msgstr "" -#: ../../docs/development/compiling/compiling_for_android.rst:37 +#: ../../docs/development/compiling/compiling_for_android.rst:36 +msgid "You can download a build from `ojdkbuild `_." +msgstr "" + +#: ../../docs/development/compiling/compiling_for_android.rst:38 msgid "For a general overview of SCons usage for Godot, see :ref:`doc_introduction_to_the_buildsystem`." msgstr "" -#: ../../docs/development/compiling/compiling_for_android.rst:41 +#: ../../docs/development/compiling/compiling_for_android.rst:44 msgid "Setting up the buildsystem" msgstr "" -#: ../../docs/development/compiling/compiling_for_android.rst:43 +#: ../../docs/development/compiling/compiling_for_android.rst:46 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. Later on, ``gradlew`` will install necessary SDK components in this folder. However, you need to accept the SDK component licenses before they can be downloaded by Gradle. This can be done by running the following command from the root of the SDK directory, then answering all the prompts with ``y``:" msgstr "" -#: ../../docs/development/compiling/compiling_for_android.rst:57 +#: ../../docs/development/compiling/compiling_for_android.rst:60 msgid "Set the environment variable ``ANDROID_NDK_ROOT`` to point to the Android NDK. You also might need to set the variable ``ANDROID_NDK_HOME`` to the same path, especially if you are using custom Android modules, since some Gradle plugins rely on the NDK and use this variable to determine its location." msgstr "" -#: ../../docs/development/compiling/compiling_for_android.rst:63 +#: ../../docs/development/compiling/compiling_for_android.rst:66 msgid "To set those environment variables on Windows, press :kbd:`Windows + R`, type \"control system\", then click on **Advanced system settings** in the left pane, then click on **Environment variables** on the window that appears." msgstr "" -#: ../../docs/development/compiling/compiling_for_android.rst:68 +#: ../../docs/development/compiling/compiling_for_android.rst:71 msgid "To set those environment variables on Linux or macOS, use ``export ANDROID_HOME=/path/to/android-sdk`` and ``export ANDROID_NDK_ROOT=/path/to/android-ndk`` where ``/path/to/android-sdk`` and ``/path/to/android-ndk`` point to the root of the SDK and NDK directories." msgstr "" -#: ../../docs/development/compiling/compiling_for_android.rst:75 +#: ../../docs/development/compiling/compiling_for_android.rst:78 msgid "Building the export templates" msgstr "" -#: ../../docs/development/compiling/compiling_for_android.rst:77 +#: ../../docs/development/compiling/compiling_for_android.rst:80 msgid "Godot needs two export templates for Android: the optimized \"release\" template (``android_release.apk``) and the debug template (``android_debug.apk``). As Google will require all APKs to include ARMv8 (64-bit) libraries starting from August 2019, the commands below will build an APK containing both ARMv7 and ARMv8 libraries." msgstr "" -#: ../../docs/development/compiling/compiling_for_android.rst:83 +#: ../../docs/development/compiling/compiling_for_android.rst:86 msgid "Compiling the standard export templates is done by calling SCons with the following arguments:" msgstr "" -#: ../../docs/development/compiling/compiling_for_android.rst:86 +#: ../../docs/development/compiling/compiling_for_android.rst:89 msgid "Release template (used when exporting with **Debugging Enabled** unchecked)" msgstr "" -#: ../../docs/development/compiling/compiling_for_android.rst:99 +#: ../../docs/development/compiling/compiling_for_android.rst:102 msgid "The resulting APK will be located at ``bin/android_release.apk``." msgstr "" -#: ../../docs/development/compiling/compiling_for_android.rst:101 +#: ../../docs/development/compiling/compiling_for_android.rst:104 msgid "Debug template (used when exporting with **Debugging Enabled** checked)" msgstr "" -#: ../../docs/development/compiling/compiling_for_android.rst:114 +#: ../../docs/development/compiling/compiling_for_android.rst:117 msgid "The resulting APK will be located at ``bin/android_debug.apk``." msgstr "" -#: ../../docs/development/compiling/compiling_for_android.rst:117 +#: ../../docs/development/compiling/compiling_for_android.rst:120 msgid "Adding support for x86 devices" msgstr "" -#: ../../docs/development/compiling/compiling_for_android.rst:119 -msgid "If you also want to include support for x86 devices, run the SCons command a third time with the ``android_arch=x86`` argument before building the APK with Gradle. For example, for the release template:" +#: ../../docs/development/compiling/compiling_for_android.rst:122 +msgid "If you also want to include support for x86 and x86-64 devices, run the SCons command a third and fourth time with the ``android_arch=x86``, and ``android_arch=x86_64`` arguments before building the APK with Gradle. For example, for the release template:" msgstr "" -#: ../../docs/development/compiling/compiling_for_android.rst:135 +#: ../../docs/development/compiling/compiling_for_android.rst:140 msgid "This will create a fat binary that works on all platforms. The final APK size of exported projects will depend on the platforms you choose to support when exporting; in other words, unused platforms will be removed from the APK." msgstr "" -#: ../../docs/development/compiling/compiling_for_android.rst:141 +#: ../../docs/development/compiling/compiling_for_android.rst:146 msgid "Cleaning the generated export templates" msgstr "" -#: ../../docs/development/compiling/compiling_for_android.rst:143 +#: ../../docs/development/compiling/compiling_for_android.rst:148 msgid "You can use the following commands to remove the generated export templates:" msgstr "" -#: ../../docs/development/compiling/compiling_for_android.rst:155 +#: ../../docs/development/compiling/compiling_for_android.rst:160 msgid "Using the export templates" msgstr "" -#: ../../docs/development/compiling/compiling_for_android.rst:157 +#: ../../docs/development/compiling/compiling_for_android.rst:162 msgid "Godot needs release and debug APKs that were compiled against the same version/commit as the editor. If you are using official binaries for the editor, make sure to install the matching export templates, or build your own from the same version." msgstr "" -#: ../../docs/development/compiling/compiling_for_android.rst:162 +#: ../../docs/development/compiling/compiling_for_android.rst:167 msgid "When exporting your game, Godot opens the APK, changes a few things inside and adds your files." msgstr "" -#: ../../docs/development/compiling/compiling_for_android.rst:166 +#: ../../docs/development/compiling/compiling_for_android.rst:171 msgid "Installing the templates" msgstr "" -#: ../../docs/development/compiling/compiling_for_android.rst:168 +#: ../../docs/development/compiling/compiling_for_android.rst:173 msgid "The newly-compiled templates (``android_debug.apk`` and ``android_release.apk``) must be copied to Godot's templates folder with their respective names. The templates folder can be located in:" msgstr "" -#: ../../docs/development/compiling/compiling_for_android.rst:172 +#: ../../docs/development/compiling/compiling_for_android.rst:177 msgid "Windows: ``%APPDATA%\\Godot\\templates\\\\``" msgstr "" -#: ../../docs/development/compiling/compiling_for_android.rst:173 +#: ../../docs/development/compiling/compiling_for_android.rst:178 msgid "Linux: ``$HOME/.local/share/godot/templates//``" msgstr "" -#: ../../docs/development/compiling/compiling_for_android.rst:174 +#: ../../docs/development/compiling/compiling_for_android.rst:179 msgid "macOS: ``$HOME/Library/Application Support/Godot/templates//``" msgstr "" -#: ../../docs/development/compiling/compiling_for_android.rst:176 +#: ../../docs/development/compiling/compiling_for_android.rst:181 msgid "```` is of the form ``major.minor[.patch].status`` using values from ``version.py`` in your Godot source repository (e.g. ``3.0.5.stable`` or ``3.1.dev``). You also need to write this same version string to a ``version.txt`` file located next to your export templates." msgstr "" -#: ../../docs/development/compiling/compiling_for_android.rst:183 +#: ../../docs/development/compiling/compiling_for_android.rst:188 msgid "However, if you are writing your custom modules or custom C++ code, you might instead want to configure your APKs as custom export templates here:" msgstr "" -#: ../../docs/development/compiling/compiling_for_android.rst:189 +#: ../../docs/development/compiling/compiling_for_android.rst:194 msgid "You don't even need to copy them, you can just reference the resulting file in the ``bin\\`` directory of your Godot source folder, so that the next time you build you will automatically have the custom templates referenced." msgstr "" -#: ../../docs/development/compiling/compiling_for_android.rst:195 +#: ../../docs/development/compiling/compiling_for_android.rst:200 msgid "Troubleshooting" msgstr "" -#: ../../docs/development/compiling/compiling_for_android.rst:198 -msgid "Application not installed" -msgstr "" - -#: ../../docs/development/compiling/compiling_for_android.rst:200 -msgid "Android might complain the application is not correctly installed. If so:" -msgstr "" - #: ../../docs/development/compiling/compiling_for_android.rst:203 -msgid "Check that the debug keystore is properly generated." +msgid "Platform doesn't appear in SCons" msgstr "" -#: ../../docs/development/compiling/compiling_for_android.rst:204 -msgid "Check that the jarsigner executable is from JDK 8." -msgstr "" - -#: ../../docs/development/compiling/compiling_for_android.rst:206 -msgid "If it still fails, open a command line and run `logcat `_:" +#: ../../docs/development/compiling/compiling_for_android.rst:205 +msgid "Double-check that you've set both the ``ANDROID_HOME`` and ``ANDROID_NDK_ROOT`` environment variables. 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/development/compiling/compiling_for_android.rst:212 -msgid "Then check the output while the application is installed; the error message should be presented there. Seek assistance if you can't figure it out." +msgid "Application not installed" +msgstr "" + +#: ../../docs/development/compiling/compiling_for_android.rst:214 +msgid "Android might complain the application is not correctly installed. If so:" msgstr "" #: ../../docs/development/compiling/compiling_for_android.rst:217 -msgid "Application exits immediately" +msgid "Check that the debug keystore is properly generated." msgstr "" -#: ../../docs/development/compiling/compiling_for_android.rst:219 -msgid "If the application runs but exits immediately, this might be due to one of the following reasons:" +#: ../../docs/development/compiling/compiling_for_android.rst:218 +msgid "Check that the jarsigner executable is from JDK 8." msgstr "" -#: ../../docs/development/compiling/compiling_for_android.rst:222 -msgid "Make sure to use export templates that match your editor version; if you use a new Godot version, you *have* to update the templates too." -msgstr "" - -#: ../../docs/development/compiling/compiling_for_android.rst:224 -msgid "``libgodot_android.so`` is not in ``libs//`` where ```` is the device's architecture." +#: ../../docs/development/compiling/compiling_for_android.rst:220 +msgid "If it still fails, open a command line and run `logcat `_:" msgstr "" #: ../../docs/development/compiling/compiling_for_android.rst:226 +msgid "Then check the output while the application is installed; the error message should be presented there. Seek assistance if you can't figure it out." +msgstr "" + +#: ../../docs/development/compiling/compiling_for_android.rst:231 +msgid "Application exits immediately" +msgstr "" + +#: ../../docs/development/compiling/compiling_for_android.rst:233 +msgid "If the application runs but exits immediately, this might be due to one of the following reasons:" +msgstr "" + +#: ../../docs/development/compiling/compiling_for_android.rst:236 +msgid "Make sure to use export templates that match your editor version; if you use a new Godot version, you *have* to update the templates too." +msgstr "" + +#: ../../docs/development/compiling/compiling_for_android.rst:238 +msgid "``libgodot_android.so`` is not in ``libs//`` where ```` is the device's architecture." +msgstr "" + +#: ../../docs/development/compiling/compiling_for_android.rst:240 msgid "The device's architecture does not match the exported one(s). Make sure your templates were built for that device's architecture, and that the export settings included support for that architecture." msgstr "" -#: ../../docs/development/compiling/compiling_for_android.rst:230 +#: ../../docs/development/compiling/compiling_for_android.rst:244 msgid "In any case, ``adb logcat`` should also show the cause of the error." msgstr "" diff --git a/sphinx/templates/development/compiling/compiling_for_ios.pot b/sphinx/templates/development/compiling/compiling_for_ios.pot index d8b7831f37..5dbf3221a9 100644 --- a/sphinx/templates/development/compiling/compiling_for_ios.pot +++ b/sphinx/templates/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: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\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 "Requirements" msgstr "" #: ../../docs/development/compiling/compiling_for_ios.rst:11 -msgid "SCons (you can get it from macports, you should be able to run ``scons`` in a terminal when installed)" +msgid "SCons 3.0+ (you can install it via Homebrew or Macports, you should be able to run ``scons`` in a terminal when installed)." msgstr "" #: ../../docs/development/compiling/compiling_for_ios.rst:13 diff --git a/sphinx/templates/development/compiling/compiling_for_osx.pot b/sphinx/templates/development/compiling/compiling_for_osx.pot index a209b89822..99782f63ca 100644 --- a/sphinx/templates/development/compiling/compiling_for_osx.pot +++ b/sphinx/templates/development/compiling/compiling_for_osx.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\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 "For compiling under macOS, the following is required:" msgstr "" #: ../../docs/development/compiling/compiling_for_osx.rst:13 -msgid "Python 3.5+ (recommended) or Python 2.7+." +msgid "`Python 3.5+ `_." msgstr "" #: ../../docs/development/compiling/compiling_for_osx.rst:14 -msgid "`SCons `_ build system." +msgid "`SCons 3.0+ `_ build system." msgstr "" #: ../../docs/development/compiling/compiling_for_osx.rst:15 @@ -69,38 +69,42 @@ msgid "If all goes well, the resulting binary executable will be placed in the ` msgstr "" #: ../../docs/development/compiling/compiling_for_osx.rst:42 -msgid "To create an .app like in the official builds, you need to use the template located in ``misc/dist/osx_tools.app``. Typically, for an optimized editor binary built with ``scons p=osx target=release_debug``::" +msgid "If you want to use separate editor settings for your own Godot builds and official releases, you can enable :ref:`doc_data_paths_self_contained_mode` by creating a file called ``._sc_`` or ``_sc_`` in the ``bin/`` folder." msgstr "" -#: ../../docs/development/compiling/compiling_for_osx.rst:52 +#: ../../docs/development/compiling/compiling_for_osx.rst:47 +msgid "To create an ``.app`` bundle like in the official builds, you need to use the template located in ``misc/dist/osx_tools.app``. Typically, for an optimized editor binary built with ``scons p=osx target=release_debug``::" +msgstr "" + +#: ../../docs/development/compiling/compiling_for_osx.rst:57 msgid "Cross-compiling for macOS from Linux" msgstr "" -#: ../../docs/development/compiling/compiling_for_osx.rst:54 +#: ../../docs/development/compiling/compiling_for_osx.rst:59 msgid "It is possible to compile for macOS in a Linux environment (and maybe also in Windows using the Windows Subsystem for Linux). For that, you'll need to install `OSXCross `__ to be able to use macOS as a target. First, follow the instructions to install it:" msgstr "" -#: ../../docs/development/compiling/compiling_for_osx.rst:59 +#: ../../docs/development/compiling/compiling_for_osx.rst:64 msgid "Clone the `OSXCross repository `__ somewhere on your machine (or download a ZIP file and extract it somewhere), e.g.::" msgstr "" -#: ../../docs/development/compiling/compiling_for_osx.rst:65 +#: ../../docs/development/compiling/compiling_for_osx.rst:70 msgid "Follow the instructions to package the SDK: https://github.com/tpoechtrager/osxcross#packaging-the-sdk" msgstr "" -#: ../../docs/development/compiling/compiling_for_osx.rst:67 +#: ../../docs/development/compiling/compiling_for_osx.rst:72 msgid "Follow the instructions to install OSXCross: https://github.com/tpoechtrager/osxcross#installation" msgstr "" -#: ../../docs/development/compiling/compiling_for_osx.rst:70 +#: ../../docs/development/compiling/compiling_for_osx.rst:75 msgid "After that, you will need to define the ``OSXCROSS_ROOT`` as the path to the OSXCross installation (the same place where you cloned the repository/extracted the zip), e.g.::" msgstr "" -#: ../../docs/development/compiling/compiling_for_osx.rst:76 +#: ../../docs/development/compiling/compiling_for_osx.rst:81 msgid "Now you can compile with SCons like you normally would::" msgstr "" -#: ../../docs/development/compiling/compiling_for_osx.rst:80 +#: ../../docs/development/compiling/compiling_for_osx.rst:85 msgid "If you have an OSXCross SDK version different from the one expected by the SCons buildsystem, you can specify a custom one with the ``osxcross_sdk`` argument::" msgstr "" diff --git a/sphinx/templates/development/compiling/compiling_for_uwp.pot b/sphinx/templates/development/compiling/compiling_for_uwp.pot index 55b4876f9d..ad99a605ea 100644 --- a/sphinx/templates/development/compiling/compiling_for_uwp.pot +++ b/sphinx/templates/development/compiling/compiling_for_uwp.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -25,26 +25,26 @@ msgid "Requirements" msgstr "" #: ../../docs/development/compiling/compiling_for_uwp.rst:11 -msgid "SCons (see :ref:`doc_compiling_for_windows` for more details)." +msgid "SCons 3.0+ (see :ref:`doc_compiling_for_windows` for more details)." msgstr "" #: ../../docs/development/compiling/compiling_for_uwp.rst:12 -msgid "Visual Studio 2015 Update 2. It may work with earlier versions. See :ref:`doc_compiling_for_windows` about the caveats of installing it and the various prompts." +msgid "Visual Studio 2017 or later. See :ref:`doc_compiling_for_windows` about the caveats of installing it and the various prompts." msgstr "" -#: ../../docs/development/compiling/compiling_for_uwp.rst:15 +#: ../../docs/development/compiling/compiling_for_uwp.rst:14 msgid "Windows 10 SDK (can be selected in Visual Studio installation)." msgstr "" -#: ../../docs/development/compiling/compiling_for_uwp.rst:16 +#: ../../docs/development/compiling/compiling_for_uwp.rst:15 msgid "`ANGLE source `__. Use the ``ms_master`` (default) branch. Keep it in a path without spaces to avoid problems." msgstr "" -#: ../../docs/development/compiling/compiling_for_uwp.rst:20 +#: ../../docs/development/compiling/compiling_for_uwp.rst:19 msgid "The ANGLE repo by Microsoft has been discontinued and the ``ms_master`` branch has been cleared out." msgstr "" -#: ../../docs/development/compiling/compiling_for_uwp.rst:23 +#: ../../docs/development/compiling/compiling_for_uwp.rst:22 msgid "As a temporary workaround however, it is still possible to download an older state of the source code via commit `c61d048 `__." msgstr "" diff --git a/sphinx/templates/development/compiling/compiling_for_web.pot b/sphinx/templates/development/compiling/compiling_for_web.pot index edbe3ca16a..e0be89062c 100644 --- a/sphinx/templates/development/compiling/compiling_for_web.pot +++ b/sphinx/templates/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: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -29,66 +29,66 @@ msgid "To compile export templates for the Web, the following is required:" msgstr "" #: ../../docs/development/compiling/compiling_for_web.rst:13 -msgid "`Emscripten 1.38.27+ `__: If the version available per package manager is not recent enough, the best alternative is to install using the `Emscripten SDK `__" +msgid "`Emscripten 1.39.0+ `__." msgstr "" -#: ../../docs/development/compiling/compiling_for_web.rst:16 -msgid "`Python 2.7+ or Python 3.5+ `__" +#: ../../docs/development/compiling/compiling_for_web.rst:14 +msgid "`Python 3.5+ `__." +msgstr "" + +#: ../../docs/development/compiling/compiling_for_web.rst:15 +msgid "`SCons 3.0+ `__ build system." msgstr "" #: ../../docs/development/compiling/compiling_for_web.rst:17 -msgid "`SCons `__ build system" -msgstr "" - -#: ../../docs/development/compiling/compiling_for_web.rst:19 msgid "For a general overview of SCons usage for Godot, see :ref:`doc_introduction_to_the_buildsystem`." msgstr "" -#: ../../docs/development/compiling/compiling_for_web.rst:23 +#: ../../docs/development/compiling/compiling_for_web.rst:21 msgid "Building export templates" msgstr "" -#: ../../docs/development/compiling/compiling_for_web.rst:25 +#: ../../docs/development/compiling/compiling_for_web.rst:23 msgid "Before starting, confirm that the Emscripten configuration file exists and specifies all settings correctly. This file is available as ``~/.emscripten`` on UNIX-like systems and ``%USERPROFILE%\\.emscripten`` on Windows. It's usually written by the Emscripten SDK, e.g. when invoking ``emsdk activate latest``, or by your package manager. It's also created when starting Emscripten's ``emcc`` program if the file doesn't exist." msgstr "" -#: ../../docs/development/compiling/compiling_for_web.rst:32 +#: ../../docs/development/compiling/compiling_for_web.rst:30 msgid "On Windows, make sure to escape backslashes of paths within the Emscripten configuration file as double backslashes ``\\\\`` or use Unix-style paths with a single forward slash ``/``." msgstr "" -#: ../../docs/development/compiling/compiling_for_web.rst:36 +#: ../../docs/development/compiling/compiling_for_web.rst:34 msgid "Open a terminal and navigate to the root directory of the engine source code. Then instruct SCons to build the JavaScript platform. Specify ``target`` as either ``release`` for a release build or ``release_debug`` for a debug build::" msgstr "" -#: ../../docs/development/compiling/compiling_for_web.rst:43 +#: ../../docs/development/compiling/compiling_for_web.rst:41 msgid "By default, the :ref:`JavaScript singleton ` will be built into the engine. Since ``eval()`` calls can be a security concern, the ``javascript_eval`` option can be used to build without the singleton::" msgstr "" -#: ../../docs/development/compiling/compiling_for_web.rst:50 +#: ../../docs/development/compiling/compiling_for_web.rst:48 msgid "The engine will now be compiled to WebAssembly by Emscripten. Once finished, the resulting file will be placed in the ``bin`` subdirectory. Its name is ``godot.javascript.opt.zip`` for release or ``godot.javascript.opt.debug.zip`` for debug." msgstr "" -#: ../../docs/development/compiling/compiling_for_web.rst:55 +#: ../../docs/development/compiling/compiling_for_web.rst:53 msgid "Finally, rename the zip archive to ``webassembly_release.zip`` for the release template::" msgstr "" -#: ../../docs/development/compiling/compiling_for_web.rst:60 +#: ../../docs/development/compiling/compiling_for_web.rst:58 msgid "And ``webassembly_debug.zip`` for the debug template::" msgstr "" -#: ../../docs/development/compiling/compiling_for_web.rst:65 +#: ../../docs/development/compiling/compiling_for_web.rst:63 msgid "Building per asm.js translation or LLVM backend" msgstr "" -#: ../../docs/development/compiling/compiling_for_web.rst:67 +#: ../../docs/development/compiling/compiling_for_web.rst:65 msgid "WebAssembly can be compiled in two ways: The default is to first compile to asm.js, a highly optimizable subset of JavaScript, using Emscripten's *fastcomp* fork of LLVM. This code is then translated to WebAssembly using a tool called ``asm2wasm``. Emscripten automatically takes care of both processes, we simply run SCons." msgstr "" -#: ../../docs/development/compiling/compiling_for_web.rst:73 +#: ../../docs/development/compiling/compiling_for_web.rst:71 msgid "The other method uses LLVM's WebAssembly backend. This backend is available starting with LLVM 8 or in development builds. Emscripten manages this process as well, so we just invoke SCons." msgstr "" -#: ../../docs/development/compiling/compiling_for_web.rst:77 +#: ../../docs/development/compiling/compiling_for_web.rst:75 msgid "In order to choose one of the two methods, the ``LLVM_ROOT`` variable in the Emscripten configuration file is used. If it points to a directory containing binaries of Emscripten's *fastcomp* fork of clang, ``asm2wasm`` is used. This is the default in a normal Emscripten installation. Otherwise, LLVM binaries built with the WebAssembly backend will be expected and the LLVM's WebAssembly backend is used." msgstr "" diff --git a/sphinx/templates/development/compiling/compiling_for_windows.pot b/sphinx/templates/development/compiling/compiling_for_windows.pot index 086ff34ac5..ded1742519 100644 --- a/sphinx/templates/development/compiling/compiling_for_windows.pot +++ b/sphinx/templates/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: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -29,19 +29,19 @@ msgid "For compiling under Windows, the following is required:" msgstr "" #: ../../docs/development/compiling/compiling_for_windows.rst:13 -msgid "`Visual Studio Community `_, version 2015 (14.0) or later. VS 2019 is recommended. **Make sure to read \"Installing Visual Studio caveats\" below or you will have to run/download the installer again.**" +msgid "`Visual Studio Community `_, version 2017 or later. VS 2019 is recommended. **Make sure to read \"Installing Visual Studio caveats\" below or you will have to run/download the installer again.**" msgstr "" #: ../../docs/development/compiling/compiling_for_windows.rst:17 -msgid "MinGW-w64 with GCC can be used as an alternative to Visual Studio. Be sure to install/configure it to use the ``posix`` thread model." +msgid "`MinGW-w64 `__ with GCC can be used as an alternative to Visual Studio. Be sure to install/configure it to use the ``posix`` thread model." msgstr "" #: ../../docs/development/compiling/compiling_for_windows.rst:19 -msgid "`Python 3.5+ (recommended) or Python 2.7+. `_" +msgid "`Python 3.5+ `_." msgstr "" #: ../../docs/development/compiling/compiling_for_windows.rst:20 -msgid "`SCons `_ build system. If using Visual Studio 2019, you *must* have SCons 3.1.1 or later." +msgid "`SCons 3.0 `_ build system. If using Visual Studio 2019, you need at least SCons 3.1.1." msgstr "" #: ../../docs/development/compiling/compiling_for_windows.rst:22 @@ -56,6 +56,10 @@ msgstr "" msgid "If you have `MSYS2 `_ installed, you can easily install MinGW and other dependencies using the following command::" msgstr "" +#: ../../docs/development/compiling/compiling_for_windows.rst:37 +msgid "For each MSYS2 MinGW subsystem, you should then run `pip install scons` in its shell." +msgstr "" + #: ../../docs/development/compiling/compiling_for_windows.rst:40 msgid "For a general overview of SCons usage for Godot, see :ref:`doc_introduction_to_the_buildsystem`." msgstr "" @@ -133,7 +137,7 @@ msgid "You can specify a number of CPU threads to use to speed up the build::" msgstr "" #: ../../docs/development/compiling/compiling_for_windows.rst:112 -msgid "In general, it is OK to have at least as many threads compiling Godot as you have cores in your CPU, if not one or two more. Feel free to add the -j option to any SCons command you see below." +msgid "In general, it is OK to have at least as many threads compiling Godot as you have cores in your CPU, if not one or two more. Feel free to add the ``-j`` option to any SCons command you see below." msgstr "" #: ../../docs/development/compiling/compiling_for_windows.rst:116 @@ -141,126 +145,126 @@ msgid "When compiling with multiple CPU threads, SCons may warn about pywin32 be msgstr "" #: ../../docs/development/compiling/compiling_for_windows.rst:119 -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``." +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 ``bits=64`` or ``bits=32``." msgstr "" -#: ../../docs/development/compiling/compiling_for_windows.rst:123 -msgid "By default, SCons will build a binary matching your CPU architecture, but this can be overridden using ``bits=64`` or ``bits=32``." -msgstr "" - -#: ../../docs/development/compiling/compiling_for_windows.rst:126 +#: ../../docs/development/compiling/compiling_for_windows.rst:125 msgid "This executable file contains the whole engine and runs without any dependencies. Running it will bring up the Project Manager." msgstr "" -#: ../../docs/development/compiling/compiling_for_windows.rst:129 +#: ../../docs/development/compiling/compiling_for_windows.rst:128 msgid "If you are compiling Godot for production use, then you can make the final executable smaller and faster by adding the SCons option ``target=release_debug``." msgstr "" -#: ../../docs/development/compiling/compiling_for_windows.rst:133 +#: ../../docs/development/compiling/compiling_for_windows.rst:132 msgid "If you are compiling Godot with MinGW, you can make the binary even smaller and faster by adding the SCons option ``use_lto=yes``. As link-time optimization is a memory-intensive process, this will require about 3 GB of available RAM while compiling." msgstr "" -#: ../../docs/development/compiling/compiling_for_windows.rst:139 +#: ../../docs/development/compiling/compiling_for_windows.rst:137 +msgid "If you want to use separate editor settings for your own Godot builds and official releases, you can enable :ref:`doc_data_paths_self_contained_mode` by creating a file called ``._sc_`` or ``_sc_`` in the ``bin/`` folder." +msgstr "" + +#: ../../docs/development/compiling/compiling_for_windows.rst:143 msgid "Development in Visual Studio or other IDEs" msgstr "" -#: ../../docs/development/compiling/compiling_for_windows.rst:141 +#: ../../docs/development/compiling/compiling_for_windows.rst:145 msgid "For most projects, using only scripting is enough but when development in C++ is needed, for creating modules or extending the engine, working with an IDE is usually desirable." msgstr "" -#: ../../docs/development/compiling/compiling_for_windows.rst:145 +#: ../../docs/development/compiling/compiling_for_windows.rst:149 msgid "You can create a Visual Studio solution via SCons by running SCons with the ``vsproj=yes`` parameter, like this::" msgstr "" -#: ../../docs/development/compiling/compiling_for_windows.rst:150 +#: ../../docs/development/compiling/compiling_for_windows.rst:154 msgid "You will be able to open Godot's source in a Visual Studio solution now, and able to build Godot using Visual Studio's **Build** button." msgstr "" -#: ../../docs/development/compiling/compiling_for_windows.rst:153 +#: ../../docs/development/compiling/compiling_for_windows.rst:157 msgid "If you need to edit the build commands, they are located in \"Godot\" project settings, NMAKE sheet. SCons is called at the end of the commands. If you make a mistake, copy the command from one of the other build configurations (debug, release_debug, release) or architectures (Win32/x64); they are equivalent." msgstr "" -#: ../../docs/development/compiling/compiling_for_windows.rst:160 +#: ../../docs/development/compiling/compiling_for_windows.rst:164 msgid "Cross-compiling for Windows from other operating systems" msgstr "" -#: ../../docs/development/compiling/compiling_for_windows.rst:162 -msgid "If you are a Linux or macOS user, you need to install `MinGW-w64 `_, which typically comes in 32-bit and 64-bit variants. The package names may differ based on your distribution, here are some known ones:" +#: ../../docs/development/compiling/compiling_for_windows.rst:166 +msgid "If you are a Linux or macOS user, you need to install `MinGW-w64 `__, which typically comes in 32-bit and 64-bit variants. The package names may differ based on your distribution, here are some known ones:" msgstr "" -#: ../../docs/development/compiling/compiling_for_windows.rst:168 +#: ../../docs/development/compiling/compiling_for_windows.rst:172 msgid "**Arch Linux**" msgstr "" -#: ../../docs/development/compiling/compiling_for_windows.rst:168 +#: ../../docs/development/compiling/compiling_for_windows.rst:172 msgid "Install `mingw-w64-gcc from the AUR`_." msgstr "" -#: ../../docs/development/compiling/compiling_for_windows.rst:170 +#: ../../docs/development/compiling/compiling_for_windows.rst:174 msgid "**Debian** / **Ubuntu**" msgstr "" -#: ../../docs/development/compiling/compiling_for_windows.rst:174 +#: ../../docs/development/compiling/compiling_for_windows.rst:178 msgid "**Fedora**" msgstr "" -#: ../../docs/development/compiling/compiling_for_windows.rst:179 +#: ../../docs/development/compiling/compiling_for_windows.rst:183 msgid "**macOS**" msgstr "" -#: ../../docs/development/compiling/compiling_for_windows.rst:183 +#: ../../docs/development/compiling/compiling_for_windows.rst:187 msgid "**Mageia**" msgstr "" -#: ../../docs/development/compiling/compiling_for_windows.rst:191 +#: ../../docs/development/compiling/compiling_for_windows.rst:195 msgid "Before attempting the compilation, SCons will check for the following binaries in your ``PATH`` environment variable::" msgstr "" -#: ../../docs/development/compiling/compiling_for_windows.rst:197 +#: ../../docs/development/compiling/compiling_for_windows.rst:201 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::" msgstr "" -#: ../../docs/development/compiling/compiling_for_windows.rst:204 +#: ../../docs/development/compiling/compiling_for_windows.rst:208 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/development/compiling/compiling_for_windows.rst:212 +#: ../../docs/development/compiling/compiling_for_windows.rst:216 msgid "Troubleshooting" msgstr "" -#: ../../docs/development/compiling/compiling_for_windows.rst:214 +#: ../../docs/development/compiling/compiling_for_windows.rst:218 msgid "Cross-compiling from some Ubuntu versions may lead to `this bug `_, due to a default configuration lacking support for POSIX threading." msgstr "" -#: ../../docs/development/compiling/compiling_for_windows.rst:218 +#: ../../docs/development/compiling/compiling_for_windows.rst:222 msgid "You can change that configuration following those instructions, for 64-bit::" msgstr "" -#: ../../docs/development/compiling/compiling_for_windows.rst:226 +#: ../../docs/development/compiling/compiling_for_windows.rst:230 msgid "And for 32-bit::" msgstr "" -#: ../../docs/development/compiling/compiling_for_windows.rst:234 +#: ../../docs/development/compiling/compiling_for_windows.rst:238 msgid "Creating Windows export templates" msgstr "" -#: ../../docs/development/compiling/compiling_for_windows.rst:236 +#: ../../docs/development/compiling/compiling_for_windows.rst:240 msgid "Windows export templates are created by compiling Godot without the editor, with the following flags::" msgstr "" -#: ../../docs/development/compiling/compiling_for_windows.rst:244 +#: ../../docs/development/compiling/compiling_for_windows.rst:248 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/development/compiling/compiling_for_windows.rst:250 +#: ../../docs/development/compiling/compiling_for_windows.rst:254 msgid "With the following names::" msgstr "" -#: ../../docs/development/compiling/compiling_for_windows.rst:257 +#: ../../docs/development/compiling/compiling_for_windows.rst:261 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/development/compiling/compiling_for_windows.rst:263 +#: ../../docs/development/compiling/compiling_for_windows.rst:267 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/development/compiling/compiling_for_x11.pot b/sphinx/templates/development/compiling/compiling_for_x11.pot index b37f90ebc4..24c0e498eb 100644 --- a/sphinx/templates/development/compiling/compiling_for_x11.pot +++ b/sphinx/templates/development/compiling/compiling_for_x11.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -29,186 +29,190 @@ msgid "For compiling under Linux or other Unix variants, the following is requir msgstr "" #: ../../docs/development/compiling/compiling_for_x11.rst:14 -msgid "GCC or Clang" +msgid "GCC 7+ or Clang 6+." msgstr "" #: ../../docs/development/compiling/compiling_for_x11.rst:15 -msgid "Python 3 or 2.7+" +msgid "Python 3.5+." msgstr "" #: ../../docs/development/compiling/compiling_for_x11.rst:16 -msgid "SCons build system (3.0 or later for Python 3)" -msgstr "" - -#: ../../docs/development/compiling/compiling_for_x11.rst:17 -msgid "pkg-config (used to detect the dependencies below)" -msgstr "" - -#: ../../docs/development/compiling/compiling_for_x11.rst:18 -msgid "X11, Xcursor, Xinerama, Xi and XRandR development libraries" -msgstr "" - -#: ../../docs/development/compiling/compiling_for_x11.rst:19 -msgid "MesaGL development libraries" -msgstr "" - -#: ../../docs/development/compiling/compiling_for_x11.rst:20 -msgid "ALSA development libraries" +msgid "SCons 3.0+ build system. If your distribution uses Python 2 by default, or you are using a version of SCons prior to 3.1.2, you will need to change the version of Python that SCons uses by changing the shebang (the first line) of the SCons script file to ``#! /usr/bin/python3``. Use the command ``which scons`` to find the location of the SCons script file." msgstr "" #: ../../docs/development/compiling/compiling_for_x11.rst:21 -msgid "PulseAudio development libraries" +msgid "pkg-config (used to detect the dependencies below)." msgstr "" #: ../../docs/development/compiling/compiling_for_x11.rst:22 -msgid "*Optional* - libudev (build with ``udev=yes``)" +msgid "X11, Xcursor, Xinerama, Xi and XRandR development libraries." msgstr "" #: ../../docs/development/compiling/compiling_for_x11.rst:23 -msgid "*Optional* - yasm (for WebM SIMD optimizations)" +msgid "MesaGL development libraries." +msgstr "" + +#: ../../docs/development/compiling/compiling_for_x11.rst:24 +msgid "ALSA development libraries." msgstr "" #: ../../docs/development/compiling/compiling_for_x11.rst:25 -msgid "For a general overview of SCons usage for Godot, see :ref:`doc_introduction_to_the_buildsystem`." +msgid "PulseAudio development libraries." +msgstr "" + +#: ../../docs/development/compiling/compiling_for_x11.rst:26 +msgid "*Optional* - libudev (build with ``udev=yes``)." +msgstr "" + +#: ../../docs/development/compiling/compiling_for_x11.rst:27 +msgid "*Optional* - yasm (for WebM SIMD optimizations)." msgstr "" #: ../../docs/development/compiling/compiling_for_x11.rst:29 +msgid "For a general overview of SCons usage for Godot, see :ref:`doc_introduction_to_the_buildsystem`." +msgstr "" + +#: ../../docs/development/compiling/compiling_for_x11.rst:33 msgid "Distro-specific one-liners" msgstr "" -#: ../../docs/development/compiling/compiling_for_x11.rst:31 +#: ../../docs/development/compiling/compiling_for_x11.rst:35 msgid "**Alpine Linux**" msgstr "" -#: ../../docs/development/compiling/compiling_for_x11.rst:36 +#: ../../docs/development/compiling/compiling_for_x11.rst:40 msgid "**Arch Linux**" msgstr "" -#: ../../docs/development/compiling/compiling_for_x11.rst:41 +#: ../../docs/development/compiling/compiling_for_x11.rst:45 msgid "**Debian** / **Ubuntu**" msgstr "" -#: ../../docs/development/compiling/compiling_for_x11.rst:46 +#: ../../docs/development/compiling/compiling_for_x11.rst:50 msgid "**Fedora**" msgstr "" -#: ../../docs/development/compiling/compiling_for_x11.rst:52 +#: ../../docs/development/compiling/compiling_for_x11.rst:56 msgid "**FreeBSD**" msgstr "" -#: ../../docs/development/compiling/compiling_for_x11.rst:58 +#: ../../docs/development/compiling/compiling_for_x11.rst:62 msgid "**Gentoo**" msgstr "" -#: ../../docs/development/compiling/compiling_for_x11.rst:63 +#: ../../docs/development/compiling/compiling_for_x11.rst:67 msgid "**Mageia**" msgstr "" -#: ../../docs/development/compiling/compiling_for_x11.rst:69 +#: ../../docs/development/compiling/compiling_for_x11.rst:73 msgid "**OpenBSD**" msgstr "" -#: ../../docs/development/compiling/compiling_for_x11.rst:73 +#: ../../docs/development/compiling/compiling_for_x11.rst:77 msgid "**openSUSE**" msgstr "" -#: ../../docs/development/compiling/compiling_for_x11.rst:78 +#: ../../docs/development/compiling/compiling_for_x11.rst:82 msgid "**Solus**" msgstr "" -#: ../../docs/development/compiling/compiling_for_x11.rst:85 +#: ../../docs/development/compiling/compiling_for_x11.rst:89 msgid "Compiling" msgstr "" -#: ../../docs/development/compiling/compiling_for_x11.rst:87 +#: ../../docs/development/compiling/compiling_for_x11.rst:91 msgid "Start a terminal, go to the root dir of the engine source code and type:" msgstr "" -#: ../../docs/development/compiling/compiling_for_x11.rst:93 +#: ../../docs/development/compiling/compiling_for_x11.rst:97 msgid "A good rule of thumb for the ``-j`` (*jobs*) flag, is to have at least as many threads compiling Godot as you have cores in your CPU, if not one or two more. Feel free to add the ``-j`` option to any SCons command you see below." msgstr "" -#: ../../docs/development/compiling/compiling_for_x11.rst:97 +#: ../../docs/development/compiling/compiling_for_x11.rst:101 msgid "If all goes well, the resulting binary executable will be placed in the \"bin\" subdirectory. This executable file contains the whole engine and runs without any dependencies. Executing it will bring up the project manager." msgstr "" -#: ../../docs/development/compiling/compiling_for_x11.rst:104 +#: ../../docs/development/compiling/compiling_for_x11.rst:108 msgid "If you wish to compile using Clang rather than GCC, use this command:" msgstr "" -#: ../../docs/development/compiling/compiling_for_x11.rst:110 +#: ../../docs/development/compiling/compiling_for_x11.rst:114 msgid "Using Clang appears to be a requirement for OpenBSD, otherwise fonts would not build." msgstr "" -#: ../../docs/development/compiling/compiling_for_x11.rst:113 +#: ../../docs/development/compiling/compiling_for_x11.rst:117 msgid "If you are compiling Godot for production use, then you can make the final executable smaller and faster by adding the SCons option ``target=release_debug``." msgstr "" -#: ../../docs/development/compiling/compiling_for_x11.rst:117 +#: ../../docs/development/compiling/compiling_for_x11.rst:121 msgid "If you are compiling Godot with GCC, you can make the binary even smaller and faster by adding the SCons option ``use_lto=yes``. As link-time optimization is a memory-intensive process, this will require about 3 GB of available RAM while compiling." msgstr "" -#: ../../docs/development/compiling/compiling_for_x11.rst:123 +#: ../../docs/development/compiling/compiling_for_x11.rst:126 +msgid "If you want to use separate editor settings for your own Godot builds and official releases, you can enable :ref:`doc_data_paths_self_contained_mode` by creating a file called ``._sc_`` or ``_sc_`` in the ``bin/`` folder." +msgstr "" + +#: ../../docs/development/compiling/compiling_for_x11.rst:132 msgid "Building export templates" msgstr "" -#: ../../docs/development/compiling/compiling_for_x11.rst:125 +#: ../../docs/development/compiling/compiling_for_x11.rst:134 msgid "Linux binaries usually won't run on distributions that are older than the distribution they were built on. If you wish to distribute binaries that work on most distributions, you should build them on an old distribution such as Ubuntu 16.04. You can use a virtual machine or a container to set up a suitable build environment." msgstr "" -#: ../../docs/development/compiling/compiling_for_x11.rst:133 +#: ../../docs/development/compiling/compiling_for_x11.rst:142 msgid "To build X11 (Linux, \\*BSD) export templates, run the build system with the following parameters:" msgstr "" -#: ../../docs/development/compiling/compiling_for_x11.rst:136 +#: ../../docs/development/compiling/compiling_for_x11.rst:145 msgid "(32 bits)" msgstr "" -#: ../../docs/development/compiling/compiling_for_x11.rst:143 +#: ../../docs/development/compiling/compiling_for_x11.rst:152 msgid "(64 bits)" msgstr "" -#: ../../docs/development/compiling/compiling_for_x11.rst:150 +#: ../../docs/development/compiling/compiling_for_x11.rst:159 msgid "Note that cross-compiling for the opposite bits (64/32) as your host platform is not always straight-forward and might need a chroot environment." msgstr "" -#: ../../docs/development/compiling/compiling_for_x11.rst:153 +#: ../../docs/development/compiling/compiling_for_x11.rst:162 msgid "To create standard export templates, the resulting files must be copied to:" msgstr "" -#: ../../docs/development/compiling/compiling_for_x11.rst:159 +#: ../../docs/development/compiling/compiling_for_x11.rst:168 msgid "and named like this (even for \\*BSD which is seen as \"Linux X11\" by Godot):" msgstr "" -#: ../../docs/development/compiling/compiling_for_x11.rst:168 +#: ../../docs/development/compiling/compiling_for_x11.rst:177 msgid "However, if you are writing your custom modules or custom C++ code, you might instead want to configure your binaries as custom export templates here:" msgstr "" -#: ../../docs/development/compiling/compiling_for_x11.rst:174 +#: ../../docs/development/compiling/compiling_for_x11.rst:183 msgid "You don't even need to copy them, you can just reference the resulting files in the ``bin/`` directory of your Godot source folder, so the next time you build, you automatically have the custom templates referenced." msgstr "" -#: ../../docs/development/compiling/compiling_for_x11.rst:179 +#: ../../docs/development/compiling/compiling_for_x11.rst:188 msgid "Using Clang and LLD for faster development" msgstr "" -#: ../../docs/development/compiling/compiling_for_x11.rst:181 +#: ../../docs/development/compiling/compiling_for_x11.rst:190 msgid "You can also use Clang and LLD to build Godot. This has two upsides compared to the default GCC + GNU ld setup:" msgstr "" -#: ../../docs/development/compiling/compiling_for_x11.rst:184 +#: ../../docs/development/compiling/compiling_for_x11.rst:193 msgid "LLD links Godot significantly faster compared to GNU ld or gold. This leads to faster iteration times." msgstr "" -#: ../../docs/development/compiling/compiling_for_x11.rst:186 +#: ../../docs/development/compiling/compiling_for_x11.rst:195 msgid "Clang tends to give more useful error messages compared to GCC." msgstr "" -#: ../../docs/development/compiling/compiling_for_x11.rst:188 +#: ../../docs/development/compiling/compiling_for_x11.rst:197 msgid "To do so, install Clang and the ``lld`` package from your distribution's package manager then use the following SCons command::" msgstr "" -#: ../../docs/development/compiling/compiling_for_x11.rst:193 +#: ../../docs/development/compiling/compiling_for_x11.rst:202 msgid "It's still recommended to use GCC for production builds as they can be compiled using link-time optimization, making the resulting binaries smaller and faster." msgstr "" diff --git a/sphinx/templates/development/compiling/compiling_with_mono.pot b/sphinx/templates/development/compiling/compiling_with_mono.pot index 29e875f54d..5e394b7c94 100644 --- a/sphinx/templates/development/compiling/compiling_with_mono.pot +++ b/sphinx/templates/development/compiling/compiling_with_mono.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\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 "This command will tell Godot to generate the file ``modules/mono/glue/mon msgstr "" #: ../../docs/development/compiling/compiling_with_mono.rst:68 -msgid "```` refers to the tools binary you compiled above with the Mono module enabled. Its exact name will differ based on your system and configuration, but should be of the form ``bin/godot..tools..mono``, e.g. ``bin/godot.x11.tools.64.mono`` or ``bin/godot.windows.tools.64.exe``. Be especially aware of the **.mono** suffix! If you've previously compiled Godot without Mono support, you might have similarly named binaries without this suffix. These binaries can't be used to generate the Mono glue." +msgid "```` refers to the tools binary you compiled above with the Mono module enabled. Its exact name will differ based on your system and configuration, but should be of the form ``bin/godot..tools..mono``, e.g. ``bin/godot.x11.tools.64.mono`` or ``bin/godot.windows.tools.64.mono.exe``. Be especially aware of the **.mono** suffix! If you've previously compiled Godot without Mono support, you might have similarly named binaries without this suffix. These binaries can't be used to generate the Mono glue." msgstr "" #: ../../docs/development/compiling/compiling_with_mono.rst:78 @@ -153,7 +153,7 @@ msgid "The data directory is a dependency for Godot binaries built with the Mono msgstr "" #: ../../docs/development/compiling/compiling_with_mono.rst:163 -msgid "The information below doesn't apply to Android, as there is no data directory for that platform." +msgid "The information below doesn't apply for Android, iOS and WASM, as there is no data directory for these platforms." msgstr "" #: ../../docs/development/compiling/compiling_with_mono.rst:167 @@ -247,50 +247,206 @@ msgid "The ``Tools`` subdirectory contains tools required by the editor, like th msgstr "" #: ../../docs/development/compiling/compiling_with_mono.rst:223 -msgid "Targeting Android" +msgid "Building the Mono runtime" msgstr "" #: ../../docs/development/compiling/compiling_with_mono.rst:225 -msgid "Compiling the Android export templates with Mono is a bit simpler than it is for the desktop platforms, as there are no additional steps required after building. There is no need to worry about run-time dependencies like a data directory or the shared library (when dynamically linking) as those are automatically added to the Gradle project." +msgid "When building Godot for the desktop, you will likely use the pre-built Mono runtime that is installed on your system. This likely won't be the case when targeting other platforms like Android, iOS and WebAssembly. You will have to build the Mono runtime yourself for those platforms." msgstr "" -#: ../../docs/development/compiling/compiling_with_mono.rst:231 -msgid "Before building Godot, you need to cross compile the Mono runtime for the target architectures. We recommend using these `build scripts `_. They simplify this process but also include some patches needed for proper functioning with Godot. See the README on the link above for instructions on how to use the scripts." +#: ../../docs/development/compiling/compiling_with_mono.rst:230 +msgid "We recommend using these `build scripts `_. They simplify this process but also include some patches needed for proper functioning with Godot. See the README on the link above for instructions on how to use the scripts." +msgstr "" + +#: ../../docs/development/compiling/compiling_with_mono.rst:236 +msgid "Targeting Android" msgstr "" #: ../../docs/development/compiling/compiling_with_mono.rst:238 -msgid "Once you've built Mono, you can proceed to build Godot with the instructions described in this page and the :ref:`Compiling for Android` page. Make sure to let SCons know about the location of the Mono runtime you've just built: ``scons [...] mono_prefix=\"$HOME/mono-installs/android-armeabi-v7a-release\"`` (This path may be different on your system, depending on the options you used to build Mono)." +msgid "Compiling the Android export templates with Mono is a bit simpler than it is for the desktop platforms, as there are no additional steps required after building. There is no need to worry about run-time dependencies like a data directory or the shared library (when dynamically linking) as those are automatically added to the Gradle project." msgstr "" -#: ../../docs/development/compiling/compiling_with_mono.rst:247 -msgid "Command-line options" -msgstr "" - -#: ../../docs/development/compiling/compiling_with_mono.rst:249 -msgid "The following is the list of command-line options available when building with the Mono module:" +#: ../../docs/development/compiling/compiling_with_mono.rst:244 +msgid "Once you've built Mono, you can proceed to build Godot with the instructions described in this page and the :ref:`Compiling for Android` page. Make sure to let SCons know about the location of the Mono runtime you've just built, e.g.: ``scons [...] mono_prefix=\"$HOME/mono-installs/android-armeabi-v7a-release\"`` (This path may be different on your system)." msgstr "" #: ../../docs/development/compiling/compiling_with_mono.rst:252 -msgid "**module_mono_enabled**: Build Godot with the Mono module enabled (yes | **no**)" +msgid "Targeting iOS" msgstr "" -#: ../../docs/development/compiling/compiling_with_mono.rst:255 -msgid "**mono_glue**: Whether to include the glue source files in the build and define ``MONO_GLUE_DISABLED`` as a preprocessor macro (**yes** | no)" -msgstr "" - -#: ../../docs/development/compiling/compiling_with_mono.rst:258 -msgid "**mono_prefix**: Path to the Mono installation directory for the target platform and architecture" +#: ../../docs/development/compiling/compiling_with_mono.rst:254 +msgid "Once you've built Mono, you can proceed to build Godot with the instructions described in this page and the :ref:`Compiling for iOS` page. Make sure to let SCons know about the location of the Mono runtime you've just built, e.g.: ``scons [...] mono_prefix=\"$HOME/mono-installs/ios-arm64-release\"`` (This path may be different on your system)." msgstr "" #: ../../docs/development/compiling/compiling_with_mono.rst:261 -msgid "**xbuild_fallback**: Whether to fallback to xbuild if MSBuild is not available (yes | **no**)" +msgid "After building Godot for each architecture, you will notice SCons has copied the Mono libraries for each of them to the output directory:" msgstr "" -#: ../../docs/development/compiling/compiling_with_mono.rst:264 -msgid "**mono_static**: Whether to link the Mono runtime statically (yes | **no**)" +#: ../../docs/development/compiling/compiling_with_mono.rst:274 +msgid "The last three are only for iOS devices and are not available for the iOS simulator." msgstr "" -#: ../../docs/development/compiling/compiling_with_mono.rst:267 -msgid "**copy_mono_root**: Whether to copy the Mono framework assemblies and configuration files required by the Godot editor (yes | **no**)" +#: ../../docs/development/compiling/compiling_with_mono.rst:276 +msgid "These libraries must be put in universal (multi-architecture) \"fat\" files to be distributed with the export templates." +msgstr "" + +#: ../../docs/development/compiling/compiling_with_mono.rst:279 +msgid "The following bash script will create the \"fat\" libraries in the directory ``#bin/ios/iphone-mono-libs``:" +msgstr "" + +#: ../../docs/development/compiling/compiling_with_mono.rst:295 +msgid "The ``iphone-mono-libs`` folder must be distributed with the export templates. The Godot editor will look for the libraries in ``/iphone-mono-libs/lib.iphone.fat.a``." +msgstr "" + +#: ../../docs/development/compiling/compiling_with_mono.rst:299 +msgid "Targeting WebAssembly" +msgstr "" + +#: ../../docs/development/compiling/compiling_with_mono.rst:301 +msgid "Building for WebAssembly currently involves the same process regardless of whether the Mono module is enabled." +msgstr "" + +#: ../../docs/development/compiling/compiling_with_mono.rst:303 +msgid "Once you've built Mono, you can proceed to build Godot with the instructions described in this page and the :ref:`Compiling for the Web` page. Make sure to let SCons know about the location of the Mono runtime you've just built, e.g.: ``scons [...] mono_prefix=\"$HOME/mono-installs/wasm-runtime-release\"`` (This path may be different on your system)." +msgstr "" + +#: ../../docs/development/compiling/compiling_with_mono.rst:311 +msgid "Base Class Library" +msgstr "" + +#: ../../docs/development/compiling/compiling_with_mono.rst:313 +msgid "The export templates must also include the BCL (Base Class Library) for each target platform. Godot looks for the BCL folder at ``/bcl/``, where ```` is the same name passed to the SCons ``platform`` option, e.g.: ``/bcl/windows``, ``/bcl/javascript``." +msgstr "" + +#: ../../docs/development/compiling/compiling_with_mono.rst:318 +msgid "Alternatively, Godot will look for them in the following locations:" +msgstr "" + +#: ../../docs/development/compiling/compiling_with_mono.rst:321 +msgid "Android" +msgstr "" + +#: ../../docs/development/compiling/compiling_with_mono.rst:321 +msgid "``/bcl/monodroid``" +msgstr "" + +#: ../../docs/development/compiling/compiling_with_mono.rst:323 +msgid "iOS" +msgstr "" + +#: ../../docs/development/compiling/compiling_with_mono.rst:323 +msgid "``/bcl/monotouch``" +msgstr "" + +#: ../../docs/development/compiling/compiling_with_mono.rst:325 +msgid "WebAssembly" +msgstr "" + +#: ../../docs/development/compiling/compiling_with_mono.rst:325 +msgid "``/bcl/wasm``" +msgstr "" + +#: ../../docs/development/compiling/compiling_with_mono.rst:327 +msgid "Linux and macOS" +msgstr "" + +#: ../../docs/development/compiling/compiling_with_mono.rst:327 +msgid "``/bcl/net_4_x``" +msgstr "" + +#: ../../docs/development/compiling/compiling_with_mono.rst:329 +msgid "Windows" +msgstr "" + +#: ../../docs/development/compiling/compiling_with_mono.rst:329 +msgid "``/bcl/net_4_x_win``" +msgstr "" + +#: ../../docs/development/compiling/compiling_with_mono.rst:332 +msgid "As of now, we're assuming the same BCL profile can be used for both Linux and macOS, but this may change in the future as they're not guaranteed to be the same (as is the case with the Windows BCL)." +msgstr "" + +#: ../../docs/development/compiling/compiling_with_mono.rst:336 +msgid "If the target platform is the same as the platform of the Godot editor, then the editor will use the BCL it's running on (``/Mono/lib/mono/4.5``) if it cannot find the BCL in the export templates." +msgstr "" + +#: ../../docs/development/compiling/compiling_with_mono.rst:341 +msgid "AOT cross-compilers" +msgstr "" + +#: ../../docs/development/compiling/compiling_with_mono.rst:343 +msgid "To perform ahead-of-time (AOT) compilation for other platforms, Godot needs to have access to the Mono cross-compilers for that platform and architecture." +msgstr "" + +#: ../../docs/development/compiling/compiling_with_mono.rst:346 +msgid "Godot will look for the cross-compiler executable in the AOT compilers folder. The location of this folder is ``/Tools/aot-compilers/``." +msgstr "" + +#: ../../docs/development/compiling/compiling_with_mono.rst:349 +msgid "In order to build the cross-compilers we recommend using these `build scripts `_." +msgstr "" + +#: ../../docs/development/compiling/compiling_with_mono.rst:352 +msgid "After building them, copy the executable to the Godot AOT compilers directory. The executable name is ``-mono-sgen``, e.g.: ``aarch64-apple-darwin-mono-sgen``." +msgstr "" + +#: ../../docs/development/compiling/compiling_with_mono.rst:356 +msgid "Command-line options" +msgstr "" + +#: ../../docs/development/compiling/compiling_with_mono.rst:358 +msgid "The following is the list of command-line options available when building with the Mono module:" +msgstr "" + +#: ../../docs/development/compiling/compiling_with_mono.rst:361 +msgid "**module_mono_enabled**\\ =yes | **no**" +msgstr "" + +#: ../../docs/development/compiling/compiling_with_mono.rst:363 +msgid "Build Godot with the Mono module enabled." +msgstr "" + +#: ../../docs/development/compiling/compiling_with_mono.rst:365 +msgid "**mono_glue**\\ =\\ **yes** | no" +msgstr "" + +#: ../../docs/development/compiling/compiling_with_mono.rst:367 +msgid "Whether to include the glue source files in the build and define ``MONO_GLUE_DISABLED`` as a preprocessor macro." +msgstr "" + +#: ../../docs/development/compiling/compiling_with_mono.rst:370 +msgid "**mono_prefix**\\ =path" +msgstr "" + +#: ../../docs/development/compiling/compiling_with_mono.rst:372 +msgid "Path to the Mono installation directory for the target platform and architecture." +msgstr "" + +#: ../../docs/development/compiling/compiling_with_mono.rst:374 +msgid "**xbuild_fallback**\\ =yes | **no**" +msgstr "" + +#: ../../docs/development/compiling/compiling_with_mono.rst:376 +msgid "Whether to fallback to xbuild if MSBuild is not available." +msgstr "" + +#: ../../docs/development/compiling/compiling_with_mono.rst:378 +msgid "**mono_static**\\ =yes | no" +msgstr "" + +#: ../../docs/development/compiling/compiling_with_mono.rst:380 +msgid "Whether to link the Mono runtime statically." +msgstr "" + +#: ../../docs/development/compiling/compiling_with_mono.rst:381 +msgid "The default is **yes** for iOS and WASM, and **no** for other platforms." +msgstr "" + +#: ../../docs/development/compiling/compiling_with_mono.rst:383 +msgid "**copy_mono_root**\\ =yes | **no**" +msgstr "" + +#: ../../docs/development/compiling/compiling_with_mono.rst:385 +msgid "Whether to copy the Mono framework assemblies and configuration files required by the Godot editor." msgstr "" diff --git a/sphinx/templates/development/compiling/compiling_with_script_encryption_key.pot b/sphinx/templates/development/compiling/compiling_with_script_encryption_key.pot index dc6e8208f9..6cd271d05f 100644 --- a/sphinx/templates/development/compiling/compiling_with_script_encryption_key.pot +++ b/sphinx/templates/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: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/development/compiling/cross-compiling_for_ios_on_linux.pot b/sphinx/templates/development/compiling/cross-compiling_for_ios_on_linux.pot index 488e2d2a40..99d1b5091c 100644 --- a/sphinx/templates/development/compiling/cross-compiling_for_ios_on_linux.pot +++ b/sphinx/templates/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: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/development/compiling/getting_source.pot b/sphinx/templates/development/compiling/getting_source.pot index 2db507b371..febbe1b41b 100644 --- a/sphinx/templates/development/compiling/getting_source.pot +++ b/sphinx/templates/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: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -20,43 +20,47 @@ msgstr "" msgid "Getting the source" msgstr "" -#: ../../docs/development/compiling/getting_source.rst:7 +#: ../../docs/development/compiling/getting_source.rst:9 msgid "Downloading the Godot source code" msgstr "" -#: ../../docs/development/compiling/getting_source.rst:9 +#: ../../docs/development/compiling/getting_source.rst:11 msgid "Before :ref:`getting into the SCons build system ` and compiling Godot, you need to actually download the Godot source code." msgstr "" -#: ../../docs/development/compiling/getting_source.rst:12 +#: ../../docs/development/compiling/getting_source.rst:14 msgid "The source code is available on `GitHub `__ and while you can manually download it via the website, in general you want to do it via the ``git`` version control system." msgstr "" -#: ../../docs/development/compiling/getting_source.rst:16 -msgid "If you don't know much about ``git`` yet, there are a great number of `tutorials `__ available on various websites." -msgstr "" - -#: ../../docs/development/compiling/getting_source.rst:19 -msgid "In general, you need to install ``git`` and/or one of the various GUI clients." +#: ../../docs/development/compiling/getting_source.rst:18 +msgid "If you are compiling in order to make contributions or pull requests, you should follow the instructions from the :ref:`Pull Request workflow `." msgstr "" #: ../../docs/development/compiling/getting_source.rst:21 -msgid "Afterwards, to get the latest development version of the Godot source code (the unstable ``master`` branch), you can use ``git clone``." +msgid "If you don't know much about ``git`` yet, there are a great number of `tutorials `__ available on various websites." msgstr "" #: ../../docs/development/compiling/getting_source.rst:24 +msgid "In general, you need to install ``git`` and/or one of the various GUI clients." +msgstr "" + +#: ../../docs/development/compiling/getting_source.rst:26 +msgid "Afterwards, to get the latest development version of the Godot source code (the unstable ``master`` branch), you can use ``git clone``." +msgstr "" + +#: ../../docs/development/compiling/getting_source.rst:29 msgid "If you are using the ``git`` command line client, this is done by entering the following in a terminal:" msgstr "" -#: ../../docs/development/compiling/getting_source.rst:31 +#: ../../docs/development/compiling/getting_source.rst:36 msgid "For any stable release, visit the `release page `__ and click on the link for the release you want. You can then download and extract the source from the download link on the page." msgstr "" -#: ../../docs/development/compiling/getting_source.rst:35 +#: ../../docs/development/compiling/getting_source.rst:40 msgid "There are also generally branches besides ``master`` for each major version." msgstr "" -#: ../../docs/development/compiling/getting_source.rst:37 +#: ../../docs/development/compiling/getting_source.rst:42 msgid "After downloading the Godot source code, you can :ref:`continue to compiling Godot `." msgstr "" diff --git a/sphinx/templates/development/compiling/index.pot b/sphinx/templates/development/compiling/index.pot index a9bcdef0b1..930d647300 100644 --- a/sphinx/templates/development/compiling/index.pot +++ b/sphinx/templates/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: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/development/compiling/introduction_to_the_buildsystem.pot b/sphinx/templates/development/compiling/introduction_to_the_buildsystem.pot index 1efd035149..71ab8c3a30 100644 --- a/sphinx/templates/development/compiling/introduction_to_the_buildsystem.pot +++ b/sphinx/templates/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: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -109,106 +109,106 @@ msgid "This means that the binary is for X11, is not optimized, has tools (the w msgstr "" #: ../../docs/development/compiling/introduction_to_the_buildsystem.rst:111 -msgid "A Windows binary with the same configuration will look like this::" +msgid "A Windows binary with the same configuration will look like this:" msgstr "" -#: ../../docs/development/compiling/introduction_to_the_buildsystem.rst:116 +#: ../../docs/development/compiling/introduction_to_the_buildsystem.rst:118 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/development/compiling/introduction_to_the_buildsystem.rst:122 +#: ../../docs/development/compiling/introduction_to_the_buildsystem.rst:124 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/development/compiling/introduction_to_the_buildsystem.rst:128 +#: ../../docs/development/compiling/introduction_to_the_buildsystem.rst:130 msgid "Tools" msgstr "" -#: ../../docs/development/compiling/introduction_to_the_buildsystem.rst:130 +#: ../../docs/development/compiling/introduction_to_the_buildsystem.rst:132 msgid "Tools are enabled by default in all PC targets (Linux, Windows, macOS), disabled for everything else. Disabling tools produces a binary that can run projects but that does not include the editor or the project manager." msgstr "" -#: ../../docs/development/compiling/introduction_to_the_buildsystem.rst:142 +#: ../../docs/development/compiling/introduction_to_the_buildsystem.rst:144 msgid "Target" msgstr "" -#: ../../docs/development/compiling/introduction_to_the_buildsystem.rst:144 +#: ../../docs/development/compiling/introduction_to_the_buildsystem.rst:146 msgid "Target controls optimization and debug flags. Each mode means:" msgstr "" -#: ../../docs/development/compiling/introduction_to_the_buildsystem.rst:146 +#: ../../docs/development/compiling/introduction_to_the_buildsystem.rst:148 msgid "**debug**: Build with C++ debugging symbols, runtime checks (performs checks and reports error) and none to little optimization." msgstr "" -#: ../../docs/development/compiling/introduction_to_the_buildsystem.rst:148 +#: ../../docs/development/compiling/introduction_to_the_buildsystem.rst:150 msgid "**release_debug**: Build without C++ debugging symbols and optimization, but keep the runtime checks (performs checks and reports errors). Official editor binaries use this configuration." msgstr "" -#: ../../docs/development/compiling/introduction_to_the_buildsystem.rst:151 +#: ../../docs/development/compiling/introduction_to_the_buildsystem.rst:153 msgid "**release**: Build without symbols, with optimization and with little to no runtime checks. This target can't be used together with ``tools=yes``, as the editor requires some debug functionality and run-time checks to run." msgstr "" -#: ../../docs/development/compiling/introduction_to_the_buildsystem.rst:160 +#: ../../docs/development/compiling/introduction_to_the_buildsystem.rst:162 msgid "This flag appends the ``.debug`` suffix (for debug), or ``.tools`` (for debug with tools enabled). When optimization is enabled (release), it appends the ``.opt`` suffix." msgstr "" -#: ../../docs/development/compiling/introduction_to_the_buildsystem.rst:165 +#: ../../docs/development/compiling/introduction_to_the_buildsystem.rst:167 msgid "Bits" msgstr "" -#: ../../docs/development/compiling/introduction_to_the_buildsystem.rst:167 +#: ../../docs/development/compiling/introduction_to_the_buildsystem.rst:169 msgid "Bits 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/development/compiling/introduction_to_the_buildsystem.rst:171 +#: ../../docs/development/compiling/introduction_to_the_buildsystem.rst:173 msgid "**32**: Build binaries for 32-bit platforms." msgstr "" -#: ../../docs/development/compiling/introduction_to_the_buildsystem.rst:172 +#: ../../docs/development/compiling/introduction_to_the_buildsystem.rst:174 msgid "**64**: Build binaries for 64-bit platforms." msgstr "" -#: ../../docs/development/compiling/introduction_to_the_buildsystem.rst:173 +#: ../../docs/development/compiling/introduction_to_the_buildsystem.rst:175 msgid "**default**: Build for the architecture that matches the host platform." msgstr "" -#: ../../docs/development/compiling/introduction_to_the_buildsystem.rst:179 +#: ../../docs/development/compiling/introduction_to_the_buildsystem.rst:181 msgid "This flag appends ``.32`` or ``.64`` suffixes to resulting binaries when relevant. If ``bits=default`` is used, the suffix will match the detected architecture." msgstr "" -#: ../../docs/development/compiling/introduction_to_the_buildsystem.rst:184 +#: ../../docs/development/compiling/introduction_to_the_buildsystem.rst:186 msgid "Other build options" msgstr "" -#: ../../docs/development/compiling/introduction_to_the_buildsystem.rst:186 +#: ../../docs/development/compiling/introduction_to_the_buildsystem.rst:188 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/development/compiling/introduction_to_the_buildsystem.rst:190 +#: ../../docs/development/compiling/introduction_to_the_buildsystem.rst:192 msgid "Check the output of ``scons --help`` for details about each option for the version you are willing to compile." msgstr "" -#: ../../docs/development/compiling/introduction_to_the_buildsystem.rst:194 +#: ../../docs/development/compiling/introduction_to_the_buildsystem.rst:196 msgid "Export templates" msgstr "" -#: ../../docs/development/compiling/introduction_to_the_buildsystem.rst:196 +#: ../../docs/development/compiling/introduction_to_the_buildsystem.rst:198 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/development/compiling/introduction_to_the_buildsystem.rst:201 +#: ../../docs/development/compiling/introduction_to_the_buildsystem.rst:203 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/development/compiling/introduction_to_the_buildsystem.rst:224 +#: ../../docs/development/compiling/introduction_to_the_buildsystem.rst:226 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/development/compiling/introduction_to_the_buildsystem.rst:228 +#: ../../docs/development/compiling/introduction_to_the_buildsystem.rst:230 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/development/compiling/introduction_to_the_buildsystem.rst:236 +#: ../../docs/development/compiling/introduction_to_the_buildsystem.rst:238 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." msgstr "" diff --git a/sphinx/templates/development/compiling/optimizing_for_size.pot b/sphinx/templates/development/compiling/optimizing_for_size.pot index b8e04647a7..81b8222e8c 100644 --- a/sphinx/templates/development/compiling/optimizing_for_size.pot +++ b/sphinx/templates/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: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\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 "Optimizing for size instead of speed" msgstr "" #: ../../docs/development/compiling/optimizing_for_size.rst:69 -msgid "Godot 3.1 onwards allows to compile using size optimizations. To enable this, just set the ``optimize`` flag to ``size``:" +msgid "Godot 3.1 onwards allows compiling using size optimizations (instead of speed). To enable this, set the ``optimize`` flag to ``size``:" msgstr "" #: ../../docs/development/compiling/optimizing_for_size.rst:76 diff --git a/sphinx/templates/development/cpp/binding_to_external_libraries.pot b/sphinx/templates/development/cpp/binding_to_external_libraries.pot index 758ae0b9d1..272b707903 100644 --- a/sphinx/templates/development/cpp/binding_to_external_libraries.pot +++ b/sphinx/templates/development/cpp/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: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/development/cpp/configuring_an_ide.pot b/sphinx/templates/development/cpp/configuring_an_ide.pot index afd8695dce..c7c632ebc7 100644 --- a/sphinx/templates/development/cpp/configuring_an_ide.pot +++ b/sphinx/templates/development/cpp/configuring_an_ide.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -41,7 +41,7 @@ msgid ":ref:`Xcode ` (macOS)" msgstr "" #: ../../docs/development/cpp/configuring_an_ide.rst:16 -msgid ":ref:`Visual Studio ` (Windows)" +msgid ":ref:`Visual Studio ` (Windows)" msgstr "" #: ../../docs/development/cpp/configuring_an_ide.rst:17 @@ -141,11 +141,11 @@ msgid "Updating sources after pulling latest commits" msgstr "" #: ../../docs/development/cpp/configuring_an_ide.rst:83 -msgid "As a developer you usually want to frequently pull the latest commits from the upstream git repository or a specific fork etc. However this brings a little problem with it: as the development continues, source files (and folders) are added or removed. These changes needs to be reflected in your project files for Qt Creator too, so you continue to have a nice experience coding in it. A simple way to check is to right click at your root folder in the \"Projects View\" and click on \"Edit files...\"" +msgid "As a developer you usually want to frequently pull the latest commits from the upstream git repository or a specific fork etc. However, this brings a little problem with it: as the development continues, source files (and folders) are added or removed. These changes need to be reflected in your project files for Qt Creator too, so you continue to have a nice experience coding in it. A simple way to check is to right click at your root folder in the \"Projects View\" and click on \"Edit files...\"" msgstr "" #: ../../docs/development/cpp/configuring_an_ide.rst:93 -msgid "Now a new dialog should appear that is similar in functionality to the one in the third step of the \"Importing the project\" section. Here you can check whether you want to add/remove specific files and/or folders. You can chose by clicking with your mouse or just simply by clicking the \"Apply Filter\" button. A simple click on \"Ok\" and you're ready to continue your work." +msgid "Now a new dialog should appear that is similar in functionality to the one in the third step of the \"Importing the project\" section. Here you can check whether you want to add/remove specific files and/or folders. You can choose by clicking with your mouse or just simply by clicking the \"Apply Filter\" button. A simple click on \"Ok\" and you're ready to continue your work." msgstr "" #: ../../docs/development/cpp/configuring_an_ide.rst:101 @@ -217,7 +217,7 @@ msgid "Xcode" msgstr "" #: ../../docs/development/cpp/configuring_an_ide.rst:184 -#: ../../docs/development/cpp/configuring_an_ide.rst:311 +#: ../../docs/development/cpp/configuring_an_ide.rst:373 msgid "Project setup" msgstr "" @@ -386,106 +386,178 @@ msgid "It should break at the point!" msgstr "" #: ../../docs/development/cpp/configuring_an_ide.rst:269 -msgid "Visual Studio Code" +msgid "Visual Studio" msgstr "" #: ../../docs/development/cpp/configuring_an_ide.rst:271 -msgid "Ensure that C/C++ extension is installed. You can find instructions in `docs `_." +msgid "Visual Studio Community is free for non-commercial use and has many useful features, such as memory view, performance view, source control and more. You can get it `from Microsoft `__." msgstr "" -#: ../../docs/development/cpp/configuring_an_ide.rst:273 -msgid "Open cloned godot folder in VS Code with ``File > Open Folder...``" -msgstr "" - -#: ../../docs/development/cpp/configuring_an_ide.rst:275 -msgid "In order to build the project, you need two configuration files: *launch.json* and *tasks.json*. To create them:" +#: ../../docs/development/cpp/configuring_an_ide.rst:276 +msgid "Setup" msgstr "" #: ../../docs/development/cpp/configuring_an_ide.rst:278 -msgid "Open *Debug* view by pressing :kbd:`Ctrl + Shift + D` and select cogwheel with an orange dot:" +msgid "To start developing with Visual Studio, follow these steps:" msgstr "" -#: ../../docs/development/cpp/configuring_an_ide.rst:282 -msgid "Select *C++ (GDB/LLDB)* (it might be named differently on macOS or Windows)" +#: ../../docs/development/cpp/configuring_an_ide.rst:280 +msgid "Open the Visual Studio Installer and install the C++ package:" msgstr "" #: ../../docs/development/cpp/configuring_an_ide.rst:284 -msgid "Update *launch.json* to match:" +msgid "Open a Command Prompt or PowerShell window, use ``cd`` to reach the Godot source directory and run ``scons platform=windows vsproj=yes``." msgstr "" -#: ../../docs/development/cpp/configuring_an_ide.rst:288 -msgid "(Note that *godot.x11.tools.64* in \"program\" value might be named differently on macOS or Windows)" +#: ../../docs/development/cpp/configuring_an_ide.rst:287 +msgid "Now open the Godot folder by clicking **Open a project or solution** and choose ``godot.sln``. - You can also double-click the ``godot.sln`` file in Explorer." msgstr "" -#: ../../docs/development/cpp/configuring_an_ide.rst:290 -msgid "Create *tasks.json* by starting the Debug process with :kbd:`F5`. VS Code will show a dialog with a *Configure Task* button. Tap it and select *Create tasks.json file from template*, then select *Others*" +#: ../../docs/development/cpp/configuring_an_ide.rst:291 +msgid "You can now start developing with Visual Studio." msgstr "" -#: ../../docs/development/cpp/configuring_an_ide.rst:292 -msgid "Update *tasks.json* to match:" +#: ../../docs/development/cpp/configuring_an_ide.rst:294 +msgid "Debugging" msgstr "" #: ../../docs/development/cpp/configuring_an_ide.rst:296 -msgid "(Note that *platform=x11* will be different for macOX and Windows)" +msgid "Visual Studio features a powerful debugger. This allows the user to examine Godot's source code, stop at specific points in the code, make changes, and view them on the run." msgstr "" -#: ../../docs/development/cpp/configuring_an_ide.rst:298 -msgid "You can now start the Debug process again to test that everything works." +#: ../../docs/development/cpp/configuring_an_ide.rst:299 +msgid "Debugging the Godot Engine inside the editor will require an extra setup step." msgstr "" -#: ../../docs/development/cpp/configuring_an_ide.rst:300 -msgid "If the build phase fails, check the console for hints. On Linux it's most likely that some dependencies are missing. Check :ref:`Compiling for X11 (Linux, \\*BSD) `" +#: ../../docs/development/cpp/configuring_an_ide.rst:301 +msgid "Because opening Godot opens the Project Manager at first instead of the project you're working on, the debugger will detach as soon as you open a project. This means that the debugger will stop, even though Godot is still running in another process." msgstr "" #: ../../docs/development/cpp/configuring_an_ide.rst:306 -msgid "Android Studio" +msgid "To overcome this, you need to edit the debugging command line arguments in VS. In your project, click **Project > Project Properties**:" msgstr "" -#: ../../docs/development/cpp/configuring_an_ide.rst:308 -msgid "`Android Studio `_ is a `JetBrains `_ IDE for Android development. It has a feature-rich editor which supports Java and C/C++, so it can be used for development of the Godot core engine, and Android platform codebases." +#: ../../docs/development/cpp/configuring_an_ide.rst:311 +msgid "Then add this to the command arguments:" msgstr "" -#: ../../docs/development/cpp/configuring_an_ide.rst:313 -msgid "From the Android Studio *Welcome to Android Studio* window, select *Open an existing Android Studio project*" +#: ../../docs/development/cpp/configuring_an_ide.rst:315 +msgid "The ``-e`` flag is for entering the editor directly (which skips the Project Manager)." msgstr "" -#: ../../docs/development/cpp/configuring_an_ide.rst:317 -msgid "Navigate to ``/platform/android/java`` and select the ``settings.gradle`` gradle file." -msgstr "" - -#: ../../docs/development/cpp/configuring_an_ide.rst:318 -msgid "Android Studio will import and index the project." +#: ../../docs/development/cpp/configuring_an_ide.rst:316 +msgid "The ``--path`` argument should be an *absolute* path to a project directory (not a `project.godot` file)." msgstr "" #: ../../docs/development/cpp/configuring_an_ide.rst:319 +msgid "To learn more about command line arguments, refer to the :ref:`command line tutorial `." +msgstr "" + +#: ../../docs/development/cpp/configuring_an_ide.rst:322 +msgid "To check that everything is working, put a breakpoint in ``main.cpp`` and press F5 to start debugging." +msgstr "" + +#: ../../docs/development/cpp/configuring_an_ide.rst:331 +msgid "Visual Studio Code" +msgstr "" + +#: ../../docs/development/cpp/configuring_an_ide.rst:333 +msgid "Ensure that C/C++ extension is installed. You can find instructions in `docs `_." +msgstr "" + +#: ../../docs/development/cpp/configuring_an_ide.rst:335 +msgid "Open cloned godot folder in VS Code with ``File > Open Folder...``" +msgstr "" + +#: ../../docs/development/cpp/configuring_an_ide.rst:337 +msgid "In order to build the project, you need two configuration files: *launch.json* and *tasks.json*. To create them:" +msgstr "" + +#: ../../docs/development/cpp/configuring_an_ide.rst:340 +msgid "Open *Debug* view by pressing :kbd:`Ctrl + Shift + D` and select cogwheel with an orange dot:" +msgstr "" + +#: ../../docs/development/cpp/configuring_an_ide.rst:344 +msgid "Select *C++ (GDB/LLDB)* (it might be named differently on macOS or Windows)" +msgstr "" + +#: ../../docs/development/cpp/configuring_an_ide.rst:346 +msgid "Update *launch.json* to match:" +msgstr "" + +#: ../../docs/development/cpp/configuring_an_ide.rst:350 +msgid "(Note that *godot.x11.tools.64* in \"program\" value might be named differently on macOS or Windows)" +msgstr "" + +#: ../../docs/development/cpp/configuring_an_ide.rst:352 +msgid "Create *tasks.json* by starting the Debug process with :kbd:`F5`. VS Code will show a dialog with a *Configure Task* button. Tap it and select *Create tasks.json file from template*, then select *Others*" +msgstr "" + +#: ../../docs/development/cpp/configuring_an_ide.rst:354 +msgid "Update *tasks.json* to match:" +msgstr "" + +#: ../../docs/development/cpp/configuring_an_ide.rst:358 +msgid "(Note that *platform=x11* will be different for macOX and Windows)" +msgstr "" + +#: ../../docs/development/cpp/configuring_an_ide.rst:360 +msgid "You can now start the Debug process again to test that everything works." +msgstr "" + +#: ../../docs/development/cpp/configuring_an_ide.rst:362 +msgid "If the build phase fails, check the console for hints. On Linux it's most likely that some dependencies are missing. Check :ref:`Compiling for X11 (Linux, \\*BSD) `" +msgstr "" + +#: ../../docs/development/cpp/configuring_an_ide.rst:368 +msgid "Android Studio" +msgstr "" + +#: ../../docs/development/cpp/configuring_an_ide.rst:370 +msgid "`Android Studio `_ is a `JetBrains `_ IDE for Android development. It has a feature-rich editor which supports Java and C/C++, so it can be used for development of the Godot core engine, and Android platform codebases." +msgstr "" + +#: ../../docs/development/cpp/configuring_an_ide.rst:375 +msgid "From the Android Studio *Welcome to Android Studio* window, select *Open an existing Android Studio project*" +msgstr "" + +#: ../../docs/development/cpp/configuring_an_ide.rst:379 +msgid "Navigate to ``/platform/android/java`` and select the ``settings.gradle`` gradle file." +msgstr "" + +#: ../../docs/development/cpp/configuring_an_ide.rst:380 +msgid "Android Studio will import and index the project." +msgstr "" + +#: ../../docs/development/cpp/configuring_an_ide.rst:381 msgid "To build the project, follow the :ref:`compiling instructions `." msgstr "" -#: ../../docs/development/cpp/configuring_an_ide.rst:324 +#: ../../docs/development/cpp/configuring_an_ide.rst:386 msgid "CLion" msgstr "" -#: ../../docs/development/cpp/configuring_an_ide.rst:326 +#: ../../docs/development/cpp/configuring_an_ide.rst:388 msgid "`CLion `_ is a commercial IDE for C++. It requires a ``CMakeLists.txt`` file as a project file, which is problematic for Godot which uses the SCons buildsystem and not CMake. However, there is a ``CMakeLists.txt`` configuration for :ref:`Android Studio ` which can also be used by CLion." msgstr "" -#: ../../docs/development/cpp/configuring_an_ide.rst:328 +#: ../../docs/development/cpp/configuring_an_ide.rst:390 msgid "Choose *File* -> *Open*." msgstr "" -#: ../../docs/development/cpp/configuring_an_ide.rst:330 +#: ../../docs/development/cpp/configuring_an_ide.rst:392 msgid "Navigation to your Godot Git clone, and select the folder ``platform/android/java/lib`` (the ``CMakeLists.txt`` file is located there). Select the folder, not the ``CMakeLists.txt file``. Then click *Ok*." msgstr "" -#: ../../docs/development/cpp/configuring_an_ide.rst:334 +#: ../../docs/development/cpp/configuring_an_ide.rst:396 msgid "If this popup window appears, select *This window* to open the project." msgstr "" -#: ../../docs/development/cpp/configuring_an_ide.rst:338 +#: ../../docs/development/cpp/configuring_an_ide.rst:400 msgid "Choose *Tools* -> *CMake* -> *Change Project Root* and select the root Godot folder." msgstr "" -#: ../../docs/development/cpp/configuring_an_ide.rst:342 +#: ../../docs/development/cpp/configuring_an_ide.rst:404 msgid "You should be now be able to see all the project files. Autocomplete should work, when the project finish indexing." msgstr "" diff --git a/sphinx/templates/development/cpp/core_types.pot b/sphinx/templates/development/cpp/core_types.pot index a81020a95e..32e9cd95f8 100644 --- a/sphinx/templates/development/cpp/core_types.pot +++ b/sphinx/templates/development/cpp/core_types.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/development/cpp/custom_audiostreams.pot b/sphinx/templates/development/cpp/custom_audiostreams.pot index fe5ccd87fa..17862899b3 100644 --- a/sphinx/templates/development/cpp/custom_audiostreams.pot +++ b/sphinx/templates/development/cpp/custom_audiostreams.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -78,7 +78,7 @@ msgid "An AudioStream consists of three components: data container, stream name, msgstr "" #: ../../docs/development/cpp/custom_audiostreams.rst:43 -msgid "Some AudioStreams need to be stateless such as objects loaded from ResourceLoader. ResourceLoader loads once and references the same object regardless how many times ``load`` is called on a specific resource. Therefore, playback state must be self contained in AudioStreamPlayback." +msgid "Some AudioStreams need to be stateless such as objects loaded from ResourceLoader. ResourceLoader loads once and references the same object regardless how many times ``load`` is called on a specific resource. Therefore, playback state must be self-contained in AudioStreamPlayback." msgstr "" #: ../../docs/development/cpp/custom_audiostreams.rst:123 @@ -98,7 +98,7 @@ msgid "Resampling" msgstr "" #: ../../docs/development/cpp/custom_audiostreams.rst:234 -msgid "Godot’s AudioServer currently uses 44100 Hz sample rate. When other sample rates are needed such as 48000, either provide one or use AudioStreamPlaybackResampled. Godot provides cubic interpolation for audio resampling." +msgid "Godot's AudioServer currently uses 44100 Hz sample rate. When other sample rates are needed such as 48000, either provide one or use AudioStreamPlaybackResampled. Godot provides cubic interpolation for audio resampling." msgstr "" #: ../../docs/development/cpp/custom_audiostreams.rst:238 diff --git a/sphinx/templates/development/cpp/custom_godot_servers.pot b/sphinx/templates/development/cpp/custom_godot_servers.pot index 3dbc0eada3..a8626f71b2 100644 --- a/sphinx/templates/development/cpp/custom_godot_servers.pot +++ b/sphinx/templates/development/cpp/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: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/development/cpp/custom_modules_in_cpp.pot b/sphinx/templates/development/cpp/custom_modules_in_cpp.pot index b52072792f..f8cb29d786 100644 --- a/sphinx/templates/development/cpp/custom_modules_in_cpp.pot +++ b/sphinx/templates/development/cpp/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: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\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 "Godot allows extending the engine in a modular way. New modules can be cr msgstr "" #: ../../docs/development/cpp/custom_modules_in_cpp.rst:14 -msgid "Modules are located in the ``modules/`` subdirectory of the build system. By default, many different modules exist, such as GDScript (which, yes, is not part of the base engine), the Mono runtime, a regular expressions module, and others. As many new modules as desired can be created and combined, and the SCons build system will take care of it transparently." +msgid "Modules are located in the ``modules/`` subdirectory of the build system. By default, dozens of modules are enabled, such as GDScript (which, yes, is not part of the base engine), the Mono runtime, a regular expressions module, and others. As many new modules as desired can be created and combined. The SCons build system will take care of it transparently." msgstr "" #: ../../docs/development/cpp/custom_modules_in_cpp.rst:22 @@ -101,7 +101,7 @@ msgid "With multiple sources, you can also add each file individually to a Pytho msgstr "" #: ../../docs/development/cpp/custom_modules_in_cpp.rst:168 -msgid "This allows for powerful possibilities using Python to construct the file list using loops and logic statements. Look at some of the other modules that ship with Godot by default for examples." +msgid "This allows for powerful possibilities using Python to construct the file list using loops and logic statements. Look at some modules that ship with Godot by default for examples." msgstr "" #: ../../docs/development/cpp/custom_modules_in_cpp.rst:172 @@ -153,186 +153,158 @@ msgid "If your module is meant to be accessed from the running project (not just msgstr "" #: ../../docs/development/cpp/custom_modules_in_cpp.rst:261 -msgid "Customizing module types initialization" -msgstr "" - -#: ../../docs/development/cpp/custom_modules_in_cpp.rst:263 -msgid "Modules can interact with other built-in engine classes during runtime and even affect the way core types are initialized. So far, we've been using ``register_summator_types`` as a way to bring in module classes to be available within the engine." -msgstr "" - -#: ../../docs/development/cpp/custom_modules_in_cpp.rst:268 -msgid "A crude order of the engine setup can be summarized as a list of the following type registration methods:" -msgstr "" - -#: ../../docs/development/cpp/custom_modules_in_cpp.rst:287 -msgid "Our ``Summator`` class is initialized during the ``register_module_types()`` call. Imagine that we need to satisfy some common module run-time dependency (like singletons), or allow us to override existing engine method callbacks before they can be assigned by the engine itself. In that case, we want to ensure that our module classes are registered *before* any other built-in type." -msgstr "" - -#: ../../docs/development/cpp/custom_modules_in_cpp.rst:293 -msgid "This is where we can define an optional ``preregister_summator_types()`` method which will be called before anything else during the ``preregister_module_types()`` engine setup stage." -msgstr "" - -#: ../../docs/development/cpp/custom_modules_in_cpp.rst:297 -msgid "We now need to add this method to ``register_types`` header and source files:" -msgstr "" - -#: ../../docs/development/cpp/custom_modules_in_cpp.rst:309 -msgid "Unlike other register methods, we have to explicitly define ``MODULE_SUMMATOR_HAS_PREREGISTER`` to let the build system know what relevant method calls to include at compile time. The module's name has to be converted to uppercase as well." -msgstr "" - -#: ../../docs/development/cpp/custom_modules_in_cpp.rst:337 msgid "Improving the build system for development" msgstr "" -#: ../../docs/development/cpp/custom_modules_in_cpp.rst:339 +#: ../../docs/development/cpp/custom_modules_in_cpp.rst:263 msgid "So far we defined a clean and simple SCsub that allows us to add the sources of our new module as part of the Godot binary." msgstr "" -#: ../../docs/development/cpp/custom_modules_in_cpp.rst:342 +#: ../../docs/development/cpp/custom_modules_in_cpp.rst:266 msgid "This static approach is fine when we want to build a release version of our game given we want all the modules in a single binary." msgstr "" -#: ../../docs/development/cpp/custom_modules_in_cpp.rst:345 -msgid "However the trade-off is every single change means a full recompilation of the game. Even if SCons is able to detect and recompile only the file that have changed, finding such files and eventually linking the final binary is a long and costly part." +#: ../../docs/development/cpp/custom_modules_in_cpp.rst:269 +msgid "However, the trade-off is every single change means a full recompilation of the game. Even if SCons is able to detect and recompile only the file that have changed, finding such files and eventually linking the final binary is a long and costly part." msgstr "" -#: ../../docs/development/cpp/custom_modules_in_cpp.rst:350 +#: ../../docs/development/cpp/custom_modules_in_cpp.rst:274 msgid "The solution to avoid such a cost is to build our own module as a shared library that will be dynamically loaded when starting our game's binary." msgstr "" -#: ../../docs/development/cpp/custom_modules_in_cpp.rst:383 +#: ../../docs/development/cpp/custom_modules_in_cpp.rst:307 msgid "Once compiled, we should end up with a ``bin`` directory containing both the ``godot*`` binary and our ``libsummator*.so``. However given the .so is not in a standard directory (like ``/usr/lib``), we have to help our binary find it during runtime with the ``LD_LIBRARY_PATH`` environ variable:" msgstr "" -#: ../../docs/development/cpp/custom_modules_in_cpp.rst:393 +#: ../../docs/development/cpp/custom_modules_in_cpp.rst:317 msgid "**note**: Pay attention you have to ``export`` the environ variable otherwise you won't be able to play your project from within the editor." msgstr "" -#: ../../docs/development/cpp/custom_modules_in_cpp.rst:396 +#: ../../docs/development/cpp/custom_modules_in_cpp.rst:320 msgid "On top of that, it would be nice to be able to select whether to compile our module as shared library (for development) or as a part of the Godot binary (for release). To do that we can define a custom flag to be passed to SCons using the `ARGUMENT` command:" msgstr "" -#: ../../docs/development/cpp/custom_modules_in_cpp.rst:428 +#: ../../docs/development/cpp/custom_modules_in_cpp.rst:352 msgid "Now by default ``scons`` command will build our module as part of Godot's binary and as a shared library when passing ``summator_shared=yes``." msgstr "" -#: ../../docs/development/cpp/custom_modules_in_cpp.rst:431 -msgid "Finally you can even speedup build further by explicitly specifying your shared module as target in the scons command:" +#: ../../docs/development/cpp/custom_modules_in_cpp.rst:355 +msgid "Finally, you can even speed up the build further by explicitly specifying your shared module as target in the SCons command:" msgstr "" -#: ../../docs/development/cpp/custom_modules_in_cpp.rst:439 +#: ../../docs/development/cpp/custom_modules_in_cpp.rst:363 msgid "Writing custom documentation" msgstr "" -#: ../../docs/development/cpp/custom_modules_in_cpp.rst:441 +#: ../../docs/development/cpp/custom_modules_in_cpp.rst:365 msgid "Writing documentation may seem like a boring task, but it is highly recommended to document your newly created module in order to make it easier for users to benefit from it. Not to mention that the code you've written one year ago may become indistinguishable from the code that was written by someone else, so be kind to your future self!" msgstr "" -#: ../../docs/development/cpp/custom_modules_in_cpp.rst:447 +#: ../../docs/development/cpp/custom_modules_in_cpp.rst:371 msgid "There are several steps in order to setup custom docs for the module:" msgstr "" -#: ../../docs/development/cpp/custom_modules_in_cpp.rst:449 +#: ../../docs/development/cpp/custom_modules_in_cpp.rst:373 msgid "Make a new directory in the root of the module. The directory name can be anything, but we'll be using the ``doc_classes`` name throughout this section." msgstr "" -#: ../../docs/development/cpp/custom_modules_in_cpp.rst:452 +#: ../../docs/development/cpp/custom_modules_in_cpp.rst:376 msgid "Append the following code snippet to ``config.py``:" msgstr "" -#: ../../docs/development/cpp/custom_modules_in_cpp.rst:464 +#: ../../docs/development/cpp/custom_modules_in_cpp.rst:388 msgid "The ``get_doc_classes()`` method is necessary for the build system to know which documentation classes of the module must be merged, since the module may contain several classes. Replace ``ClassName`` with the name of the class you want to write documentation for. If you need docs for more than one class, append those as well." msgstr "" -#: ../../docs/development/cpp/custom_modules_in_cpp.rst:470 +#: ../../docs/development/cpp/custom_modules_in_cpp.rst:394 msgid "The ``get_doc_path()`` method is used by the build system to determine the location of the docs. In our case, they will be located in the ``doc_classes`` directory." msgstr "" -#: ../../docs/development/cpp/custom_modules_in_cpp.rst:474 +#: ../../docs/development/cpp/custom_modules_in_cpp.rst:398 msgid "Run command:" msgstr "" -#: ../../docs/development/cpp/custom_modules_in_cpp.rst:480 +#: ../../docs/development/cpp/custom_modules_in_cpp.rst:404 msgid "This will dump the engine API reference to the given ```` in XML format. Notice that you'll need to configure your ``PATH`` to locate Godot's executable, and make sure that you have write access rights. If not, you might encounter an error similar to the following:" msgstr "" -#: ../../docs/development/cpp/custom_modules_in_cpp.rst:490 +#: ../../docs/development/cpp/custom_modules_in_cpp.rst:414 msgid "Get generated doc file from ``godot/doc/classes/ClassName.xml``" msgstr "" -#: ../../docs/development/cpp/custom_modules_in_cpp.rst:492 +#: ../../docs/development/cpp/custom_modules_in_cpp.rst:416 msgid "Copy this file to ``doc_classes``, optionally edit it, then compile the engine." msgstr "" -#: ../../docs/development/cpp/custom_modules_in_cpp.rst:494 +#: ../../docs/development/cpp/custom_modules_in_cpp.rst:418 msgid "The build system will fetch the documentation files from the ``doc_classes`` directory and merge them with the base types. Once the compilation process is finished, the docs will become accessible within the engine's built-in documentation system." msgstr "" -#: ../../docs/development/cpp/custom_modules_in_cpp.rst:498 +#: ../../docs/development/cpp/custom_modules_in_cpp.rst:422 msgid "In order to keep documentation up-to-date, all you'll have to do is simply modify one of the ``ClassName.xml`` files and recompile the engine from now on." msgstr "" -#: ../../docs/development/cpp/custom_modules_in_cpp.rst:504 +#: ../../docs/development/cpp/custom_modules_in_cpp.rst:428 msgid "Adding custom editor icons" msgstr "" -#: ../../docs/development/cpp/custom_modules_in_cpp.rst:506 +#: ../../docs/development/cpp/custom_modules_in_cpp.rst:430 msgid "Similarly to how you can write self-contained documentation within a module, you can also create your own custom icons for classes to appear in the editor." msgstr "" -#: ../../docs/development/cpp/custom_modules_in_cpp.rst:509 +#: ../../docs/development/cpp/custom_modules_in_cpp.rst:433 msgid "For the actual process of creating editor icons to be integrated within the engine, please refer to :ref:`doc_editor_icons` first." msgstr "" -#: ../../docs/development/cpp/custom_modules_in_cpp.rst:512 +#: ../../docs/development/cpp/custom_modules_in_cpp.rst:436 msgid "Once you've created your icon(s), proceed with the following steps:" msgstr "" -#: ../../docs/development/cpp/custom_modules_in_cpp.rst:514 +#: ../../docs/development/cpp/custom_modules_in_cpp.rst:438 msgid "Make a new directory in the root of the module named ``icons``. This is the default path for the engine to look for module's editor icons." msgstr "" -#: ../../docs/development/cpp/custom_modules_in_cpp.rst:517 +#: ../../docs/development/cpp/custom_modules_in_cpp.rst:441 msgid "Move your newly created ``svg`` icons (optimized or not) into that folder." msgstr "" -#: ../../docs/development/cpp/custom_modules_in_cpp.rst:519 +#: ../../docs/development/cpp/custom_modules_in_cpp.rst:443 msgid "Recompile the engine and run the editor. Now the icon(s) will appear in editor's interface where appropriate." msgstr "" -#: ../../docs/development/cpp/custom_modules_in_cpp.rst:522 +#: ../../docs/development/cpp/custom_modules_in_cpp.rst:446 msgid "If you'd like to store your icons somewhere else within your module, add the following code snippet to ``config.py`` to override the default path:" msgstr "" -#: ../../docs/development/cpp/custom_modules_in_cpp.rst:531 +#: ../../docs/development/cpp/custom_modules_in_cpp.rst:455 msgid "Summing up" msgstr "" -#: ../../docs/development/cpp/custom_modules_in_cpp.rst:533 +#: ../../docs/development/cpp/custom_modules_in_cpp.rst:457 msgid "Remember to:" msgstr "" -#: ../../docs/development/cpp/custom_modules_in_cpp.rst:535 +#: ../../docs/development/cpp/custom_modules_in_cpp.rst:459 msgid "use ``GDCLASS`` macro for inheritance, so Godot can wrap it" msgstr "" -#: ../../docs/development/cpp/custom_modules_in_cpp.rst:536 +#: ../../docs/development/cpp/custom_modules_in_cpp.rst:460 msgid "use ``_bind_methods`` to bind your functions to scripting, and to allow them to work as callbacks for signals." msgstr "" -#: ../../docs/development/cpp/custom_modules_in_cpp.rst:539 +#: ../../docs/development/cpp/custom_modules_in_cpp.rst:463 msgid "But this is not all, depending what you do, you will be greeted with some (hopefully positive) surprises." msgstr "" -#: ../../docs/development/cpp/custom_modules_in_cpp.rst:542 +#: ../../docs/development/cpp/custom_modules_in_cpp.rst:466 msgid "If you inherit from :ref:`class_Node` (or any derived node type, such as Sprite), your new class will appear in the editor, in the inheritance tree in the \"Add Node\" dialog." msgstr "" -#: ../../docs/development/cpp/custom_modules_in_cpp.rst:545 +#: ../../docs/development/cpp/custom_modules_in_cpp.rst:469 msgid "If you inherit from :ref:`class_Resource`, it will appear in the resource list, and all the exposed properties can be serialized when saved/loaded." msgstr "" -#: ../../docs/development/cpp/custom_modules_in_cpp.rst:548 +#: ../../docs/development/cpp/custom_modules_in_cpp.rst:472 msgid "By this same logic, you can extend the Editor and almost any area of the engine." msgstr "" diff --git a/sphinx/templates/development/cpp/custom_resource_format_loaders.pot b/sphinx/templates/development/cpp/custom_resource_format_loaders.pot index 9ab92a71c2..ee2eb34df8 100644 --- a/sphinx/templates/development/cpp/custom_resource_format_loaders.pot +++ b/sphinx/templates/development/cpp/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: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/development/cpp/index.pot b/sphinx/templates/development/cpp/index.pot index 2486fdc601..cfaf889c9c 100644 --- a/sphinx/templates/development/cpp/index.pot +++ b/sphinx/templates/development/cpp/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/development/cpp/inheritance_class_tree.pot b/sphinx/templates/development/cpp/inheritance_class_tree.pot index 122ca2dec4..c111e0d62c 100644 --- a/sphinx/templates/development/cpp/inheritance_class_tree.pot +++ b/sphinx/templates/development/cpp/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: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/development/cpp/introduction_to_godot_development.pot b/sphinx/templates/development/cpp/introduction_to_godot_development.pot index 867d70420c..3c288542b2 100644 --- a/sphinx/templates/development/cpp/introduction_to_godot_development.pot +++ b/sphinx/templates/development/cpp/introduction_to_godot_development.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/development/cpp/object_class.pot b/sphinx/templates/development/cpp/object_class.pot index 69c2895885..6d40881b0b 100644 --- a/sphinx/templates/development/cpp/object_class.pot +++ b/sphinx/templates/development/cpp/object_class.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -34,10 +34,10 @@ msgstr "" #: ../../docs/development/cpp/object_class.rst:31 #: ../../docs/development/cpp/object_class.rst:89 -#: ../../docs/development/cpp/object_class.rst:251 -#: ../../docs/development/cpp/object_class.rst:267 -#: ../../docs/development/cpp/object_class.rst:288 -#: ../../docs/development/cpp/object_class.rst:307 +#: ../../docs/development/cpp/object_class.rst:252 +#: ../../docs/development/cpp/object_class.rst:268 +#: ../../docs/development/cpp/object_class.rst:289 +#: ../../docs/development/cpp/object_class.rst:308 msgid "References:" msgstr "" @@ -173,103 +173,103 @@ msgstr "" msgid "The following functions can be overridden in an Object derived class, they are NOT virtual, DO NOT make them virtual, they are called for every override and the previous ones are not invalidated (multilevel call)." msgstr "" -#: ../../docs/development/cpp/object_class.rst:189 +#: ../../docs/development/cpp/object_class.rst:190 msgid "This is also a little less efficient since ``p_property`` must be compared against the desired names in serial order." msgstr "" -#: ../../docs/development/cpp/object_class.rst:193 +#: ../../docs/development/cpp/object_class.rst:194 msgid "Dynamic casting" msgstr "" -#: ../../docs/development/cpp/object_class.rst:195 +#: ../../docs/development/cpp/object_class.rst:196 msgid "Godot provides dynamic casting between Object-derived classes, for example:" msgstr "" -#: ../../docs/development/cpp/object_class.rst:205 +#: ../../docs/development/cpp/object_class.rst:206 msgid "If cast fails, NULL is returned. This system uses RTTI, but it also works fine (although a bit slower) when RTTI is disabled. This is useful on platforms where a small binary size is ideal, such as HTML5 or consoles (with low memory footprint)." msgstr "" -#: ../../docs/development/cpp/object_class.rst:211 +#: ../../docs/development/cpp/object_class.rst:212 msgid "Signals" msgstr "" -#: ../../docs/development/cpp/object_class.rst:213 +#: ../../docs/development/cpp/object_class.rst:214 msgid "Objects can have a set of signals defined (similar to Delegates in other languages). Connecting to them is rather easy:" msgstr "" -#: ../../docs/development/cpp/object_class.rst:222 +#: ../../docs/development/cpp/object_class.rst:223 msgid "The method ``_node_entered_tree`` must be registered to the class using ``ClassDB::register_method`` (explained before)." msgstr "" -#: ../../docs/development/cpp/object_class.rst:225 +#: ../../docs/development/cpp/object_class.rst:226 msgid "Adding signals to a class is done in ``_bind_methods``, using the ``ADD_SIGNAL`` macro, for example:" msgstr "" -#: ../../docs/development/cpp/object_class.rst:233 +#: ../../docs/development/cpp/object_class.rst:234 msgid "References" msgstr "" -#: ../../docs/development/cpp/object_class.rst:235 +#: ../../docs/development/cpp/object_class.rst:236 msgid ":ref:`Reference ` inherits from Object and holds a reference count. It is the base for reference counted object types. Declaring them must be done using Ref<> template. For example:" msgstr "" -#: ../../docs/development/cpp/object_class.rst:247 +#: ../../docs/development/cpp/object_class.rst:248 msgid "``myref`` is reference counted. It will be freed when no more Ref<> templates point to it." msgstr "" -#: ../../docs/development/cpp/object_class.rst:253 +#: ../../docs/development/cpp/object_class.rst:254 msgid "`core/reference.h `__" msgstr "" -#: ../../docs/development/cpp/object_class.rst:256 +#: ../../docs/development/cpp/object_class.rst:257 msgid "Resources:" msgstr "" -#: ../../docs/development/cpp/object_class.rst:258 +#: ../../docs/development/cpp/object_class.rst:259 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)``. 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." msgstr "" -#: ../../docs/development/cpp/object_class.rst:264 +#: ../../docs/development/cpp/object_class.rst:265 msgid "Resources without a path are fine too." msgstr "" -#: ../../docs/development/cpp/object_class.rst:269 +#: ../../docs/development/cpp/object_class.rst:270 msgid "`core/resource.h `__" msgstr "" -#: ../../docs/development/cpp/object_class.rst:272 +#: ../../docs/development/cpp/object_class.rst:273 msgid "Resource loading" msgstr "" -#: ../../docs/development/cpp/object_class.rst:274 +#: ../../docs/development/cpp/object_class.rst:275 msgid "Resources can be loaded with the ResourceLoader API, like this:" msgstr "" -#: ../../docs/development/cpp/object_class.rst:280 +#: ../../docs/development/cpp/object_class.rst:281 msgid "If a reference to that resource has been loaded previously and is in memory, the resource loader will return that reference. This means that there can be only one resource loaded from a file referenced on disk at the same time." msgstr "" -#: ../../docs/development/cpp/object_class.rst:285 +#: ../../docs/development/cpp/object_class.rst:286 msgid "resourceinteractiveloader (TODO)" msgstr "" -#: ../../docs/development/cpp/object_class.rst:290 +#: ../../docs/development/cpp/object_class.rst:291 msgid "`core/io/resource_loader.h `__" msgstr "" -#: ../../docs/development/cpp/object_class.rst:293 +#: ../../docs/development/cpp/object_class.rst:294 msgid "Resource saving" msgstr "" -#: ../../docs/development/cpp/object_class.rst:295 +#: ../../docs/development/cpp/object_class.rst:296 msgid "Saving a resource can be done with the resource saver API:" msgstr "" -#: ../../docs/development/cpp/object_class.rst:301 +#: ../../docs/development/cpp/object_class.rst:302 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." msgstr "" -#: ../../docs/development/cpp/object_class.rst:309 +#: ../../docs/development/cpp/object_class.rst:310 msgid "`core/io/resource_saver.h `__" msgstr "" diff --git a/sphinx/templates/development/cpp/variant_class.pot b/sphinx/templates/development/cpp/variant_class.pot index 77b6d95b4d..4d8e147d22 100644 --- a/sphinx/templates/development/cpp/variant_class.pot +++ b/sphinx/templates/development/cpp/variant_class.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/development/editor/creating_icons.pot b/sphinx/templates/development/editor/creating_icons.pot index 976034f67a..d260ffd2b1 100644 --- a/sphinx/templates/development/editor/creating_icons.pot +++ b/sphinx/templates/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: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -29,126 +29,86 @@ msgid "Creating icons" msgstr "" #: ../../docs/development/editor/creating_icons.rst:14 -msgid "In order to create new icons, you first need a vector graphics editor installed. For instance, you can use the open-source `Inkscape `_ editor." +msgid "To create new icons, you first need a vector graphics editor installed. For instance, you can use the open source `Inkscape `_ editor." msgstr "" #: ../../docs/development/editor/creating_icons.rst:17 -msgid "Clone the ``godot-design`` repository containing all the original editor icons:" +msgid "Clone the ``godot`` repository containing all the editor icons:" msgstr "" #: ../../docs/development/editor/creating_icons.rst:23 -msgid "The icons must be created in a vector graphics editor in ``svg`` format. You can use ``engine/icons/inkscape_template.svg`` with default icon properties already set up." +msgid "The icons must be created in a vector graphics editor in SVG format. There are two main requirements to follow:" msgstr "" -#: ../../docs/development/editor/creating_icons.rst:27 -msgid "Once you're satisfied with the icon's design, save the icon in ``engine/icons/svg/`` folder. But in order for the engine to automatically pick up the icons, each icon's filename:" +#: ../../docs/development/editor/creating_icons.rst:26 +msgid "Icons must be 16×16. In Inkscape, you can configure the document size in **File > Document Properties**." +msgstr "" + +#: ../../docs/development/editor/creating_icons.rst:28 +msgid "Lines should be snapped to pixels whenever possible to remain crisp at lower DPI. You can create a 16×16 grid in Inkscape to make this easier." msgstr "" #: ../../docs/development/editor/creating_icons.rst:31 -msgid "Must be prefixed with ``icon_``." +msgid "Once you're satisfied with the icon's design, save the icon in the cloned repository's ``editor/icons`` folder. The icon name should match the intended name in a case-sensitive manner. For example, to create an icon for CPUParticles2D, name the file ``CPUParticles2D.svg``." msgstr "" -#: ../../docs/development/editor/creating_icons.rst:33 -msgid "``PascalCase`` name should be converted to ``snake_case``, so words are separated by ``_`` whenever case changes, and uppercase acronyms must also have all letters, numbers, and special characters separated as distinct words. Some examples:" -msgstr "" - -#: ../../docs/development/editor/creating_icons.rst:39 -msgid "Name" -msgstr "" - -#: ../../docs/development/editor/creating_icons.rst:39 -msgid "Filename" -msgstr "" - -#: ../../docs/development/editor/creating_icons.rst:41 -msgid "``Polygon2D``" -msgstr "" - -#: ../../docs/development/editor/creating_icons.rst:41 -msgid "``icon_polygon_2_d.svg``" -msgstr "" - -#: ../../docs/development/editor/creating_icons.rst:43 -msgid "``CSGPolygon``" -msgstr "" - -#: ../../docs/development/editor/creating_icons.rst:43 -msgid "``icon_c_s_g_polygon.svg``" -msgstr "" - -#: ../../docs/development/editor/creating_icons.rst:45 -msgid "``CPUParticles2D``" -msgstr "" - -#: ../../docs/development/editor/creating_icons.rst:45 -msgid "``icon_c_p_u_particles_2_d.svg``" -msgstr "" - -#: ../../docs/development/editor/creating_icons.rst:47 -msgid "``C#``" -msgstr "" - -#: ../../docs/development/editor/creating_icons.rst:47 -msgid "``icon_c_#.svg``" -msgstr "" - -#: ../../docs/development/editor/creating_icons.rst:51 +#: ../../docs/development/editor/creating_icons.rst:37 msgid "Icon optimization" msgstr "" -#: ../../docs/development/editor/creating_icons.rst:53 -msgid "Because the editor renders the ``svg``'s at runtime, they need to be small in size, so they can be efficiently parsed. Editor icons must be first optimized before being added to the engine, to do so:" +#: ../../docs/development/editor/creating_icons.rst:39 +msgid "Because the editor renders SVGs once at load time, they need to be small in size so they can be efficiently parsed. Editor icons must be first optimized before being added to the engine, to do so:" msgstr "" -#: ../../docs/development/editor/creating_icons.rst:57 +#: ../../docs/development/editor/creating_icons.rst:43 msgid "Add them to the ``engine/icons/svg`` folder." msgstr "" -#: ../../docs/development/editor/creating_icons.rst:59 +#: ../../docs/development/editor/creating_icons.rst:45 msgid "Run the ``optimize.py`` script. You must have the ``scour`` package installed:" msgstr "" -#: ../../docs/development/editor/creating_icons.rst:66 +#: ../../docs/development/editor/creating_icons.rst:52 msgid "The optimized icons will be generated in the ``engine/icons/optimized`` folder." msgstr "" -#: ../../docs/development/editor/creating_icons.rst:69 +#: ../../docs/development/editor/creating_icons.rst:55 msgid "Integrating and sharing the icons" msgstr "" -#: ../../docs/development/editor/creating_icons.rst:71 -msgid "If you're contributing to the engine itself, you should make a pull request to add optimized icons to ``godot/editor/icons`` in the main repository. Recompile the engine to make sure it does pick up new icons for classes. Once merged, don't forget to add the original version of the icons to the ``godot-design`` repository so that the icon can be improved upon by other contributors." +#: ../../docs/development/editor/creating_icons.rst:57 +msgid "If you're contributing to the engine itself, you should make a pull request to add optimized icons to ``editor/icons`` in the main repository. Recompile the engine to make it pick up new icons for classes." msgstr "" -#: ../../docs/development/editor/creating_icons.rst:77 +#: ../../docs/development/editor/creating_icons.rst:61 msgid "It's also possible to create custom icons within a module. If you're creating your own module and don't plan to integrate it with Godot, you don't need to make a separate pull request for your icons to be available within the editor as they can be self-contained." msgstr "" -#: ../../docs/development/editor/creating_icons.rst:82 +#: ../../docs/development/editor/creating_icons.rst:66 msgid "For specific instructions on how to create module icons, refer to :ref:`Creating custom module icons`." msgstr "" -#: ../../docs/development/editor/creating_icons.rst:86 +#: ../../docs/development/editor/creating_icons.rst:70 msgid "Troubleshooting" msgstr "" -#: ../../docs/development/editor/creating_icons.rst:88 +#: ../../docs/development/editor/creating_icons.rst:72 msgid "If icons don't appear in the editor make sure that:" msgstr "" -#: ../../docs/development/editor/creating_icons.rst:90 +#: ../../docs/development/editor/creating_icons.rst:74 msgid "Each icon's filename matches the naming requirement as described previously." msgstr "" -#: ../../docs/development/editor/creating_icons.rst:92 -msgid "``modules/svg`` is enabled (should be enabled by default). Without it, icons won't appear in the editor at all." +#: ../../docs/development/editor/creating_icons.rst:76 +msgid "``modules/svg`` is enabled (it should be enabled by default). Without it, icons won't appear in the editor at all." msgstr "" -#: ../../docs/development/editor/creating_icons.rst:96 -msgid "References:" +#: ../../docs/development/editor/creating_icons.rst:80 +msgid "References" msgstr "" -#: ../../docs/development/editor/creating_icons.rst:98 +#: ../../docs/development/editor/creating_icons.rst:82 msgid "`editor/icons `__" msgstr "" diff --git a/sphinx/templates/development/editor/index.pot b/sphinx/templates/development/editor/index.pot index d86acd90a2..d388901095 100644 --- a/sphinx/templates/development/editor/index.pot +++ b/sphinx/templates/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: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/development/editor/introduction.pot b/sphinx/templates/development/editor/introduction.pot index e715b4788a..d9cb5c316c 100644 --- a/sphinx/templates/development/editor/introduction.pot +++ b/sphinx/templates/development/editor/introduction.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/development/file_formats/index.pot b/sphinx/templates/development/file_formats/index.pot index d399f68191..b5b1ff0156 100644 --- a/sphinx/templates/development/file_formats/index.pot +++ b/sphinx/templates/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: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/development/file_formats/tscn.pot b/sphinx/templates/development/file_formats/tscn.pot index edabff4a27..3babdd2dc8 100644 --- a/sphinx/templates/development/file_formats/tscn.pot +++ b/sphinx/templates/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: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -408,19 +408,19 @@ msgid "The ``path`` has the format ``NodePath(Path/To/Node:attribute)``. It's th msgstr "" #: ../../docs/development/file_formats/tscn.rst:404 -msgid "The ``interp`` is the method to interpolate frames from the keyframes. it is a enum variable and can has value:" +msgid "The ``interp`` is the method to interpolate frames from the keyframes. It is an enum variable with one of the following values:" msgstr "" #: ../../docs/development/file_formats/tscn.rst:407 -msgid "0 (constant)" +msgid "``0`` (constant)" msgstr "" #: ../../docs/development/file_formats/tscn.rst:408 -msgid "1 (linear)" +msgid "``1`` (linear)" msgstr "" #: ../../docs/development/file_formats/tscn.rst:409 -msgid "2 (cubic)" +msgid "``2`` (cubic)" msgstr "" #: ../../docs/development/file_formats/tscn.rst:411 diff --git a/sphinx/templates/getting_started/editor/command_line_tutorial.pot b/sphinx/templates/getting_started/editor/command_line_tutorial.pot index 7db9ea77cb..d2048eb19f 100644 --- a/sphinx/templates/getting_started/editor/command_line_tutorial.pot +++ b/sphinx/templates/getting_started/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: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "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/editor/default_key_mapping.pot b/sphinx/templates/getting_started/editor/default_key_mapping.pot new file mode 100644 index 0000000000..b65ff4ec7c --- /dev/null +++ b/sphinx/templates/getting_started/editor/default_key_mapping.pot @@ -0,0 +1,2875 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2014-2020, 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: 2020-04-27 12:19+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/getting_started/editor/default_key_mapping.rst:4 +msgid "Default editor shortcuts" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:5 +msgid "Many of Godot Editor functions can be executed with keyboard shortcuts. This page lists functions which have associated shortcuts by default, but many others are available for customization in editor settings as well. To change keys associated with these and other actions navigate to ``Editor -> Editor Settings -> Shortcuts``." +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:10 +msgid "While some actions are universal, a lot of shortcuts are specific to individual tools. For this reason it is possible for some key combinations to be assigned to more than one function. The correct action will be performed depending on the context." +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:15 +msgid "While Windows and Linux builds of the editor share most of the default settings, some shortcuts may differ for macOS version. This is done for better integration of the editor into macOS ecosystem. Users fluent with standard shortcuts on that OS should find Godot Editor's default key mapping intuitive." +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:21 +msgid "General Editor Actions" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:24 +#: ../../docs/getting_started/editor/default_key_mapping.rst:89 +#: ../../docs/getting_started/editor/default_key_mapping.rst:142 +#: ../../docs/getting_started/editor/default_key_mapping.rst:217 +#: ../../docs/getting_started/editor/default_key_mapping.rst:298 +#: ../../docs/getting_started/editor/default_key_mapping.rst:345 +#: ../../docs/getting_started/editor/default_key_mapping.rst:370 +#: ../../docs/getting_started/editor/default_key_mapping.rst:381 +#: ../../docs/getting_started/editor/default_key_mapping.rst:394 +#: ../../docs/getting_started/editor/default_key_mapping.rst:425 +#: ../../docs/getting_started/editor/default_key_mapping.rst:438 +#: ../../docs/getting_started/editor/default_key_mapping.rst:461 +#: ../../docs/getting_started/editor/default_key_mapping.rst:478 +#: ../../docs/getting_started/editor/default_key_mapping.rst:513 +msgid "Action name" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:24 +#: ../../docs/getting_started/editor/default_key_mapping.rst:89 +#: ../../docs/getting_started/editor/default_key_mapping.rst:142 +#: ../../docs/getting_started/editor/default_key_mapping.rst:217 +#: ../../docs/getting_started/editor/default_key_mapping.rst:298 +#: ../../docs/getting_started/editor/default_key_mapping.rst:345 +#: ../../docs/getting_started/editor/default_key_mapping.rst:370 +#: ../../docs/getting_started/editor/default_key_mapping.rst:381 +#: ../../docs/getting_started/editor/default_key_mapping.rst:394 +#: ../../docs/getting_started/editor/default_key_mapping.rst:425 +#: ../../docs/getting_started/editor/default_key_mapping.rst:438 +#: ../../docs/getting_started/editor/default_key_mapping.rst:461 +#: ../../docs/getting_started/editor/default_key_mapping.rst:478 +#: ../../docs/getting_started/editor/default_key_mapping.rst:513 +msgid "Windows, Linux" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:24 +#: ../../docs/getting_started/editor/default_key_mapping.rst:89 +#: ../../docs/getting_started/editor/default_key_mapping.rst:142 +#: ../../docs/getting_started/editor/default_key_mapping.rst:217 +#: ../../docs/getting_started/editor/default_key_mapping.rst:298 +#: ../../docs/getting_started/editor/default_key_mapping.rst:345 +#: ../../docs/getting_started/editor/default_key_mapping.rst:370 +#: ../../docs/getting_started/editor/default_key_mapping.rst:381 +#: ../../docs/getting_started/editor/default_key_mapping.rst:394 +#: ../../docs/getting_started/editor/default_key_mapping.rst:425 +#: ../../docs/getting_started/editor/default_key_mapping.rst:438 +#: ../../docs/getting_started/editor/default_key_mapping.rst:461 +#: ../../docs/getting_started/editor/default_key_mapping.rst:478 +#: ../../docs/getting_started/editor/default_key_mapping.rst:513 +msgid "macOS" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:24 +#: ../../docs/getting_started/editor/default_key_mapping.rst:89 +#: ../../docs/getting_started/editor/default_key_mapping.rst:142 +#: ../../docs/getting_started/editor/default_key_mapping.rst:217 +#: ../../docs/getting_started/editor/default_key_mapping.rst:298 +#: ../../docs/getting_started/editor/default_key_mapping.rst:345 +#: ../../docs/getting_started/editor/default_key_mapping.rst:370 +#: ../../docs/getting_started/editor/default_key_mapping.rst:381 +#: ../../docs/getting_started/editor/default_key_mapping.rst:394 +#: ../../docs/getting_started/editor/default_key_mapping.rst:425 +#: ../../docs/getting_started/editor/default_key_mapping.rst:438 +#: ../../docs/getting_started/editor/default_key_mapping.rst:461 +#: ../../docs/getting_started/editor/default_key_mapping.rst:478 +#: ../../docs/getting_started/editor/default_key_mapping.rst:513 +msgid "Editor setting" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:26 +msgid "Open 2D Editor" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:26 +msgid ":kbd:`F1`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:26 +msgid ":kbd:`Alt + 1`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:26 +msgid "``editor/editor_2d``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:28 +msgid "Open 3D Editor" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:28 +msgid ":kbd:`F2`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:28 +msgid ":kbd:`Alt + 2`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:28 +msgid "``editor/editor_3d``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:30 +msgid "Open Script Editor" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:30 +#: ../../docs/getting_started/editor/default_key_mapping.rst:229 +#: ../../docs/getting_started/editor/default_key_mapping.rst:302 +#: ../../docs/getting_started/editor/default_key_mapping.rst:302 +msgid ":kbd:`F3`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:30 +msgid ":kbd:`Alt + 3`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:30 +msgid "``editor/editor_script``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:32 +msgid "Search Help" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:32 +msgid ":kbd:`Shift + F1`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:32 +msgid ":kbd:`Alt + Space`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:32 +msgid "``editor/editor_help``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:34 +msgid "Distraction Free Mode" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:34 +msgid ":kbd:`Ctrl + Shift + F11`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:34 +msgid ":kbd:`Cmd + Ctrl + D`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:34 +msgid "``editor/distraction_free_mode``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:36 +msgid "Next tab" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:36 +msgid ":kbd:`Ctrl + Tab`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:36 +msgid ":kbd:`Cmd + Tab`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:36 +msgid "``editor/next_tab``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:38 +msgid "Previous tab" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:38 +msgid ":kbd:`Ctrl + Shift + Tab`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:38 +msgid ":kbd:`Cmd + Shift + Tab`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:38 +msgid "``editor/prev_tab``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:40 +msgid "Filter Files" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:40 +msgid ":kbd:`Ctrl + Alt + P`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:40 +msgid ":kbd:`Cmd + Alt + P`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:40 +msgid "``editor/filter_files``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:42 +msgid "Open Scene" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:42 +msgid ":kbd:`Ctrl + O`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:42 +msgid ":kbd:`Cmd + O`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:42 +msgid "``editor/open_scene``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:44 +msgid "Close Scene" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:44 +msgid ":kbd:`Ctrl + Shift + W`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:44 +msgid ":kbd:`Cmd + Shift + W`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:44 +msgid "``editor/close_scene``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:46 +msgid "Reopen Closed Scene" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:46 +#: ../../docs/getting_started/editor/default_key_mapping.rst:316 +msgid ":kbd:`Ctrl + Shift + T`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:46 +#: ../../docs/getting_started/editor/default_key_mapping.rst:316 +msgid ":kbd:`Cmd + Shift + T`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:46 +msgid "``editor/reopen_closed_scene``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:48 +msgid "Save Scene" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:48 +msgid ":kbd:`Ctrl + S`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:48 +msgid ":kbd:`Cmd + S`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:48 +msgid "``editor/save_scene``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:50 +msgid "Save Scene As" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:50 +msgid ":kbd:`Ctrl + Shift + S`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:50 +msgid ":kbd:`Cmd + Shift + S`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:50 +msgid "``editor/save_scene_as``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:52 +msgid "Save All Scenes" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:52 +#: ../../docs/getting_started/editor/default_key_mapping.rst:320 +msgid ":kbd:`Ctrl + Shift + Alt + S`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:52 +#: ../../docs/getting_started/editor/default_key_mapping.rst:320 +msgid ":kbd:`Cmd + Shift + Alt + S`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:52 +msgid "``editor/save_all_scenes``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:54 +msgid "Quick Open" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:54 +#: ../../docs/getting_started/editor/default_key_mapping.rst:54 +msgid ":kbd:`Shift + Alt + O`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:54 +msgid "``editor/quick_open``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:56 +msgid "Quick Open Scene" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:56 +msgid ":kbd:`Ctrl + Shift + O`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:56 +msgid ":kbd:`Cmd + Shift + O`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:56 +msgid "``editor/quick_open_scene``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:58 +msgid "Quick Open Script" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:58 +msgid ":kbd:`Ctrl + Alt + O`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:58 +msgid ":kbd:`Cmd + Alt + O`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:58 +msgid "``editor/quick_open_script``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:60 +#: ../../docs/getting_started/editor/default_key_mapping.rst:239 +msgid "Undo" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:60 +#: ../../docs/getting_started/editor/default_key_mapping.rst:239 +msgid ":kbd:`Ctrl + Z`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:60 +#: ../../docs/getting_started/editor/default_key_mapping.rst:239 +msgid ":kbd:`Cmd + Z`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:60 +msgid "``editor/undo``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:62 +#: ../../docs/getting_started/editor/default_key_mapping.rst:241 +msgid "Redo" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:62 +msgid ":kbd:`Ctrl + Shift + Z`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:62 +msgid ":kbd:`Cmd + Shift + Z`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:62 +msgid "``editor/redo``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:64 +msgid "Quit" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:64 +msgid ":kbd:`Ctrl + Q`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:64 +msgid ":kbd:`Cmd + Q`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:64 +msgid "``editor/file_quit``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:66 +msgid "Quit to Project List" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:66 +msgid ":kbd:`Ctrl + Shift + Q`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:66 +msgid ":kbd:`Shift + Alt + Q`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:66 +msgid "``editor/quit_to_project_list``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:68 +msgid "Take Screenshot" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:68 +msgid ":kbd:`Ctrl + F12`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:68 +msgid ":kbd:`Cmd + F12`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:68 +msgid "``editor/take_screenshot``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:70 +msgid "Toggle Fullscreen" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:70 +msgid ":kbd:`Shift + F11`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:70 +msgid ":kbd:`Cmd + Ctrl + F`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:70 +msgid "``editor/fullscreen_mode``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:72 +msgid "Play" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:72 +#: ../../docs/getting_started/editor/default_key_mapping.rst:402 +#: ../../docs/getting_started/editor/default_key_mapping.rst:402 +msgid ":kbd:`F5`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:72 +#: ../../docs/getting_started/editor/default_key_mapping.rst:275 +msgid ":kbd:`Cmd + B`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:72 +msgid "``editor/play``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:74 +msgid "Pause Scene" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:74 +msgid ":kbd:`F7`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:74 +msgid ":kbd:`Cmd + Ctrl + Y`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:74 +msgid "``editor/pause_scene``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:76 +msgid "Stop" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:76 +msgid ":kbd:`F8`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:76 +#: ../../docs/getting_started/editor/default_key_mapping.rst:287 +msgid ":kbd:`Cmd + .`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:76 +msgid "``editor/stop``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:78 +msgid "Play Scene" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:78 +msgid ":kbd:`F6`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:78 +#: ../../docs/getting_started/editor/default_key_mapping.rst:361 +msgid ":kbd:`Cmd + R`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:78 +msgid "``editor/play_scene``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:80 +msgid "Play Custom Scene" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:80 +msgid ":kbd:`Ctrl + Shift + F5`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:80 +#: ../../docs/getting_started/editor/default_key_mapping.rst:237 +#: ../../docs/getting_started/editor/default_key_mapping.rst:322 +msgid ":kbd:`Cmd + Shift + R`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:80 +msgid "``editor/play_custom_scene``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:82 +msgid "Expand Bottom Panel" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:82 +#: ../../docs/getting_started/editor/default_key_mapping.rst:82 +msgid ":kbd:`Shift + F12`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:82 +msgid "``editor/bottom_panel_expand``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:86 +msgid "2D / Canvas Item Editor" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:91 +#: ../../docs/getting_started/editor/default_key_mapping.rst:334 +msgid "Zoom In" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:91 +#: ../../docs/getting_started/editor/default_key_mapping.rst:334 +msgid ":kbd:`Ctrl + =`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:91 +#: ../../docs/getting_started/editor/default_key_mapping.rst:334 +msgid ":kbd:`Cmd + =`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:91 +msgid "``canvas_item_editor/zoom_plus``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:93 +#: ../../docs/getting_started/editor/default_key_mapping.rst:336 +msgid "Zoom Out" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:93 +#: ../../docs/getting_started/editor/default_key_mapping.rst:336 +msgid ":kbd:`Ctrl + -`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:93 +#: ../../docs/getting_started/editor/default_key_mapping.rst:336 +msgid ":kbd:`Cmd + -`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:93 +msgid "``canvas_item_editor/zoom_minus``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:95 +msgid "Zoom Reset" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:95 +#: ../../docs/getting_started/editor/default_key_mapping.rst:338 +msgid ":kbd:`Ctrl + 0`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:95 +#: ../../docs/getting_started/editor/default_key_mapping.rst:338 +msgid ":kbd:`Cmd + 0`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:95 +msgid "``canvas_item_editor/zoom_reset``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:97 +msgid "Pan View" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:97 +#: ../../docs/getting_started/editor/default_key_mapping.rst:97 +msgid ":kbd:`Space`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:97 +msgid "``canvas_item_editor/pan_view``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:99 +#: ../../docs/getting_started/editor/default_key_mapping.rst:162 +msgid "Select Mode" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:99 +#: ../../docs/getting_started/editor/default_key_mapping.rst:99 +#: ../../docs/getting_started/editor/default_key_mapping.rst:156 +#: ../../docs/getting_started/editor/default_key_mapping.rst:156 +#: ../../docs/getting_started/editor/default_key_mapping.rst:162 +#: ../../docs/getting_started/editor/default_key_mapping.rst:162 +msgid ":kbd:`Q`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:99 +msgid "``canvas_item_editor/select_mode``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:101 +#: ../../docs/getting_started/editor/default_key_mapping.rst:164 +msgid "Move Mode" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:101 +#: ../../docs/getting_started/editor/default_key_mapping.rst:101 +#: ../../docs/getting_started/editor/default_key_mapping.rst:150 +#: ../../docs/getting_started/editor/default_key_mapping.rst:150 +#: ../../docs/getting_started/editor/default_key_mapping.rst:164 +#: ../../docs/getting_started/editor/default_key_mapping.rst:164 +#: ../../docs/getting_started/editor/default_key_mapping.rst:498 +#: ../../docs/getting_started/editor/default_key_mapping.rst:498 +msgid ":kbd:`W`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:101 +msgid "``canvas_item_editor/move_mode``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:103 +#: ../../docs/getting_started/editor/default_key_mapping.rst:166 +msgid "Rotate Mode" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:103 +#: ../../docs/getting_started/editor/default_key_mapping.rst:103 +#: ../../docs/getting_started/editor/default_key_mapping.rst:154 +#: ../../docs/getting_started/editor/default_key_mapping.rst:154 +#: ../../docs/getting_started/editor/default_key_mapping.rst:166 +#: ../../docs/getting_started/editor/default_key_mapping.rst:166 +msgid ":kbd:`E`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:103 +msgid "``canvas_item_editor/rotate_mode``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:105 +#: ../../docs/getting_started/editor/default_key_mapping.rst:168 +msgid "Scale Mode" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:105 +#: ../../docs/getting_started/editor/default_key_mapping.rst:105 +#: ../../docs/getting_started/editor/default_key_mapping.rst:152 +#: ../../docs/getting_started/editor/default_key_mapping.rst:152 +#: ../../docs/getting_started/editor/default_key_mapping.rst:496 +#: ../../docs/getting_started/editor/default_key_mapping.rst:496 +msgid ":kbd:`S`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:105 +msgid "``canvas_item_editor/scale_mode``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:107 +msgid "Ruler Mode" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:107 +#: ../../docs/getting_started/editor/default_key_mapping.rst:107 +#: ../../docs/getting_started/editor/default_key_mapping.rst:168 +#: ../../docs/getting_started/editor/default_key_mapping.rst:168 +msgid ":kbd:`R`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:107 +msgid "``canvas_item_editor/ruler_mode``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:109 +msgid "Use Smart Snap" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:109 +#: ../../docs/getting_started/editor/default_key_mapping.rst:109 +msgid ":kbd:`Shift + S`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:109 +msgid "``canvas_item_editor/use_smart_snap``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:111 +msgid "Use Grid Snap" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:111 +#: ../../docs/getting_started/editor/default_key_mapping.rst:111 +msgid ":kbd:`Shift + G`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:111 +msgid "``canvas_item_editor/use_grid_snap``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:113 +msgid "Multiply grid step by 2" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:113 +#: ../../docs/getting_started/editor/default_key_mapping.rst:113 +msgid ":kbd:`Num *`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:113 +msgid "``canvas_item_editor/multiply_grid_step``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:115 +msgid "Divide grid step by 2" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:115 +#: ../../docs/getting_started/editor/default_key_mapping.rst:115 +msgid ":kbd:`Num /`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:115 +msgid "``canvas_item_editor/divide_grid_step``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:117 +msgid "Always Show Grid" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:117 +#: ../../docs/getting_started/editor/default_key_mapping.rst:117 +#: ../../docs/getting_started/editor/default_key_mapping.rst:486 +#: ../../docs/getting_started/editor/default_key_mapping.rst:486 +msgid ":kbd:`G`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:117 +msgid "``canvas_item_editor/show_grid``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:119 +msgid "Show Helpers" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:119 +#: ../../docs/getting_started/editor/default_key_mapping.rst:119 +msgid ":kbd:`H`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:119 +msgid "``canvas_item_editor/show_helpers``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:121 +msgid "Show Guides" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:121 +#: ../../docs/getting_started/editor/default_key_mapping.rst:121 +#: ../../docs/getting_started/editor/default_key_mapping.rst:172 +#: ../../docs/getting_started/editor/default_key_mapping.rst:172 +msgid ":kbd:`Y`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:121 +msgid "``canvas_item_editor/show_guides``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:123 +msgid "Center Selection" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:123 +#: ../../docs/getting_started/editor/default_key_mapping.rst:123 +#: ../../docs/getting_started/editor/default_key_mapping.rst:194 +#: ../../docs/getting_started/editor/default_key_mapping.rst:194 +msgid ":kbd:`F`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:123 +msgid "``canvas_item_editor/center_selection``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:125 +msgid "Frame Selection" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:125 +#: ../../docs/getting_started/editor/default_key_mapping.rst:125 +#: ../../docs/getting_started/editor/default_key_mapping.rst:144 +#: ../../docs/getting_started/editor/default_key_mapping.rst:144 +msgid ":kbd:`Shift + F`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:125 +msgid "``canvas_item_editor/frame_selection``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:127 +msgid "Preview Canvas Scale" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:127 +msgid ":kbd:`Ctrl + Shift + P`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:127 +msgid ":kbd:`Cmd + Shift + P`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:127 +msgid "``canvas_item_editor/preview_canvas_scale``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:129 +msgid "Insert Key" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:129 +#: ../../docs/getting_started/editor/default_key_mapping.rst:129 +msgid ":kbd:`Ins`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:129 +msgid "``canvas_item_editor/anim_insert_key``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:131 +msgid "Insert Key (Existing Tracks)" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:131 +msgid ":kbd:`Ctrl + Ins`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:131 +msgid ":kbd:`Cmd + Ins`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:131 +msgid "``canvas_item_editor/anim_insert_key_existing_tracks``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:133 +msgid "Make Custom Bones from Nodes" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:133 +#: ../../docs/getting_started/editor/default_key_mapping.rst:277 +msgid ":kbd:`Ctrl + Shift + B`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:133 +#: ../../docs/getting_started/editor/default_key_mapping.rst:277 +#: ../../docs/getting_started/editor/default_key_mapping.rst:283 +msgid ":kbd:`Cmd + Shift + B`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:133 +msgid "``canvas_item_editor/skeleton_make_bones``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:135 +msgid "Clear Pose" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:135 +#: ../../docs/getting_started/editor/default_key_mapping.rst:135 +msgid ":kbd:`Shift + K`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:135 +msgid "``canvas_item_editor/anim_clear_pose``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:139 +msgid "3D / Spatial Editor" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:144 +msgid "Toggle Freelook" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:144 +msgid "``spatial_editor/freelook_toggle``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:146 +msgid "Freelook Left" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:146 +#: ../../docs/getting_started/editor/default_key_mapping.rst:146 +#: ../../docs/getting_started/editor/default_key_mapping.rst:494 +#: ../../docs/getting_started/editor/default_key_mapping.rst:494 +msgid ":kbd:`A`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:146 +msgid "``spatial_editor/freelook_left``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:148 +msgid "Freelook Right" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:148 +#: ../../docs/getting_started/editor/default_key_mapping.rst:148 +msgid ":kbd:`D`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:148 +msgid "``spatial_editor/freelook_right``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:150 +msgid "Freelook Forward" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:150 +msgid "``spatial_editor/freelook_forward``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:152 +msgid "Freelook Backwards" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:152 +msgid "``spatial_editor/freelook_backwards``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:154 +msgid "Freelook Up" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:154 +msgid "``spatial_editor/freelook_up``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:156 +msgid "Freelook Down" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:156 +msgid "``spatial_editor/freelook_down``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:158 +msgid "Freelook Speed Modifier" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:158 +#: ../../docs/getting_started/editor/default_key_mapping.rst:158 +msgid ":kbd:`Shift`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:158 +msgid "``spatial_editor/freelook_speed_modifier``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:160 +msgid "Freelook Slow Modifier" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:160 +#: ../../docs/getting_started/editor/default_key_mapping.rst:160 +msgid ":kbd:`Alt`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:160 +msgid "``spatial_editor/freelook_slow_modifier``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:162 +msgid "``spatial_editor/tool_select``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:164 +msgid "``spatial_editor/tool_move``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:166 +msgid "``spatial_editor/tool_rotate``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:168 +msgid "``spatial_editor/tool_scale``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:170 +msgid "Use Local Space" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:170 +#: ../../docs/getting_started/editor/default_key_mapping.rst:170 +#: ../../docs/getting_started/editor/default_key_mapping.rst:488 +#: ../../docs/getting_started/editor/default_key_mapping.rst:488 +msgid ":kbd:`T`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:170 +msgid "``spatial_editor/local_coords``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:172 +msgid "Use Snap" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:172 +msgid "``spatial_editor/snap``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:174 +msgid "Snap Object to Floor" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:174 +#: ../../docs/getting_started/editor/default_key_mapping.rst:174 +#: ../../docs/getting_started/editor/default_key_mapping.rst:515 +#: ../../docs/getting_started/editor/default_key_mapping.rst:515 +msgid ":kbd:`PgDown`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:174 +msgid "``spatial_editor/snap_to_floor``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:176 +msgid "Top View" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:176 +#: ../../docs/getting_started/editor/default_key_mapping.rst:176 +msgid ":kbd:`Num 7`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:176 +msgid "``spatial_editor/top_view``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:178 +msgid "Bottom View" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:178 +#: ../../docs/getting_started/editor/default_key_mapping.rst:178 +msgid ":kbd:`Alt + Num 7`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:178 +msgid "``spatial_editor/bottom_view``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:180 +msgid "Front View" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:180 +#: ../../docs/getting_started/editor/default_key_mapping.rst:180 +msgid ":kbd:`Num 1`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:180 +msgid "``spatial_editor/front_view``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:182 +msgid "Rear View" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:182 +#: ../../docs/getting_started/editor/default_key_mapping.rst:182 +msgid ":kbd:`Alt + Num 1`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:182 +msgid "``spatial_editor/rear_view``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:184 +msgid "Right View" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:184 +#: ../../docs/getting_started/editor/default_key_mapping.rst:184 +msgid ":kbd:`Num 3`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:184 +msgid "``spatial_editor/right_view``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:186 +msgid "Left View" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:186 +#: ../../docs/getting_started/editor/default_key_mapping.rst:186 +msgid ":kbd:`Alt + Num 3`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:186 +msgid "``spatial_editor/left_view``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:188 +msgid "Switch Perspective/Orthogonal View" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:188 +#: ../../docs/getting_started/editor/default_key_mapping.rst:188 +msgid ":kbd:`Num 5`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:188 +msgid "``spatial_editor/switch_perspective_orthogonal``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:190 +msgid "Insert Animation Key" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:190 +#: ../../docs/getting_started/editor/default_key_mapping.rst:190 +msgid ":kbd:`K`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:190 +msgid "``spatial_editor/insert_anim_key``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:192 +msgid "Focus Origin" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:192 +#: ../../docs/getting_started/editor/default_key_mapping.rst:192 +msgid ":kbd:`O`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:192 +msgid "``spatial_editor/focus_origin``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:194 +msgid "Focus Selection" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:194 +msgid "``spatial_editor/focus_selection``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:196 +msgid "Align Transform with View" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:196 +msgid ":kbd:`Ctrl + Alt + M`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:196 +msgid ":kbd:`Cmd + Alt + M`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:196 +msgid "``spatial_editor/align_transform_with_view``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:198 +msgid "Align Rotation with View" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:198 +#: ../../docs/getting_started/editor/default_key_mapping.rst:279 +msgid ":kbd:`Ctrl + Alt + F`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:198 +msgid ":kbd:`Cmd + Alt + F`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:198 +msgid "``spatial_editor/align_rotation_with_view``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:200 +msgid "1 Viewport" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:200 +msgid ":kbd:`Ctrl + 1`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:200 +msgid ":kbd:`Cmd + 1`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:200 +msgid "``spatial_editor/1_viewport``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:202 +msgid "2 Viewports" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:202 +msgid ":kbd:`Ctrl + 2`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:202 +msgid ":kbd:`Cmd + 2`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:202 +msgid "``spatial_editor/2_viewports``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:204 +msgid "2 Viewports (Alt)" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:204 +msgid ":kbd:`Ctrl + Alt + 2`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:204 +msgid ":kbd:`Cmd + Alt + 2`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:204 +msgid "``spatial_editor/2_viewports_alt``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:206 +msgid "3 Viewports" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:206 +msgid ":kbd:`Ctrl + 3`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:206 +msgid ":kbd:`Cmd + 3`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:206 +msgid "``spatial_editor/3_viewports``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:208 +msgid "3 Viewports (Alt)" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:208 +msgid ":kbd:`Ctrl + Alt + 3`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:208 +msgid ":kbd:`Cmd + Alt + 3`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:208 +msgid "``spatial_editor/3_viewports_alt``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:210 +msgid "4 Viewports" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:210 +msgid ":kbd:`Ctrl + 4`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:210 +msgid ":kbd:`Cmd + 4`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:210 +msgid "``spatial_editor/4_viewports``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:214 +msgid "Text Editor" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:219 +msgid "Cut" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:219 +#: ../../docs/getting_started/editor/default_key_mapping.rst:351 +#: ../../docs/getting_started/editor/default_key_mapping.rst:502 +msgid ":kbd:`Ctrl + X`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:219 +#: ../../docs/getting_started/editor/default_key_mapping.rst:351 +#: ../../docs/getting_started/editor/default_key_mapping.rst:502 +msgid ":kbd:`Cmd + X`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:219 +msgid "``script_text_editor/cut``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:221 +msgid "Copy" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:221 +#: ../../docs/getting_started/editor/default_key_mapping.rst:349 +#: ../../docs/getting_started/editor/default_key_mapping.rst:372 +#: ../../docs/getting_started/editor/default_key_mapping.rst:427 +#: ../../docs/getting_started/editor/default_key_mapping.rst:444 +#: ../../docs/getting_started/editor/default_key_mapping.rst:504 +msgid ":kbd:`Ctrl + C`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:221 +#: ../../docs/getting_started/editor/default_key_mapping.rst:349 +#: ../../docs/getting_started/editor/default_key_mapping.rst:372 +#: ../../docs/getting_started/editor/default_key_mapping.rst:427 +#: ../../docs/getting_started/editor/default_key_mapping.rst:444 +#: ../../docs/getting_started/editor/default_key_mapping.rst:504 +msgid ":kbd:`Cmd + C`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:221 +msgid "``script_text_editor/copy``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:223 +msgid "Paste" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:223 +#: ../../docs/getting_started/editor/default_key_mapping.rst:353 +msgid ":kbd:`Ctrl + V`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:223 +#: ../../docs/getting_started/editor/default_key_mapping.rst:353 +msgid ":kbd:`Cmd + V`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:223 +msgid "``script_text_editor/paste``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:225 +msgid "Select All" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:225 +#: ../../docs/getting_started/editor/default_key_mapping.rst:440 +msgid ":kbd:`Ctrl + A`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:225 +#: ../../docs/getting_started/editor/default_key_mapping.rst:440 +msgid ":kbd:`Cmd + A`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:225 +msgid "``script_text_editor/select_all``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:227 +#: ../../docs/getting_started/editor/default_key_mapping.rst:300 +msgid "Find" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:227 +#: ../../docs/getting_started/editor/default_key_mapping.rst:300 +#: ../../docs/getting_started/editor/default_key_mapping.rst:347 +#: ../../docs/getting_started/editor/default_key_mapping.rst:480 +msgid ":kbd:`Ctrl + F`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:227 +#: ../../docs/getting_started/editor/default_key_mapping.rst:300 +#: ../../docs/getting_started/editor/default_key_mapping.rst:347 +#: ../../docs/getting_started/editor/default_key_mapping.rst:480 +msgid ":kbd:`Cmd + F`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:227 +msgid "``script_text_editor/find``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:229 +#: ../../docs/getting_started/editor/default_key_mapping.rst:302 +msgid "Find Next" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:229 +#: ../../docs/getting_started/editor/default_key_mapping.rst:357 +msgid ":kbd:`Cmd + G`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:229 +msgid "``script_text_editor/find_next``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:231 +#: ../../docs/getting_started/editor/default_key_mapping.rst:304 +msgid "Find Previous" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:231 +#: ../../docs/getting_started/editor/default_key_mapping.rst:304 +#: ../../docs/getting_started/editor/default_key_mapping.rst:304 +msgid ":kbd:`Shift + F3`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:231 +msgid ":kbd:`Cmd + Shift + G`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:231 +msgid "``script_text_editor/find_previous``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:233 +#: ../../docs/getting_started/editor/default_key_mapping.rst:306 +msgid "Find in Files" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:233 +#: ../../docs/getting_started/editor/default_key_mapping.rst:306 +msgid ":kbd:`Ctrl + Shift + F`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:233 +#: ../../docs/getting_started/editor/default_key_mapping.rst:306 +msgid ":kbd:`Cmd + Shift + F`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:233 +msgid "``script_text_editor/find_in_files``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:235 +msgid "Replace" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:235 +#: ../../docs/getting_started/editor/default_key_mapping.rst:361 +msgid ":kbd:`Ctrl + R`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:235 +msgid ":kbd:`Alt + Cmd + F`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:235 +msgid "``script_text_editor/replace``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:237 +msgid "Replace in Files" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:237 +#: ../../docs/getting_started/editor/default_key_mapping.rst:322 +msgid ":kbd:`Ctrl + Shift + R`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:237 +msgid "``script_text_editor/replace_in_files``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:239 +msgid "``script_text_editor/undo``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:241 +msgid ":kbd:`Ctrl + Y`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:241 +msgid ":kbd:`Cmd + Y`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:241 +msgid "``script_text_editor/redo``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:243 +#: ../../docs/getting_started/editor/default_key_mapping.rst:308 +#: ../../docs/getting_started/editor/default_key_mapping.rst:452 +msgid "Move Up" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:243 +#: ../../docs/getting_started/editor/default_key_mapping.rst:243 +#: ../../docs/getting_started/editor/default_key_mapping.rst:400 +#: ../../docs/getting_started/editor/default_key_mapping.rst:400 +msgid ":kbd:`Alt + Up Arrow`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:243 +msgid "``script_text_editor/move_up``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:245 +#: ../../docs/getting_started/editor/default_key_mapping.rst:310 +#: ../../docs/getting_started/editor/default_key_mapping.rst:454 +msgid "Move Down" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:245 +#: ../../docs/getting_started/editor/default_key_mapping.rst:245 +msgid ":kbd:`Alt + Down Arrow`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:245 +msgid "``script_text_editor/move_down``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:247 +msgid "Delete Line" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:247 +#: ../../docs/getting_started/editor/default_key_mapping.rst:374 +msgid ":kbd:`Ctrl + Shift + K`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:247 +#: ../../docs/getting_started/editor/default_key_mapping.rst:374 +msgid ":kbd:`Cmd + Shift + K`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:247 +msgid "``script_text_editor/delete_line``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:249 +msgid "Toggle Comment" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:249 +msgid ":kbd:`Ctrl + K`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:249 +msgid ":kbd:`Cmd + K`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:249 +msgid "``script_text_editor/toggle_comment``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:251 +msgid "Fold/Unfold Line" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:251 +#: ../../docs/getting_started/editor/default_key_mapping.rst:251 +#: ../../docs/getting_started/editor/default_key_mapping.rst:406 +#: ../../docs/getting_started/editor/default_key_mapping.rst:406 +msgid ":kbd:`Alt + F`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:251 +msgid "``script_text_editor/toggle_fold_line``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:253 +msgid "Clone Down" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:253 +#: ../../docs/getting_started/editor/default_key_mapping.rst:414 +#: ../../docs/getting_started/editor/default_key_mapping.rst:429 +#: ../../docs/getting_started/editor/default_key_mapping.rst:450 +#: ../../docs/getting_started/editor/default_key_mapping.rst:463 +msgid ":kbd:`Ctrl + D`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:253 +msgid ":kbd:`Cmd + Shift + C`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:253 +msgid "``script_text_editor/clone_down``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:255 +msgid "Complete Symbol" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:255 +#: ../../docs/getting_started/editor/default_key_mapping.rst:255 +msgid ":kbd:`Ctrl + Space`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:255 +msgid "``script_text_editor/complete_symbol``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:257 +msgid "Evaluate Selection" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:257 +msgid ":kbd:`Ctrl + Shift + E`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:257 +msgid ":kbd:`Cmd + Shift + E`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:257 +msgid "``script_text_editor/evaluate_selection``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:259 +msgid "Trim Trailing Whitespace" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:259 +msgid ":kbd:`Ctrl + Alt + T`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:259 +msgid ":kbd:`Cmd + Alt + T`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:259 +msgid "``script_text_editor/trim_trailing_whitespace``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:261 +msgid "Uppercase" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:261 +#: ../../docs/getting_started/editor/default_key_mapping.rst:261 +msgid ":kbd:`Shift + F4`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:261 +msgid "``script_text_editor/convert_to_uppercase``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:263 +msgid "Lowercase" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:263 +#: ../../docs/getting_started/editor/default_key_mapping.rst:263 +msgid ":kbd:`Shift + F5`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:263 +msgid "``script_text_editor/convert_to_lowercase``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:265 +msgid "Capitalize" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:265 +#: ../../docs/getting_started/editor/default_key_mapping.rst:265 +msgid ":kbd:`Shift + F6`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:265 +msgid "``script_text_editor/capitalize``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:267 +msgid "Convert Indent to Spaces" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:267 +msgid ":kbd:`Ctrl + Shift + Y`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:267 +msgid ":kbd:`Cmd + Shift + Y`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:267 +msgid "``script_text_editor/convert_indent_to_spaces``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:269 +msgid "Convert Indent to Tabs" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:269 +msgid ":kbd:`Ctrl + Shift + I`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:269 +msgid ":kbd:`Cmd + Shift + I`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:269 +msgid "``script_text_editor/convert_indent_to_tabs``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:271 +msgid "Auto Indent" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:271 +msgid ":kbd:`Ctrl + I`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:271 +msgid ":kbd:`Cmd + I`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:271 +msgid "``script_text_editor/auto_indent``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:273 +msgid "Toggle Bookmark" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:273 +msgid ":kbd:`Ctrl + Alt + B`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:273 +msgid ":kbd:`Cmd + Alt + B`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:273 +msgid "``script_text_editor/toggle_bookmark``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:275 +msgid "Go to Next Bookmark" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:275 +msgid ":kbd:`Ctrl + B`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:275 +msgid "``script_text_editor/goto_next_bookmark``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:277 +msgid "Go to Previous Bookmark" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:277 +msgid "``script_text_editor/goto_previous_bookmark``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:279 +msgid "Go to Function" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:279 +msgid ":kbd:`Ctrl + Cmd + J`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:279 +msgid "``script_text_editor/goto_function``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:281 +msgid "Go to Line" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:281 +msgid ":kbd:`Ctrl + L`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:281 +msgid ":kbd:`Cmd + L`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:281 +msgid "``script_text_editor/goto_line``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:283 +#: ../../docs/getting_started/editor/default_key_mapping.rst:363 +msgid "Toggle Breakpoint" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:283 +#: ../../docs/getting_started/editor/default_key_mapping.rst:363 +#: ../../docs/getting_started/editor/default_key_mapping.rst:363 +msgid ":kbd:`F9`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:283 +msgid "``script_text_editor/toggle_breakpoint``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:285 +msgid "Remove All Breakpoints" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:285 +msgid ":kbd:`Ctrl + Shift + F9`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:285 +msgid ":kbd:`Cmd + Shift + F9`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:285 +msgid "``script_text_editor/remove_all_breakpoints``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:287 +msgid "Go to Next Breakpoint" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:287 +msgid ":kbd:`Ctrl + .`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:287 +msgid "``script_text_editor/goto_next_breakpoint``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:289 +msgid "Go to Previous Breakpoint" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:289 +msgid ":kbd:`Ctrl + ,`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:289 +msgid ":kbd:`Cmd + ,`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:289 +msgid "``script_text_editor/goto_previous_breakpoint``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:291 +msgid "Contextual Help" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:291 +msgid ":kbd:`Alt + F1`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:291 +msgid ":kbd:`Alt + Shift + Space`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:291 +msgid "``script_text_editor/contextual_help``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:295 +msgid "Script Editor" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:300 +msgid "``script_editor/find``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:302 +msgid "``script_editor/find_next``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:304 +msgid "``script_editor/find_previous``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:306 +msgid "``script_editor/find_in_files``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:308 +#: ../../docs/getting_started/editor/default_key_mapping.rst:308 +msgid ":kbd:`Shift + Alt + Up Arrow`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:308 +msgid "``script_editor/window_move_up``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:310 +#: ../../docs/getting_started/editor/default_key_mapping.rst:310 +msgid ":kbd:`Shift + Alt + Down Arrow`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:310 +msgid "``script_editor/window_move_down``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:312 +msgid "Next Script" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:312 +msgid ":kbd:`Ctrl + Shift + .`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:312 +msgid ":kbd:`Cmd + Shift + .`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:312 +msgid "``script_editor/next_script``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:314 +msgid "Previous Script" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:314 +msgid ":kbd:`Ctrl + Shift + ,`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:314 +msgid ":kbd:`Cmd + Shift + ,`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:314 +msgid "``script_editor/prev_script``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:316 +msgid "Reopen Closed Script" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:316 +msgid "``script_editor/reopen_closed_script``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:318 +msgid "Save" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:318 +msgid ":kbd:`Ctrl + Alt + S`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:318 +msgid ":kbd:`Cmd + Alt + S`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:318 +msgid "``script_editor/save``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:320 +msgid "Save All" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:320 +msgid "``script_editor/save_all``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:322 +msgid "Soft Reload Script" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:322 +msgid "``script_editor/reload_script_soft``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:324 +msgid "History Previous" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:324 +#: ../../docs/getting_started/editor/default_key_mapping.rst:324 +#: ../../docs/getting_started/editor/default_key_mapping.rst:396 +#: ../../docs/getting_started/editor/default_key_mapping.rst:396 +msgid ":kbd:`Alt + Left Arrow`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:324 +msgid "``script_editor/history_previous``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:326 +msgid "History Next" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:326 +#: ../../docs/getting_started/editor/default_key_mapping.rst:326 +#: ../../docs/getting_started/editor/default_key_mapping.rst:398 +#: ../../docs/getting_started/editor/default_key_mapping.rst:398 +msgid ":kbd:`Alt + Right Arrow`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:326 +msgid "``script_editor/history_next``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:328 +msgid "Close" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:328 +msgid ":kbd:`Ctrl + W`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:328 +msgid ":kbd:`Cmd + W`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:328 +msgid "``script_editor/close_file``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:330 +msgid "Run" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:330 +msgid ":kbd:`Ctrl + Shift + X`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:330 +msgid ":kbd:`Cmd + Shift + X`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:330 +msgid "``script_editor/run_file``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:332 +msgid "Toggle Scripts Panel" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:332 +msgid ":kbd:`Ctrl + \\\\`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:332 +msgid ":kbd:`Cmd + \\\\`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:332 +msgid "``script_editor/toggle_scripts_panel``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:334 +msgid "``script_editor/zoom_in``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:336 +msgid "``script_editor/zoom_out``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:338 +msgid "Reset Zoom" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:338 +msgid "``script_editor/reset_zoom``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:342 +msgid "Visual Script Editor" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:347 +msgid "Find Node Type" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:347 +msgid "``visual_script_editor/find_node_type``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:349 +msgid "Copy Nodes" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:349 +msgid "``visual_script_editor/copy_nodes``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:351 +msgid "Cut Nodes" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:351 +msgid "``visual_script_editor/cut_nodes``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:353 +msgid "Paste Nodes" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:353 +msgid "``visual_script_editor/paste_nodes``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:355 +msgid "Delete Selected" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:355 +#: ../../docs/getting_started/editor/default_key_mapping.rst:412 +#: ../../docs/getting_started/editor/default_key_mapping.rst:431 +#: ../../docs/getting_started/editor/default_key_mapping.rst:446 +#: ../../docs/getting_started/editor/default_key_mapping.rst:467 +#: ../../docs/getting_started/editor/default_key_mapping.rst:506 +msgid ":kbd:`Del`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:355 +#: ../../docs/getting_started/editor/default_key_mapping.rst:412 +#: ../../docs/getting_started/editor/default_key_mapping.rst:431 +#: ../../docs/getting_started/editor/default_key_mapping.rst:446 +#: ../../docs/getting_started/editor/default_key_mapping.rst:467 +#: ../../docs/getting_started/editor/default_key_mapping.rst:506 +msgid ":kbd:`Cmd + BkSp`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:355 +msgid "``visual_script_editor/delete_selected``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:357 +msgid "Make Function" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:357 +msgid ":kbd:`Ctrl + G`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:357 +msgid "``visual_script_editor/create_function``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:359 +msgid "Edit Member" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:359 +msgid ":kbd:`Ctrl + E`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:359 +msgid ":kbd:`Cmd + E`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:359 +msgid "``visual_script_editor/edit_member``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:361 +msgid "Refresh Graph" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:361 +msgid "``visual_script_editor/refresh_nodes``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:363 +msgid "``visual_script_editor/toggle_breakpoint``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:367 +msgid "Editor Output" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:372 +#: ../../docs/getting_started/editor/default_key_mapping.rst:504 +msgid "Copy Selection" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:372 +msgid "``editor/copy_output``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:374 +msgid "Clear Output" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:374 +msgid "``editor/clear_output``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:378 +msgid "Debugger" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:383 +msgid "Step Into" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:383 +#: ../../docs/getting_started/editor/default_key_mapping.rst:383 +msgid ":kbd:`F11`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:383 +msgid "``debugger/step_into``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:385 +msgid "Step Over" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:385 +#: ../../docs/getting_started/editor/default_key_mapping.rst:385 +msgid ":kbd:`F10`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:385 +msgid "``debugger/step_over``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:387 +msgid "Continue" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:387 +#: ../../docs/getting_started/editor/default_key_mapping.rst:387 +msgid ":kbd:`F12`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:387 +msgid "``debugger/continue``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:391 +msgid "File Dialog" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:396 +msgid "Go Back" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:396 +msgid "``file_dialog/go_back``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:398 +msgid "Go Forward" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:398 +msgid "``file_dialog/go_forward``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:400 +msgid "Go Up" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:400 +msgid "``file_dialog/go_up``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:402 +msgid "Refresh" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:402 +msgid "``file_dialog/refresh``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:404 +msgid "Toggle Hidden Files" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:404 +msgid ":kbd:`Ctrl + H`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:404 +msgid ":kbd:`Cmd + H`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:404 +msgid "``file_dialog/toggle_hidden_files``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:406 +msgid "Toggle Favorite" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:406 +msgid "``file_dialog/toggle_favorite``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:408 +msgid "Toggle Mode" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:408 +#: ../../docs/getting_started/editor/default_key_mapping.rst:408 +msgid ":kbd:`Alt + V`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:408 +msgid "``file_dialog/toggle_mode``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:410 +msgid "Create Folder" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:410 +msgid ":kbd:`Ctrl + N`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:410 +msgid ":kbd:`Cmd + N`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:410 +msgid "``file_dialog/create_folder``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:412 +#: ../../docs/getting_started/editor/default_key_mapping.rst:431 +#: ../../docs/getting_started/editor/default_key_mapping.rst:446 +msgid "Delete" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:412 +msgid "``file_dialog/delete``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:414 +msgid "Focus Path" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:414 +#: ../../docs/getting_started/editor/default_key_mapping.rst:429 +#: ../../docs/getting_started/editor/default_key_mapping.rst:450 +#: ../../docs/getting_started/editor/default_key_mapping.rst:463 +msgid ":kbd:`Cmd + D`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:414 +msgid "``file_dialog/focus_path``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:416 +msgid "Move Favorite Up" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:416 +#: ../../docs/getting_started/editor/default_key_mapping.rst:452 +msgid ":kbd:`Ctrl + Up Arrow`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:416 +#: ../../docs/getting_started/editor/default_key_mapping.rst:452 +msgid ":kbd:`Cmd + Up Arrow`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:416 +msgid "``file_dialog/move_favorite_up``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:418 +msgid "Move Favorite Down" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:418 +#: ../../docs/getting_started/editor/default_key_mapping.rst:454 +msgid ":kbd:`Ctrl + Down Arrow`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:418 +#: ../../docs/getting_started/editor/default_key_mapping.rst:454 +msgid ":kbd:`Cmd + Down Arrow`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:418 +msgid "``file_dialog/move_favorite_down``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:422 +msgid "FileSystem Dock" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:427 +msgid "Copy Path" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:427 +msgid "``filesystem_dock/copy_path``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:429 +#: ../../docs/getting_started/editor/default_key_mapping.rst:450 +msgid "Duplicate" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:429 +msgid "``filesystem_dock/duplicate``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:431 +msgid "``filesystem_dock/delete``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:435 +msgid "Scene Tree Dock" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:440 +msgid "Add Child Node" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:440 +msgid "``scene_tree/add_child_node``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:442 +msgid "Batch Rename" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:442 +msgid ":kbd:`Ctrl + F2`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:442 +msgid ":kbd:`Cmd + F2`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:442 +msgid "``scene_tree/batch_rename``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:444 +msgid "Copy Node Path" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:444 +msgid "``scene_tree/copy_node_path``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:446 +msgid "``scene_tree/delete``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:448 +msgid "Force Delete" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:448 +#: ../../docs/getting_started/editor/default_key_mapping.rst:448 +msgid ":kbd:`Shift + Del`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:448 +msgid "``scene_tree/delete_no_confirm``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:450 +msgid "``scene_tree/duplicate``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:452 +msgid "``scene_tree/move_up``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:454 +msgid "``scene_tree/move_down``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:458 +msgid "Animation Track Editor" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:463 +msgid "Duplicate Selection" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:463 +msgid "``animation_editor/duplicate_selection``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:465 +msgid "Duplicate Transposed" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:465 +msgid ":kbd:`Ctrl + Shift + D`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:465 +msgid ":kbd:`Cmd + Shift + D`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:465 +msgid "``animation_editor/duplicate_selection_transposed``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:467 +msgid "Delete Selection" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:467 +msgid "``animation_editor/delete_selection``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:469 +msgid "Go to Next Step" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:469 +msgid ":kbd:`Ctrl + Right Arrow`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:469 +msgid ":kbd:`Cmd + Right Arrow`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:469 +msgid "``animation_editor/goto_next_step``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:471 +msgid "Go to Previous Step" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:471 +msgid ":kbd:`Ctrl + Left Arrow`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:471 +msgid ":kbd:`Cmd + Left Arrow`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:471 +msgid "``animation_editor/goto_prev_step``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:475 +msgid "Tile Map Editor" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:480 +msgid "Find Tile" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:480 +msgid "``tile_map_editor/find_tile``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:482 +msgid "Pick Tile" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:482 +#: ../../docs/getting_started/editor/default_key_mapping.rst:482 +msgid ":kbd:`I`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:482 +msgid "``tile_map_editor/pick_tile``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:484 +msgid "Paint Tile" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:484 +#: ../../docs/getting_started/editor/default_key_mapping.rst:484 +msgid ":kbd:`P`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:484 +msgid "``tile_map_editor/paint_tile``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:486 +msgid "Bucket Fill" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:486 +msgid "``tile_map_editor/bucket_fill``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:488 +msgid "Transpose" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:488 +msgid "``tile_map_editor/transpose``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:490 +msgid "Flip Horizontally" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:490 +#: ../../docs/getting_started/editor/default_key_mapping.rst:490 +msgid ":kbd:`X`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:490 +msgid "``tile_map_editor/flip_horizontal``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:492 +msgid "Flip Vertically" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:492 +#: ../../docs/getting_started/editor/default_key_mapping.rst:492 +msgid ":kbd:`Z`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:492 +msgid "``tile_map_editor/flip_vertical``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:494 +msgid "Rotate Left" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:494 +msgid "``tile_map_editor/rotate_left``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:496 +msgid "Rotate Right" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:496 +msgid "``tile_map_editor/rotate_right``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:498 +msgid "Clear Transform" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:498 +msgid "``tile_map_editor/clear_transform``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:500 +msgid "Select" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:500 +#: ../../docs/getting_started/editor/default_key_mapping.rst:500 +msgid ":kbd:`M`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:500 +msgid "``tile_map_editor/select``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:502 +msgid "Cut Selection" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:502 +msgid "``tile_map_editor/cut_selection``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:504 +msgid "``tile_map_editor/copy_selection``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:506 +msgid "Erase Selection" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:506 +msgid "``tile_map_editor/erase_selection``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:510 +msgid "Tileset Editor" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:515 +msgid "Next Coordinate" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:515 +msgid "``tileset_editor/next_shape``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:517 +msgid "Previous Coordinate" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:517 +#: ../../docs/getting_started/editor/default_key_mapping.rst:517 +msgid ":kbd:`PgUp`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:517 +msgid "``tileset_editor/previous_shape``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:519 +msgid "Region Mode" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:519 +#: ../../docs/getting_started/editor/default_key_mapping.rst:519 +msgid ":kbd:`1`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:519 +msgid "``tileset_editor/editmode_region``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:521 +msgid "Collision Mode" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:521 +#: ../../docs/getting_started/editor/default_key_mapping.rst:521 +msgid ":kbd:`2`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:521 +msgid "``tileset_editor/editmode_collision``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:523 +msgid "Occlusion Mode" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:523 +#: ../../docs/getting_started/editor/default_key_mapping.rst:523 +msgid ":kbd:`3`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:523 +msgid "``tileset_editor/editmode_occlusion``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:525 +msgid "Navigation Mode" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:525 +#: ../../docs/getting_started/editor/default_key_mapping.rst:525 +msgid ":kbd:`4`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:525 +msgid "``tileset_editor/editmode_navigation``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:527 +msgid "Bitmask Mode" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:527 +#: ../../docs/getting_started/editor/default_key_mapping.rst:527 +msgid ":kbd:`5`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:527 +msgid "``tileset_editor/editmode_bitmask``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:529 +msgid "Priority Mode" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:529 +#: ../../docs/getting_started/editor/default_key_mapping.rst:529 +msgid ":kbd:`6`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:529 +msgid "``tileset_editor/editmode_priority``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:531 +msgid "Icon Mode" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:531 +#: ../../docs/getting_started/editor/default_key_mapping.rst:531 +msgid ":kbd:`7`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:531 +msgid "``tileset_editor/editmode_icon``" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:533 +msgid "Z Index Mode" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:533 +#: ../../docs/getting_started/editor/default_key_mapping.rst:533 +msgid ":kbd:`8`" +msgstr "" + +#: ../../docs/getting_started/editor/default_key_mapping.rst:533 +msgid "``tileset_editor/editmode_z_index``" +msgstr "" + diff --git a/sphinx/templates/getting_started/editor/external_editor.pot b/sphinx/templates/getting_started/editor/external_editor.pot index f1388d6fb3..b1017dae5b 100644 --- a/sphinx/templates/getting_started/editor/external_editor.pot +++ b/sphinx/templates/getting_started/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: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "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/editor/index.pot b/sphinx/templates/getting_started/editor/index.pot index 4eef35b63f..05d9fa1b89 100644 --- a/sphinx/templates/getting_started/editor/index.pot +++ b/sphinx/templates/getting_started/editor/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "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/editor/unity_to_godot.pot b/sphinx/templates/getting_started/editor/unity_to_godot.pot index bcab0d52fd..729ed7d97d 100644 --- a/sphinx/templates/getting_started/editor/unity_to_godot.pot +++ b/sphinx/templates/getting_started/editor/unity_to_godot.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\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 guide provides an overview of Godot Engine from the viewpoint of a U msgstr "" #: ../../docs/getting_started/editor/unity_to_godot.rst:15 -msgid "This article talks about older versions of Unity. Nestable prefabs ('Nested prefabs') were added to Unity 2018.3. Nestable prefabs are analogous to Godot's scenes, and allow a more Godot-like approach to scene organisation." +msgid "This article talks about older versions of Unity. Nestable prefabs ('Nested prefabs') were added to Unity 2018.3. Nestable prefabs are analogous to Godot's scenes, and allow a more Godot-like approach to scene organization." msgstr "" #: ../../docs/getting_started/editor/unity_to_godot.rst:18 @@ -85,7 +85,7 @@ msgid "**Consoles:** PS4, PS Vita, Xbox One, Xbox 360, Wii U, Nintendo 3DS" msgstr "" #: ../../docs/getting_started/editor/unity_to_godot.rst:31 -msgid "**VR:** Oculus Rift, SteamVR, Google Cardboard, Playstation VR, Gear VR, HoloLens" +msgid "**VR:** Oculus Rift, SteamVR, Google Cardboard, PlayStation VR, Gear VR, HoloLens" msgstr "" #: ../../docs/getting_started/editor/unity_to_godot.rst:32 @@ -197,242 +197,246 @@ msgid "The Toolbar at the top of the screen is similar in both editors, offering msgstr "" #: ../../docs/getting_started/editor/unity_to_godot.rst:76 -msgid "This approach has the disadvantage that in Godot the running game can't be explored from different angles (though this may be supported in the future and displaying collision gizmos in the running game is already possible), but in exchange has several advantages:" +msgid "This approach has several advantages:" msgstr "" -#: ../../docs/getting_started/editor/unity_to_godot.rst:80 +#: ../../docs/getting_started/editor/unity_to_godot.rst:78 msgid "Running the project and closing it is fast (Unity has to save, run the project, close the project, and then reload the previous state)." msgstr "" -#: ../../docs/getting_started/editor/unity_to_godot.rst:81 +#: ../../docs/getting_started/editor/unity_to_godot.rst:79 msgid "Live editing is a lot more useful because changes done to the editor take effect immediately in the game and are not lost (nor have to be synced) when the game is closed. This allows fantastic workflows, like creating levels while you play them." msgstr "" -#: ../../docs/getting_started/editor/unity_to_godot.rst:82 +#: ../../docs/getting_started/editor/unity_to_godot.rst:80 msgid "The editor is more stable because the game runs in a separate process." msgstr "" -#: ../../docs/getting_started/editor/unity_to_godot.rst:84 +#: ../../docs/getting_started/editor/unity_to_godot.rst:81 +msgid "The running game can be explored from different angles by toggling the \"Camera Override\" button in the editor viewport, which will switch between using the editor view and the game camera view." +msgstr "" + +#: ../../docs/getting_started/editor/unity_to_godot.rst:83 msgid "Finally, Godot's top toolbar includes a menu for remote debugging. These options allow deployment to a device (connected phone, tablet, or browser via HTML5), and debugging/live editing on it after the game is exported." msgstr "" -#: ../../docs/getting_started/editor/unity_to_godot.rst:89 +#: ../../docs/getting_started/editor/unity_to_godot.rst:88 msgid "The scene system" msgstr "" -#: ../../docs/getting_started/editor/unity_to_godot.rst:91 -msgid "This is the most important difference between Unity and Godot and the favourite feature of most Godot users." +#: ../../docs/getting_started/editor/unity_to_godot.rst:90 +msgid "This is the most important difference between Unity and Godot and the favorite feature of most Godot users." msgstr "" -#: ../../docs/getting_started/editor/unity_to_godot.rst:93 +#: ../../docs/getting_started/editor/unity_to_godot.rst:92 msgid "Working on a 'level' in Unity usually means embedding all the required assets in a scene and linking them together with components and scripts." msgstr "" -#: ../../docs/getting_started/editor/unity_to_godot.rst:96 +#: ../../docs/getting_started/editor/unity_to_godot.rst:95 msgid "Godot's scene system is superficially similar to Unity. A 'level' consists of a collection of nodes, each with its own purpose: Sprite, Mesh, Light, etc. However, in Godot the nodes are arranged in a tree. Each node can have multiple children, which makes each a subscene of the main scene. This means you can compose a whole scene with different scenes stored in different files." msgstr "" -#: ../../docs/getting_started/editor/unity_to_godot.rst:99 +#: ../../docs/getting_started/editor/unity_to_godot.rst:98 msgid "For example, think of a platformer level. You would compose it with multiple elements:" msgstr "" -#: ../../docs/getting_started/editor/unity_to_godot.rst:101 +#: ../../docs/getting_started/editor/unity_to_godot.rst:100 msgid "Bricks" msgstr "" -#: ../../docs/getting_started/editor/unity_to_godot.rst:102 +#: ../../docs/getting_started/editor/unity_to_godot.rst:101 msgid "Coins" msgstr "" -#: ../../docs/getting_started/editor/unity_to_godot.rst:103 +#: ../../docs/getting_started/editor/unity_to_godot.rst:102 msgid "The player" msgstr "" -#: ../../docs/getting_started/editor/unity_to_godot.rst:104 +#: ../../docs/getting_started/editor/unity_to_godot.rst:103 msgid "The enemies" msgstr "" -#: ../../docs/getting_started/editor/unity_to_godot.rst:106 +#: ../../docs/getting_started/editor/unity_to_godot.rst:105 msgid "In Unity, you would put all the GameObjects in the scene: the player, multiple instances of enemies, bricks everywhere to form the ground of the level and then multiple instances of coins all over the level. You would then add various components to each element to link them and add logic in the level: For example, you'd add a BoxCollider2D to all the elements of the scene so that they can collide. This principle is different in Godot." msgstr "" -#: ../../docs/getting_started/editor/unity_to_godot.rst:111 +#: ../../docs/getting_started/editor/unity_to_godot.rst:110 msgid "In Godot, you would split your whole scene into three separate, smaller scenes, and instance them in the main scene." msgstr "" -#: ../../docs/getting_started/editor/unity_to_godot.rst:113 +#: ../../docs/getting_started/editor/unity_to_godot.rst:112 msgid "**A scene for the Player alone.**" msgstr "" -#: ../../docs/getting_started/editor/unity_to_godot.rst:115 +#: ../../docs/getting_started/editor/unity_to_godot.rst:114 msgid "Consider the player as an element we'd like to use in different parent scenes (for instance 'level' scenes). In our case, the player element needs at least an AnimatedSprite node. This node contains the sprite textures necessary for various animations (for example, a walking animation)." msgstr "" -#: ../../docs/getting_started/editor/unity_to_godot.rst:117 +#: ../../docs/getting_started/editor/unity_to_godot.rst:116 msgid "**A scene for the Enemy.**" msgstr "" -#: ../../docs/getting_started/editor/unity_to_godot.rst:119 -msgid "An enemy is also an element we'd like to use in several scenes. It's almost the same as the Player node. The only differences are the script (it needs 'AI' routines to generate the enemy's behaviour) and the sprite textures used by the AnimatedSprite node." +#: ../../docs/getting_started/editor/unity_to_godot.rst:118 +msgid "An enemy is also an element we'd like to use in several scenes. It's almost the same as the Player node. The only differences are the script (it needs 'AI' routines to generate the enemy's behavior) and the sprite textures used by the AnimatedSprite node." msgstr "" -#: ../../docs/getting_started/editor/unity_to_godot.rst:123 +#: ../../docs/getting_started/editor/unity_to_godot.rst:122 msgid "**A Level scene.**" msgstr "" -#: ../../docs/getting_started/editor/unity_to_godot.rst:125 -msgid "A Level scene is composed of Bricks (for platforms), Coins (for the player to collect) and a number of instances of the Enemy scene. Each instance is a node in the Level scene tree. These instances are separate enemies, which initially have shared behaviour and appearance as defined in the Enemy scene. You can set different properties for each Enemy node (to change its color, for example)." +#: ../../docs/getting_started/editor/unity_to_godot.rst:124 +msgid "A Level scene is composed of Bricks (for platforms), Coins (for the player to collect) and a number of instances of the Enemy scene. Each instance is a node in the Level scene tree. These instances are separate enemies, which initially have shared behavior and appearance as defined in the Enemy scene. You can set different properties for each Enemy node (to change its color, for example)." msgstr "" -#: ../../docs/getting_started/editor/unity_to_godot.rst:129 +#: ../../docs/getting_started/editor/unity_to_godot.rst:128 msgid "4. **A Main scene.** The Main scene would be composed of one root node with 2 children: a Player instance node, and a Level instance node. The root node can be anything, generally a \"root\" type such as \"Node\" which is the most global type, or \"Node2D\" (root type of all 2D-related nodes), \"Spatial\" (root type of all 3D-related nodes) or \"Control\" (root type of all GUI-related nodes)." msgstr "" -#: ../../docs/getting_started/editor/unity_to_godot.rst:135 +#: ../../docs/getting_started/editor/unity_to_godot.rst:134 msgid "As you can see, every scene is organized as a tree. The same goes for nodes' properties: you don't *add* a collision component to a node to make it collidable like Unity does. Instead, you make this node a *child* of a new specific node that has collision properties. Godot features various collision types nodes, depending on the usage (see the :ref:`Physics introduction `)." msgstr "" -#: ../../docs/getting_started/editor/unity_to_godot.rst:140 +#: ../../docs/getting_started/editor/unity_to_godot.rst:139 msgid "What are the advantages of this system? Wouldn't this system potentially increase the depth of the scene tree? And doesn't Unity already allow you to organize GameObjects by putting them inside empty GameObjects?" msgstr "" -#: ../../docs/getting_started/editor/unity_to_godot.rst:142 +#: ../../docs/getting_started/editor/unity_to_godot.rst:141 msgid "Godot's system is closer to the well-known object-oriented paradigm: Godot provides a number of nodes which are not clearly \"Game Objects\", but they provide their children with their own capabilities: this is inheritance." msgstr "" -#: ../../docs/getting_started/editor/unity_to_godot.rst:143 +#: ../../docs/getting_started/editor/unity_to_godot.rst:142 msgid "Godot allows the extraction of a subtree of a scene to make it a scene of its own. So if a scene tree gets too deep, it can be split into smaller subtrees. This is better for reusability, as you can include any subtree as a child of any node. Putting multiple GameObjects in an empty GameObject in Unity does not provide the same functionality." msgstr "" -#: ../../docs/getting_started/editor/unity_to_godot.rst:146 +#: ../../docs/getting_started/editor/unity_to_godot.rst:145 msgid "Project organization" msgstr "" -#: ../../docs/getting_started/editor/unity_to_godot.rst:150 +#: ../../docs/getting_started/editor/unity_to_godot.rst:149 msgid "There is no perfect project architecture. Any architecture can be made to work in either Unity and Godot." msgstr "" -#: ../../docs/getting_started/editor/unity_to_godot.rst:153 +#: ../../docs/getting_started/editor/unity_to_godot.rst:152 msgid "However, a common architecture for Unity projects is to have one Assets folder in the root directory that contains various folders, one per type of asset: Audio, Graphics, Models, Materials, Scripts, Scenes, and so on." msgstr "" -#: ../../docs/getting_started/editor/unity_to_godot.rst:156 +#: ../../docs/getting_started/editor/unity_to_godot.rst:155 msgid "Since Godot allows splitting scenes into smaller scenes, each scene and subscene existing as a file in the project, we recommend organizing your project a bit differently. This wiki provides a page for this: :ref:`doc_project_organization`." msgstr "" -#: ../../docs/getting_started/editor/unity_to_godot.rst:161 +#: ../../docs/getting_started/editor/unity_to_godot.rst:160 msgid "Where are my prefabs?" msgstr "" -#: ../../docs/getting_started/editor/unity_to_godot.rst:163 +#: ../../docs/getting_started/editor/unity_to_godot.rst:162 msgid "A prefab as provided by Unity is a 'template' element of the scene. It is reusable, and each instance of the prefab that exists in the scene has an existence of its own, but all of them have the same properties as defined by the prefab." msgstr "" -#: ../../docs/getting_started/editor/unity_to_godot.rst:167 +#: ../../docs/getting_started/editor/unity_to_godot.rst:166 msgid "Godot does not provide prefabs as such, but the same functionality is provided by its scene system: The scene system is organized as a tree. Godot allows you to save any subtree of a scene as a scene file. This new scene can then be instanced as many times as you want, as a child of any node. Any change you make to this new, separate scene will be applied to its instances. However, any change you make to the instance will not have any impact on the 'template' scene." msgstr "" -#: ../../docs/getting_started/editor/unity_to_godot.rst:174 +#: ../../docs/getting_started/editor/unity_to_godot.rst:173 msgid "To be precise, you can modify the parameters of an instance in the Inspector panel. The nodes that compose this instance are initially locked. You can unlock them if you need to by right-clicking the instance in the Scene tree and selecting \"Editable children\" in the menu. You don't need to do this to add *new* child nodes to this node. Remember that any new children will belong to the instance, not to the 'template' scene on disk. If you want to add new children to every instance of your 'template' scene, then you should add them in the 'template' scene." msgstr "" -#: ../../docs/getting_started/editor/unity_to_godot.rst:184 +#: ../../docs/getting_started/editor/unity_to_godot.rst:183 msgid "Glossary correspondence" msgstr "" -#: ../../docs/getting_started/editor/unity_to_godot.rst:186 +#: ../../docs/getting_started/editor/unity_to_godot.rst:185 msgid "GameObject -> Node" msgstr "" -#: ../../docs/getting_started/editor/unity_to_godot.rst:187 +#: ../../docs/getting_started/editor/unity_to_godot.rst:186 msgid "Add a component -> Inheriting" msgstr "" -#: ../../docs/getting_started/editor/unity_to_godot.rst:188 +#: ../../docs/getting_started/editor/unity_to_godot.rst:187 msgid "Prefab -> Reusable Scene file" msgstr "" -#: ../../docs/getting_started/editor/unity_to_godot.rst:192 +#: ../../docs/getting_started/editor/unity_to_godot.rst:191 msgid "Scripting: GDScript, C# and Visual Script" msgstr "" -#: ../../docs/getting_started/editor/unity_to_godot.rst:195 +#: ../../docs/getting_started/editor/unity_to_godot.rst:194 msgid "Design" msgstr "" -#: ../../docs/getting_started/editor/unity_to_godot.rst:197 +#: ../../docs/getting_started/editor/unity_to_godot.rst:196 msgid "Unity supports C#. C# benefits from its integration with Visual Studio and has desirable features such as static typing." msgstr "" -#: ../../docs/getting_started/editor/unity_to_godot.rst:199 +#: ../../docs/getting_started/editor/unity_to_godot.rst:198 msgid "Godot provides its own scripting language, :ref:`GDScript ` as well as support for :ref:`Visual Script ` and :ref:`C# `. GDScript borrows its syntax from Python, but is not related to it. If you wonder about the reasoning for a custom scripting language, please read the :ref:`doc_gdscript` and :ref:`doc_faq` pages. GDScript is strongly attached to the Godot API and doesn't take long to learn: Between one evening for an experienced programmer and a week for a complete beginner." msgstr "" -#: ../../docs/getting_started/editor/unity_to_godot.rst:205 -msgid "Unity allows you to attach as many scripts as you want to a GameObject. Each script adds a behaviour to the GameObject: For example, you can attach a script so that it reacts to the player's controls, and another that controls its specific game logic." +#: ../../docs/getting_started/editor/unity_to_godot.rst:204 +msgid "Unity allows you to attach as many scripts as you want to a GameObject. Each script adds a behavior to the GameObject: For example, you can attach a script so that it reacts to the player's controls, and another that controls its specific game logic." msgstr "" -#: ../../docs/getting_started/editor/unity_to_godot.rst:209 +#: ../../docs/getting_started/editor/unity_to_godot.rst:208 msgid "In Godot, you can only attach one script per node. You can use either an external GDScript file or include the script directly in the node. If you need to attach more scripts to one node, then you may consider two solutions, depending on your scene and on what you want to achieve:" msgstr "" -#: ../../docs/getting_started/editor/unity_to_godot.rst:213 +#: ../../docs/getting_started/editor/unity_to_godot.rst:212 msgid "either add a new node between your target node and its current parent, then add a script to this new node." msgstr "" -#: ../../docs/getting_started/editor/unity_to_godot.rst:214 +#: ../../docs/getting_started/editor/unity_to_godot.rst:213 msgid "or, you can split your target node into multiple children and attach one script to each of them." msgstr "" -#: ../../docs/getting_started/editor/unity_to_godot.rst:216 +#: ../../docs/getting_started/editor/unity_to_godot.rst:215 msgid "As you can see, it can be easy to turn a scene tree to a mess. Consider splitting any complicated scene into multiple, smaller branches." msgstr "" -#: ../../docs/getting_started/editor/unity_to_godot.rst:219 +#: ../../docs/getting_started/editor/unity_to_godot.rst:218 msgid "Connections: groups and signals" msgstr "" -#: ../../docs/getting_started/editor/unity_to_godot.rst:221 +#: ../../docs/getting_started/editor/unity_to_godot.rst:220 msgid "You can control nodes by accessing them via script and calling built-in or user-defined functions on them. You can also place nodes in a group and call functions on all nodes in this group. See more in the :ref:`scripting documentation `." msgstr "" -#: ../../docs/getting_started/editor/unity_to_godot.rst:226 +#: ../../docs/getting_started/editor/unity_to_godot.rst:225 msgid "Nodes can send a signal when a specified action occurs. A signal can be set to call any function. You can define custom signals and specify when they are triggered. See more in the :ref:`signals documentation `." msgstr "" -#: ../../docs/getting_started/editor/unity_to_godot.rst:231 +#: ../../docs/getting_started/editor/unity_to_godot.rst:230 msgid "Script serialization" msgstr "" -#: ../../docs/getting_started/editor/unity_to_godot.rst:233 +#: ../../docs/getting_started/editor/unity_to_godot.rst:232 msgid "Unity can handle script serialization in two ways:" msgstr "" -#: ../../docs/getting_started/editor/unity_to_godot.rst:235 +#: ../../docs/getting_started/editor/unity_to_godot.rst:234 msgid "Implicit: All public fields in a class are automatically serialized if the type is a serializable type (``Dictionary`` is not serializable)." msgstr "" -#: ../../docs/getting_started/editor/unity_to_godot.rst:236 +#: ../../docs/getting_started/editor/unity_to_godot.rst:235 msgid "Explicit: Non-public fields can be serialized using the ``[SerializeField]`` attribute." msgstr "" -#: ../../docs/getting_started/editor/unity_to_godot.rst:238 +#: ../../docs/getting_started/editor/unity_to_godot.rst:237 msgid "Godot also has a built-in script serialization system, but it works only explicitly. You can serialize any serializable type (:ref:`built-in and various engine types `, including :ref:`class_Array` and :ref:`class_Dictionary`) using the ``export`` keyword. See the :ref:`exports documentation ` for details." msgstr "" -#: ../../docs/getting_started/editor/unity_to_godot.rst:243 +#: ../../docs/getting_started/editor/unity_to_godot.rst:242 msgid "Unity also has a data type called ``ScriptableObject`` used to serialize custom asset objects. Its equivalent in Godot is the base class for all resources: :ref:`class_Resource`. Creating a script that inherits :ref:`class_Resource` will allow you to create custom serializable objects. More information about resources can be found :ref:`here `." msgstr "" -#: ../../docs/getting_started/editor/unity_to_godot.rst:248 +#: ../../docs/getting_started/editor/unity_to_godot.rst:247 msgid "Using Godot in C++" msgstr "" -#: ../../docs/getting_started/editor/unity_to_godot.rst:250 +#: ../../docs/getting_started/editor/unity_to_godot.rst:249 msgid "Godot allows you to develop your project directly in C++ by using its API, which is not possible with Unity at the moment. As an example, you can consider Godot Engine's editor as a \"game\" written in C++ using the Godot API." msgstr "" -#: ../../docs/getting_started/editor/unity_to_godot.rst:253 +#: ../../docs/getting_started/editor/unity_to_godot.rst:252 msgid "If you are interested in using Godot in C++, you may want to start reading the :ref:`Developing in C++ ` page." msgstr "" diff --git a/sphinx/templates/getting_started/scripting/c_sharp/c_sharp_basics.pot b/sphinx/templates/getting_started/scripting/c_sharp/c_sharp_basics.pot index ad90b6e978..773ef7d411 100644 --- a/sphinx/templates/getting_started/scripting/c_sharp/c_sharp_basics.pot +++ b/sphinx/templates/getting_started/scripting/c_sharp/c_sharp_basics.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -41,7 +41,7 @@ msgid "Setting up C# for Godot" msgstr "" #: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:39 -msgid "Windows" +msgid "Windows (Visual Studio)" msgstr "" #: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:41 @@ -49,238 +49,282 @@ msgid "Download and install the latest version of `Visual Studio `_. As of Godot 3.1 beta 3, the version number doesn't matter since Godot bundles its own Mono 5.18 installation. We only need the Mono installation for NuGet and MSBuild which are required to use C# in Godot." +msgid "JetBrains Rider comes with bundled MSBuild, so you just need a recent .NET Framework Developer Pack. Make sure to set the following preferences:" +msgstr "" + +#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:56 +msgid "In Godot:" +msgstr "" + +#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:58 +msgid "Mono External Editor to JetBrains Rider" msgstr "" #: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:59 -msgid "To download Mono on macOS, use the \"Stable Channel\" link from the `Mono Downloads Page `_. The Visual Studio channel is an earlier version of Mono and will not work." +msgid "Mono Build Tool to JetBrains Mono." msgstr "" -#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:65 -msgid "Additional notes" +#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:61 +msgid "In Rider:" +msgstr "" + +#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:63 +msgid "``TargetFrameworkVersion`` in ``csproj`` should match the installed .NET Framework Developer Pack." +msgstr "" + +#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:64 +msgid "Install **Godot support** plugin." msgstr "" #: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:67 +msgid "macOS and Linux" +msgstr "" + +#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:69 +msgid "Download and install the latest version of the `Mono SDK `_. As of Godot 3.1 beta 3, the version number doesn't matter since Godot bundles its own Mono 5.18 installation. We only need the Mono installation for NuGet and MSBuild which are required to use C# in Godot." +msgstr "" + +#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:75 +msgid "To download Mono on macOS, use the \"Stable Channel\" link from the `Mono Downloads Page `_. The Visual Studio channel is an earlier version of Mono and will not work." +msgstr "" + +#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:81 +msgid "Additional notes" +msgstr "" + +#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:83 msgid "Your Godot version must have Mono support enabled, so make sure to download the **Mono version** of Godot. If you are building Godot from source, make sure to follow the steps to enable Mono support in your build as outlined in the :ref:`doc_compiling_with_mono` page." msgstr "" -#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:73 +#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:89 msgid "In summary, you must have installed Visual Studio or Mono (depending on your operating system) **and** the Mono-enabled version of Godot." msgstr "" -#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:77 +#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:93 msgid "Configuring an external editor" msgstr "" -#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:79 +#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:95 msgid "C# support in Godot's script editor is minimal. Consider using an external IDE or editor, such as `Visual Studio Code `_ or MonoDevelop. These provide autocompletion, debugging, and other useful features for C#. To select an external editor in Godot, click on **Editor → Editor Settings** and scroll down to **Mono**. Under **Mono**, click on **Editor**, and select your external editor of choice. Godot currently supports the following external editors:" msgstr "" -#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:88 +#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:104 msgid "Visual Studio 2019" msgstr "" -#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:89 +#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:105 msgid "Visual Studio Code" msgstr "" -#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:90 +#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:106 msgid "MonoDevelop" msgstr "" -#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:91 +#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:107 msgid "Visual Studio for Mac" msgstr "" -#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:92 +#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:108 msgid "JetBrains Rider" msgstr "" -#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:94 +#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:110 msgid "If you are using Visual Studio Code, ensure you download and install the `C# extension `_ to enable features like syntax highlighting and IntelliSense." msgstr "" -#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:99 +#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:115 msgid "If you are using Visual Studio 2019, you must follow the instructions found in the \"Configure VS2019 for Debugging\" section below." msgstr "" -#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:103 +#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:119 msgid "Creating a C# script" msgstr "" -#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:105 +#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:121 msgid "After you successfully set up C# for Godot, you should see the following option when selecting ``Attach script`` in the context menu of a node in your scene:" msgstr "" -#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:110 +#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:126 msgid "Note that while some specifics change, most concepts work the same when using C# for scripting. If you're new to Godot, you may want to follow the tutorials on :ref:`doc_scripting` at this point. While some places in the documentation still lack C# examples, most concepts can be transferred easily from GDScript." msgstr "" -#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:117 +#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:133 msgid "Project setup and workflow" msgstr "" -#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:119 +#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:135 msgid "When you create the first C# script, Godot initializes the C# project files for your Godot project. This includes generating a C# solution (``.sln``) and a project file (``.csproj``), as well as some utility files and folders (``.mono`` and ``Properties/AssemblyInfo.cs``). All of these but ``.mono`` are important and should be committed to your version control system. ``.mono`` can be safely added to the ignore list of your VCS. When troubleshooting, it can sometimes help to delete the ``.mono`` folder and let it regenerate." msgstr "" -#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:128 +#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:144 msgid "Note that currently, there are some issues where Godot and the C# project don't stay in sync; if you delete, rename or move a C# script, the change may not be reflected in the C# project file. In cases like this, you will have to edit the C# project file manually." msgstr "" -#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:133 +#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:149 msgid "For example, if you created a script (e.g. ``Test.cs``) and delete it in Godot, compilation will fail because the missing file is still expected to be there by the C# project file. For now, you can simply open up the ``.csproj`` file and look for the ``ItemGroup``, there should be a line included like the following:" msgstr "" -#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:147 +#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:163 msgid "Simply remove that line and your project should build correctly again. Same for renaming and moving things, simply rename and move them in the project file if needed." msgstr "" -#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:152 +#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:168 msgid "Example" msgstr "" -#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:154 +#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:170 msgid "Here's a blank C# script with some comments to demonstrate how it works." msgstr "" -#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:181 +#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:197 msgid "As you can see, functions normally in global scope in GDScript like Godot's ``print`` function are available in the ``GD`` class which is part of the ``Godot`` namespace. For a list of methods in the ``GD`` class, see the class reference pages for :ref:`@GDScript ` and :ref:`@GlobalScope `." msgstr "" -#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:188 +#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:204 msgid "Keep in mind that the class you wish to attach to your node should have the same name as the ``.cs`` file. Otherwise, you will get the following error and won't be able to run the scene: *\"Cannot find class XXX for script res://XXX.cs\"*" msgstr "" -#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:194 +#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:210 msgid "General differences between C# and GDScript" msgstr "" -#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:196 +#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:212 msgid "The C# API uses ``PascalCase`` instead of ``snake_case`` in GDScript/C++. Where possible, fields and getters/setters have been converted to properties. In general, the C# Godot API strives to be as idiomatic as is reasonably possible." msgstr "" -#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:200 +#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:216 msgid "For more information, see the :ref:`doc_c_sharp_differences` page." msgstr "" -#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:203 +#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:219 msgid "Current gotchas and known issues" msgstr "" -#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:205 +#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:221 msgid "As C# support is quite new in Godot, there are some growing pains and things that need to be ironed out. Below is a list of the most important issues you should be aware of when diving into C# in Godot, but if in doubt, also take a look over the official `issue tracker for Mono issues `_." msgstr "" -#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:211 +#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:227 msgid "As explained above, the C# project isn't always kept in sync automatically when things are deleted, renamed or moved in Godot (`#12917 `_)." msgstr "" -#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:214 +#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:230 msgid "Writing editor plugins is possible, but it is currently quite convoluted." msgstr "" -#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:215 +#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:231 msgid "State is currently not saved and restored when hot-reloading, with the exception of exported variables." msgstr "" -#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:217 -msgid "Exporting Mono projects is only supported for desktop platforms (Linux, Windows and macOS). Android, iOS, HTML5 and UWP are not currently supported (`#20267 `_, `#20268 `_ `#20270 `_ `#20271 `_)." +#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:233 +msgid "Exporting Mono projects is supported for desktop platforms (Linux, Windows and macOS), Android, HTML5, and iOS. UWP is not currently supported. (`#20271 `_)." msgstr "" -#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:223 +#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:236 msgid "Attached C# scripts should refer to a class that has a class name that matches the file name." msgstr "" -#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:225 +#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:238 msgid "There are some methods such as ``Get()``/``Set()``, ``Call()``/``CallDeferred()`` and signal connection method ``Connect()`` that rely on Godot's ``snake_case`` API naming conventions. So when using e.g. ``CallDeferred(\"AddChild\")``, ``AddChild`` will not work because the API is expecting the original ``snake_case`` version ``add_child``. However, you can use any custom properties or methods without this limitation." msgstr "" -#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:233 +#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:246 msgid "Performance of C# in Godot" msgstr "" -#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:235 +#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:248 msgid "According to some preliminary `benchmarks `_, the performance of C# in Godot — while generally in the same order of magnitude — is roughly **~4×** that of GDScript in some naive cases. C++ is still a little faster; the specifics are going to vary according to your use case. GDScript is likely fast enough for most general scripting workloads. C# is faster, but requires some expensive marshalling when talking to Godot." msgstr "" -#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:243 +#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:256 msgid "Using NuGet packages in Godot" msgstr "" -#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:245 +#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:258 msgid "`NuGet `_ packages can be installed and used with Godot, as with any C# project. Many IDEs are able to add packages directly. They can also be added manually by adding the package reference in the ``.csproj`` file located in the project root:" msgstr "" -#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:262 +#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:275 msgid "By default, tools like NuGet put ``Version`` as an attribute of the ```PackageReference``` Node. **You must manually create a Version node as shown above.** This is because the version of MSBuild used requires this. (This will be fixed in Godot 4.0.)" msgstr "" -#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:264 +#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:277 msgid "Whenever packages are added or modified, run ``nuget restore`` (*not* ``dotnet restore``) in the root of the project directory. To ensure that NuGet packages will be available for msbuild to use, run:" msgstr "" -#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:273 +#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:286 msgid "Profiling your C# code" msgstr "" -#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:275 +#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:288 msgid "`Mono log profiler `_ is available for Linux and macOS. Due to a Mono change, it does not work on Windows currently." msgstr "" -#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:276 +#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:289 msgid "External Mono profiler like `JetBrains dotTrace `_ can be used as described `here `_." msgstr "" -#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:279 +#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:292 msgid "Configuring VS 2019 for debugging" msgstr "" -#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:283 +#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:296 msgid "Godot has built-in support for workflows involving several popular C# IDEs. Built-in support for Visual Studio will be including in future versions, but in the meantime, the steps below can let you configure VS 2019 for use with Godot C# projects." msgstr "" -#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:288 +#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:301 msgid "Install VS 2019 with ``.NET desktop development`` and ``Desktop development with C++`` workloads selected." msgstr "" -#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:289 +#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:302 msgid "**Ensure that you do not have Xamarin installed.** Do not choose the ``Mobile development with .NET`` workload. Xamarin changes the DLLs used by MonoDebugger, which breaks debugging." msgstr "" -#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:290 +#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:303 msgid "Install the `VSMonoDebugger extension `_." msgstr "" -#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:291 +#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:304 msgid "In VS 2019 --> Extensions --> Mono --> Settings:" msgstr "" -#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:293 +#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:306 msgid "Select ``Debug/Deploy to local Windows``." msgstr "" -#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:294 +#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:307 msgid "Leave ``Local Deploy Path`` blank." msgstr "" -#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:295 +#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:308 msgid "Set the ``Mono Debug Port`` to the port in Godot --> Project --> Project Settings --> Mono --> Debugger Agent." msgstr "" -#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:296 +#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:309 msgid "Also select ``Wait for Debugger`` in the Godot Mono options. `This Godot Addon `_ may be helpful." msgstr "" -#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:298 +#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:311 msgid "Run the game in Godot. It should hang at the Godot splash screen while it waits for your debugger to attach." msgstr "" -#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:299 +#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:312 msgid "In VS 2019, open your project and choose Extensions --> Mono --> Attach to Mono Debugger." msgstr "" +#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:315 +msgid "Configuring Visual Studio Code for debugging" +msgstr "" + +#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:317 +msgid "To configure Visual Studio Code for debugging open up a project in Godot. Click on Project and open the project settings. Scroll down and click on Debugger Agent under the Mono category. Then turn on the setting \"wait for debugger.\" Next, copy the port number and open up Visual Studio Code." +msgstr "" + +#: ../../docs/getting_started/scripting/c_sharp/c_sharp_basics.rst:322 +msgid "You need to download the Mono Debug extension from Microsoft. Then open the Godot project folder. Go to the run tab and click on create a launch.json file. Select C# Mono from the dropdown menu. When the launch.json file is automatically opened, change the port number to the number you copied previously and save the file. On the run tab, switch the run setting from launch to attach. Whenever you want to debug, make sure Wait for Debugger is turned on in Godot, run the project, and run the debugger in Visual Studio Code." +msgstr "" + diff --git a/sphinx/templates/getting_started/scripting/c_sharp/c_sharp_differences.pot b/sphinx/templates/getting_started/scripting/c_sharp/c_sharp_differences.pot index efad32077b..136e5728db 100644 --- a/sphinx/templates/getting_started/scripting/c_sharp/c_sharp_differences.pot +++ b/sphinx/templates/getting_started/scripting/c_sharp/c_sharp_differences.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "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/scripting/c_sharp/c_sharp_features.pot b/sphinx/templates/getting_started/scripting/c_sharp/c_sharp_features.pot index 40d5fcb93e..7783c0786a 100644 --- a/sphinx/templates/getting_started/scripting/c_sharp/c_sharp_features.pot +++ b/sphinx/templates/getting_started/scripting/c_sharp/c_sharp_features.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "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/scripting/c_sharp/c_sharp_style_guide.pot b/sphinx/templates/getting_started/scripting/c_sharp/c_sharp_style_guide.pot index c9b672a82f..5ea3b77609 100644 --- a/sphinx/templates/getting_started/scripting/c_sharp/c_sharp_style_guide.pot +++ b/sphinx/templates/getting_started/scripting/c_sharp/c_sharp_style_guide.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -237,46 +237,62 @@ msgid "Rather than:" msgstr "" #: ../../docs/getting_started/scripting/c_sharp/c_sharp_style_guide.rst:268 -msgid "Implicitly typed local variables" +msgid "Member variables" msgstr "" #: ../../docs/getting_started/scripting/c_sharp/c_sharp_style_guide.rst:270 +msgid "Don't declare member variables if they are only used locally in a method, as it makes the code more difficult to follow. Instead, declare them as local variables in the method's body." +msgstr "" + +#: ../../docs/getting_started/scripting/c_sharp/c_sharp_style_guide.rst:275 +msgid "Local variables" +msgstr "" + +#: ../../docs/getting_started/scripting/c_sharp/c_sharp_style_guide.rst:277 +msgid "Declare local variables as close as possible to their first use. This makes it easier to follow the code, without having to scroll too much to find where the variable was declared." +msgstr "" + +#: ../../docs/getting_started/scripting/c_sharp/c_sharp_style_guide.rst:282 +msgid "Implicitly typed local variables" +msgstr "" + +#: ../../docs/getting_started/scripting/c_sharp/c_sharp_style_guide.rst:284 msgid "Consider using implicitly typing (``var``) for declaration of a local variable, but do so **only when the type is evident** from the right side of the assignment:" msgstr "" -#: ../../docs/getting_started/scripting/c_sharp/c_sharp_style_guide.rst:300 +#: ../../docs/getting_started/scripting/c_sharp/c_sharp_style_guide.rst:314 msgid "Other considerations" msgstr "" -#: ../../docs/getting_started/scripting/c_sharp/c_sharp_style_guide.rst:302 +#: ../../docs/getting_started/scripting/c_sharp/c_sharp_style_guide.rst:316 msgid "Use explicit access modifiers." msgstr "" -#: ../../docs/getting_started/scripting/c_sharp/c_sharp_style_guide.rst:303 +#: ../../docs/getting_started/scripting/c_sharp/c_sharp_style_guide.rst:317 msgid "Use properties instead of non-private fields." msgstr "" -#: ../../docs/getting_started/scripting/c_sharp/c_sharp_style_guide.rst:304 +#: ../../docs/getting_started/scripting/c_sharp/c_sharp_style_guide.rst:318 msgid "Use modifiers in this order: ``public``/``protected``/``private``/``internal``/``virtual``/``override``/``abstract``/``new``/``static``/``readonly``." msgstr "" -#: ../../docs/getting_started/scripting/c_sharp/c_sharp_style_guide.rst:306 +#: ../../docs/getting_started/scripting/c_sharp/c_sharp_style_guide.rst:320 msgid "Avoid using fully-qualified names or ``this.`` prefix for members when it's not necessary." msgstr "" -#: ../../docs/getting_started/scripting/c_sharp/c_sharp_style_guide.rst:307 +#: ../../docs/getting_started/scripting/c_sharp/c_sharp_style_guide.rst:321 msgid "Remove unused ``using`` statements and unnecessary parentheses." msgstr "" -#: ../../docs/getting_started/scripting/c_sharp/c_sharp_style_guide.rst:308 +#: ../../docs/getting_started/scripting/c_sharp/c_sharp_style_guide.rst:322 msgid "Consider omitting the default initial value for a type." msgstr "" -#: ../../docs/getting_started/scripting/c_sharp/c_sharp_style_guide.rst:309 +#: ../../docs/getting_started/scripting/c_sharp/c_sharp_style_guide.rst:323 msgid "Consider using null-conditional operators or type initializers to make the code more compact." msgstr "" -#: ../../docs/getting_started/scripting/c_sharp/c_sharp_style_guide.rst:310 +#: ../../docs/getting_started/scripting/c_sharp/c_sharp_style_guide.rst:324 msgid "Use safe cast when there is a possibility of the value being a different type, and use direct cast otherwise." msgstr "" diff --git a/sphinx/templates/getting_started/scripting/c_sharp/index.pot b/sphinx/templates/getting_started/scripting/c_sharp/index.pot index 9c4fc7d382..b26809ac59 100644 --- a/sphinx/templates/getting_started/scripting/c_sharp/index.pot +++ b/sphinx/templates/getting_started/scripting/c_sharp/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "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/scripting/creating_script_templates.pot b/sphinx/templates/getting_started/scripting/creating_script_templates.pot new file mode 100644 index 0000000000..49dcfeb624 --- /dev/null +++ b/sphinx/templates/getting_started/scripting/creating_script_templates.pot @@ -0,0 +1,187 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2014-2020, 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: 2020-04-27 12:19+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/getting_started/scripting/creating_script_templates.rst:4 +msgid "Creating script templates" +msgstr "" + +#: ../../docs/getting_started/scripting/creating_script_templates.rst:6 +msgid "Godot provides a way to use script templates as seen in the ``Script Create Dialog`` while creating a new script:" +msgstr "" + +#: ../../docs/getting_started/scripting/creating_script_templates.rst:11 +msgid "A set of default script templates is provided by default, but it's also possible to modify existing and create new ones, both per project and the editor." +msgstr "" + +#: ../../docs/getting_started/scripting/creating_script_templates.rst:15 +msgid "Locating the templates" +msgstr "" + +#: ../../docs/getting_started/scripting/creating_script_templates.rst:17 +msgid "There are two places where templates can be managed." +msgstr "" + +#: ../../docs/getting_started/scripting/creating_script_templates.rst:20 +msgid "Editor-defined templates" +msgstr "" + +#: ../../docs/getting_started/scripting/creating_script_templates.rst:22 +msgid "These are available globally throughout any project. The location of these templates are determined per each OS:" +msgstr "" + +#: ../../docs/getting_started/scripting/creating_script_templates.rst:25 +msgid "Windows: ``%APPDATA%\\Godot\\script_templates\\``" +msgstr "" + +#: ../../docs/getting_started/scripting/creating_script_templates.rst:26 +msgid "Linux: ``$HOME/.local/share/godot/script_templates/``" +msgstr "" + +#: ../../docs/getting_started/scripting/creating_script_templates.rst:27 +msgid "macOS: ``$HOME/Library/Application Support/Godot/script_templates/``" +msgstr "" + +#: ../../docs/getting_started/scripting/creating_script_templates.rst:29 +msgid "If no ``script_templates`` is detected, Godot will create a default set of built-in templates automatically, so this logic can be used to reset the default templates in case you've accidentally overwritten them." +msgstr "" + +#: ../../docs/getting_started/scripting/creating_script_templates.rst:34 +msgid "Project-defined templates" +msgstr "" + +#: ../../docs/getting_started/scripting/creating_script_templates.rst:36 +msgid "The default path to search for templates is the ``res://script_templates/`` directory. The path can be changed by configuring the ``editor/script_templates_search_path`` setting in the :ref:`ProjectSettings `, both via code and the editor." +msgstr "" + +#: ../../docs/getting_started/scripting/creating_script_templates.rst:41 +msgid "If no ``script_templates`` directory is found within a project, it is simply ignored." +msgstr "" + +#: ../../docs/getting_started/scripting/creating_script_templates.rst:45 +msgid "Language support and overriding behavior" +msgstr "" + +#: ../../docs/getting_started/scripting/creating_script_templates.rst:47 +msgid "Depending on whether a particular language implements a way to generate scripts out of templates, it's possible to create a template which can be recognized by that language according to template's file extension. For GDScript and C#, the extensions must be ``gd`` and ``cs`` respectively." +msgstr "" + +#: ../../docs/getting_started/scripting/creating_script_templates.rst:52 +msgid "The script templates have the same extension as the regular script files. This may lead to an issue of a script parser treating those templates as actual scripts within a project. To avoid this, make sure to ignore the directory containing them by creating a ``.gdignore`` file. The directory won't be visible throughout the project's filesystem anymore, yet the templates can be modified by an external text editor anytime." +msgstr "" + +#: ../../docs/getting_started/scripting/creating_script_templates.rst:59 +msgid "The built-in editor templates are automatically shadowed by the project-specific templates given both scripts have the same filename." +msgstr "" + +#: ../../docs/getting_started/scripting/creating_script_templates.rst:63 +msgid "Default template" +msgstr "" + +#: ../../docs/getting_started/scripting/creating_script_templates.rst:65 +msgid "The ``Default`` template is always generated dynamically per language and cannot be configured nor overridden, but you can use these as the base for creating other templates." +msgstr "" + +#: ../../docs/getting_started/scripting/creating_script_templates.rst:116 +msgid "List of template placeholders" +msgstr "" + +#: ../../docs/getting_started/scripting/creating_script_templates.rst:118 +msgid "The following describes the complete list of built-in template placeholders which are currently implemented." +msgstr "" + +#: ../../docs/getting_started/scripting/creating_script_templates.rst:122 +msgid "Base placeholders" +msgstr "" + +#: ../../docs/getting_started/scripting/creating_script_templates.rst:125 +#: ../../docs/getting_started/scripting/creating_script_templates.rst:147 +msgid "Placeholder" +msgstr "" + +#: ../../docs/getting_started/scripting/creating_script_templates.rst:125 +msgid "Description" +msgstr "" + +#: ../../docs/getting_started/scripting/creating_script_templates.rst:127 +msgid "``%CLASS%``" +msgstr "" + +#: ../../docs/getting_started/scripting/creating_script_templates.rst:127 +msgid "The name of the new class (used in C# only)." +msgstr "" + +#: ../../docs/getting_started/scripting/creating_script_templates.rst:129 +msgid "``%BASE%``" +msgstr "" + +#: ../../docs/getting_started/scripting/creating_script_templates.rst:129 +msgid "The base type a new script inherits from." +msgstr "" + +#: ../../docs/getting_started/scripting/creating_script_templates.rst:131 +msgid "``%TS%``" +msgstr "" + +#: ../../docs/getting_started/scripting/creating_script_templates.rst:131 +msgid "Indentation placeholder. The exact type and number of whitespace characters used for indentation is determined by the ``text_editor/indent/type`` and ``text_editor/indent/size`` settings in the :ref:`EditorSettings ` respectively." +msgstr "" + +#: ../../docs/getting_started/scripting/creating_script_templates.rst:139 +msgid "Type placeholders" +msgstr "" + +#: ../../docs/getting_started/scripting/creating_script_templates.rst:141 +msgid "These are only relevant for GDScript with static typing. Whether these placeholders are actually replaced is determined by the ``text_editor/completion/add_type_hints`` setting in the :ref:`EditorSettings `." +msgstr "" + +#: ../../docs/getting_started/scripting/creating_script_templates.rst:147 +msgid "Value" +msgstr "" + +#: ../../docs/getting_started/scripting/creating_script_templates.rst:149 +msgid "``%INT_TYPE%``" +msgstr "" + +#: ../../docs/getting_started/scripting/creating_script_templates.rst:149 +msgid "``: int``" +msgstr "" + +#: ../../docs/getting_started/scripting/creating_script_templates.rst:151 +msgid "``%STRING_TYPE%``" +msgstr "" + +#: ../../docs/getting_started/scripting/creating_script_templates.rst:151 +msgid "``: String``" +msgstr "" + +#: ../../docs/getting_started/scripting/creating_script_templates.rst:153 +msgid "``%FLOAT_TYPE%``" +msgstr "" + +#: ../../docs/getting_started/scripting/creating_script_templates.rst:153 +msgid "``: float``" +msgstr "" + +#: ../../docs/getting_started/scripting/creating_script_templates.rst:155 +msgid "``%VOID_RETURN%``" +msgstr "" + +#: ../../docs/getting_started/scripting/creating_script_templates.rst:155 +msgid "``-> void``" +msgstr "" + diff --git a/sphinx/templates/getting_started/scripting/cross_language_scripting.pot b/sphinx/templates/getting_started/scripting/cross_language_scripting.pot index d343d31e1e..020c00e814 100644 --- a/sphinx/templates/getting_started/scripting/cross_language_scripting.pot +++ b/sphinx/templates/getting_started/scripting/cross_language_scripting.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\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 "Cross-language scripting" msgstr "" #: ../../docs/getting_started/scripting/cross_language_scripting.rst:6 -msgid "Godot allows you to mix and match scripting languages to suit your needs. This means a single project can define nodes in both C# and GDScript. This page will go through the possible interactions between two nodes writen in different languages." +msgid "Godot allows you to mix and match scripting languages to suit your needs. This means a single project can define nodes in both C# and GDScript. This page will go through the possible interactions between two nodes written in different languages." msgstr "" #: ../../docs/getting_started/scripting/cross_language_scripting.rst:11 @@ -65,7 +65,7 @@ msgid "From the C# side, everything work the same way. Once loaded, the GDScript msgstr "" #: ../../docs/getting_started/scripting/cross_language_scripting.rst:107 -msgid "Here we are using an :ref:`class_Object` but you can use type convertion like explained in :ref:`doc_c_sharp_features_type_conversion_and_casting`." +msgid "Here we are using an :ref:`class_Object` but you can use type conversion like explained in :ref:`doc_c_sharp_features_type_conversion_and_casting`." msgstr "" #: ../../docs/getting_started/scripting/cross_language_scripting.rst:111 diff --git a/sphinx/templates/getting_started/scripting/gdscript/gdscript_advanced.pot b/sphinx/templates/getting_started/scripting/gdscript/gdscript_advanced.pot index 24cda7aa56..ff94f6cd28 100644 --- a/sphinx/templates/getting_started/scripting/gdscript/gdscript_advanced.pot +++ b/sphinx/templates/getting_started/scripting/gdscript/gdscript_advanced.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "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/scripting/gdscript/gdscript_basics.pot b/sphinx/templates/getting_started/scripting/gdscript/gdscript_basics.pot index fec8108e8b..f5b9c241e0 100644 --- a/sphinx/templates/getting_started/scripting/gdscript/gdscript_basics.pot +++ b/sphinx/templates/getting_started/scripting/gdscript/gdscript_basics.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -32,1502 +32,1474 @@ msgstr "" msgid "History" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:19 -msgid "In the early days, the engine used the `Lua `__ scripting language. Lua is fast, 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 `__, it also proved difficult to embed." +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:21 +msgid "Documentation about GDScript's history has been moved to the :ref:`Frequently Asked Questions `." msgstr "" #: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:25 -msgid "The last third party scripting language that was used for shipped games was `Squirrel `__, but it was dropped as well. At that point, it became evident that a custom scripting language could more optimally make use of Godot's particular architecture:" -msgstr "" - -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:30 -msgid "Godot embeds scripts in nodes. Most languages are not designed with this in mind." -msgstr "" - -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:32 -msgid "Godot uses several built-in data types for 2D and 3D math. Script languages do not provide this, and binding them is inefficient." -msgstr "" - -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:34 -msgid "Godot uses threads heavily for lifting and initializing data from the net or disk. Script interpreters for common languages are not friendly to this." -msgstr "" - -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:37 -msgid "Godot already has a memory management model for resources, most script languages provide their own, which results in duplicate effort and bugs." -msgstr "" - -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:40 -msgid "Binding code is always messy and results in several failure points, unexpected bugs and generally low maintainability." -msgstr "" - -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:43 -msgid "The result of these considerations is *GDScript*. The language and interpreter for GDScript ended up being smaller than the binding code itself for Lua and Squirrel, while having equal functionality. With time, having a built-in language has proven to be a huge advantage." -msgstr "" - -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:49 msgid "Example of GDScript" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:51 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:27 msgid "Some people can learn better by taking a look at the syntax, so here's a simple example of how GDScript looks." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:134 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:110 msgid "If you have previous experience with statically typed languages such as C, C++, or C# but never used a dynamically typed one before, it is advised you read this tutorial: :ref:`doc_gdscript_more_efficiently`." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:139 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:115 msgid "Language" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:141 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:117 msgid "In the following, an overview is given to GDScript. Details, such as which methods are available to arrays or other objects, should be looked up in the linked class descriptions." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:146 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:122 msgid "Identifiers" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:148 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:124 msgid "Any string that restricts itself to alphabetic characters (``a`` to ``z`` and ``A`` to ``Z``), digits (``0`` to ``9``) and ``_`` qualifies as an identifier. Additionally, identifiers must not begin with a digit. Identifiers are case-sensitive (``foo`` is different from ``FOO``)." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:154 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:130 msgid "Keywords" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:156 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:132 msgid "The following is the list of keywords supported by the language. Since keywords are reserved words (tokens), they can't be used as identifiers. Operators (like ``in``, ``not``, ``and`` or ``or``) and names of built-in types as listed in the following sections are also reserved." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:161 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:137 msgid "Keywords are defined in the `GDScript tokenizer `_ in case you want to take a look under the hood." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:165 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:141 msgid "Keyword" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:165 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:141 msgid "Description" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:167 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:143 msgid "if" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:167 -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:169 -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:171 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:143 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:145 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:147 msgid "See `if/else/elif`_." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:169 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:145 msgid "elif" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:171 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:147 msgid "else" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:173 -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:809 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:149 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:785 msgid "for" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:173 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:149 msgid "See for_." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:175 -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:798 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:151 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:774 msgid "while" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:175 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:151 msgid "See while_." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:177 -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:844 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:153 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:820 msgid "match" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:177 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:153 msgid "See match_." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:179 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:155 msgid "break" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:179 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:155 msgid "Exits the execution of the current ``for`` or ``while`` loop." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:181 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:157 msgid "continue" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:181 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:157 msgid "Immediately skips to the next iteration of the ``for`` or ``while`` loop." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:183 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:159 msgid "pass" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:183 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:159 msgid "Used where a statement is required syntactically but execution of code is undesired, e.g. in empty functions." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:185 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:161 msgid "return" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:185 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:161 msgid "Returns a value from a function." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:187 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:163 msgid "class" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:187 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:163 msgid "Defines a class." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:189 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:165 msgid "extends" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:189 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:165 msgid "Defines what class to extend with the current class." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:191 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:167 msgid "is" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:191 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:167 msgid "Tests whether a variable extends a given class, or is of a given built-in type." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:193 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:169 msgid "as" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:193 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:169 msgid "Cast the value to a given type if possible." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:195 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:171 msgid "self" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:195 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:171 msgid "Refers to current class instance." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:197 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:173 msgid "tool" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:197 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:173 msgid "Executes the script in the editor." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:199 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:175 msgid "signal" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:199 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:175 msgid "Defines a signal." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:201 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:177 msgid "func" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:201 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:177 msgid "Defines a function." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:203 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:179 msgid "static" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:203 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:179 msgid "Defines a static function. Static member variables are not allowed." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:205 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:181 msgid "const" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:205 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:181 msgid "Defines a constant." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:207 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:183 msgid "enum" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:207 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:183 msgid "Defines an enum." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:209 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:185 msgid "var" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:209 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:185 msgid "Defines a variable." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:211 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:187 msgid "onready" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:211 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:187 msgid "Initializes a variable once the Node the script is attached to and its children are part of the scene tree." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:213 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:189 msgid "export" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:213 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:189 msgid "Saves a variable along with the resource it's attached to and makes it visible and modifiable in the editor." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:215 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:191 msgid "setget" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:215 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:191 msgid "Defines setter and getter functions for a variable." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:217 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:193 msgid "breakpoint" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:217 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:193 msgid "Editor helper for debugger breakpoints." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:219 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:195 msgid "preload" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:219 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:195 msgid "Preloads a class or variable. See `Classes as resources`_." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:221 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:197 msgid "yield" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:221 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:197 msgid "Coroutine support. See `Coroutines with yield`_." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:223 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:199 msgid "assert" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:223 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:199 msgid "Asserts a condition, logs error on failure. Ignored in non-debug builds. See `Assert keyword`_." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:225 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:201 msgid "remote" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:225 -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:227 -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:229 -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:231 -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:233 -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:235 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:201 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:203 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:205 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:207 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:209 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:211 msgid "Networking RPC annotation. See :ref:`high-level multiplayer docs `." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:227 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:203 msgid "master" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:229 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:205 msgid "puppet" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:231 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:207 msgid "remotesync" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:233 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:209 msgid "mastersync" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:235 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:211 msgid "puppetsync" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:237 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:213 msgid "PI" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:237 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:213 msgid "PI constant." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:239 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:215 msgid "TAU" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:239 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:215 msgid "TAU constant." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:241 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:217 msgid "INF" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:241 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:217 msgid "Infinity constant. Used for comparisons." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:243 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:219 msgid "NAN" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:243 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:219 msgid "NAN (not a number) constant. Used for comparisons." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:247 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:223 msgid "Operators" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:249 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:225 msgid "The following is the list of supported operators and their precedence." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:252 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:228 msgid "**Operator**" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:252 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:228 msgid "**Description**" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:254 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:230 msgid "``x[index]``" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:254 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:230 msgid "Subscription (highest priority)" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:256 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:232 msgid "``x.attribute``" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:256 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:232 msgid "Attribute reference" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:258 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:234 msgid "``foo()``" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:258 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:234 msgid "Function call" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:260 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:236 msgid "``is``" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:260 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:236 msgid "Instance type checker" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:262 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:238 msgid "``~``" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:262 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:238 msgid "Bitwise NOT" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:264 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:240 msgid "``-x``" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:264 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:240 msgid "Negative / Unary negation" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:266 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:242 msgid "``*`` ``/`` ``%``" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:266 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:242 msgid "Multiplication / Division / Remainder" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:268 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:244 msgid "These operators have the same behavior as C++. Integer division is truncated rather than returning a fractional number, and the % operator is only available for ints (\"fmod\" for floats)" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:274 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:250 msgid "``+``" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:274 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:250 msgid "Addition / Concatenation of arrays" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:276 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:252 msgid "``-``" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:276 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:252 msgid "Subtraction" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:278 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:254 msgid "``<<`` ``>>``" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:278 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:254 msgid "Bit shifting" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:280 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:256 msgid "``&``" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:280 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:256 msgid "Bitwise AND" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:282 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:258 msgid "``^``" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:282 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:258 msgid "Bitwise XOR" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:284 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:260 msgid "``|``" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:284 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:260 msgid "Bitwise OR" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:286 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:262 msgid "``<`` ``>`` ``==`` ``!=`` ``>=`` ``<=``" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:286 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:262 msgid "Comparisons" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:288 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:264 msgid "``in``" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:288 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:264 msgid "Content test" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:290 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:266 msgid "``!`` ``not``" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:290 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:266 msgid "Boolean NOT" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:292 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:268 msgid "``and`` ``&&``" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:292 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:268 msgid "Boolean AND" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:294 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:270 msgid "``or`` ``||``" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:294 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:270 msgid "Boolean OR" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:296 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:272 msgid "``if x else``" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:296 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:272 msgid "Ternary if/else" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:298 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:274 msgid "``=`` ``+=`` ``-=`` ``*=`` ``/=`` ``%=`` ``&=`` ``|=``" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:298 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:274 msgid "Assignment (lowest priority)" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:302 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:278 msgid "Literals" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:305 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:281 msgid "**Literal**" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:305 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:281 msgid "**Type**" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:307 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:283 msgid "``45``" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:307 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:283 msgid "Base 10 integer" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:309 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:285 msgid "``0x8F51``" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:309 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:285 msgid "Base 16 (hexadecimal) integer" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:311 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:287 msgid "``0b101010``" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:311 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:287 msgid "Base 2 (binary) integer" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:313 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:289 msgid "``3.14``, ``58.1e-10``" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:313 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:289 msgid "Floating-point number (real)" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:315 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:291 msgid "``\"Hello\"``, ``\"Hi\"``" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:315 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:291 msgid "Strings" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:317 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:293 msgid "``\"\"\"Hello\"\"\"``" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:317 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:293 msgid "Multiline string" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:319 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:295 msgid "``@\"Node/Label\"``" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:319 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:295 msgid ":ref:`class_NodePath` or StringName" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:321 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:297 msgid "``$NodePath``" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:321 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:297 msgid "Shorthand for ``get_node(\"NodePath\")``" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:325 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:301 msgid "Comments" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:327 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:303 msgid "Anything from a ``#`` to the end of the line is ignored and is considered a comment." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:337 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:313 msgid "Built-in types" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:339 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:315 msgid "Built-in types are stack-allocated. They are passed as values. This means a copy is created on each assignment or when passing them as arguments to functions. The only exceptions are ``Array``\\ s and ``Dictionaries``, which are passed by reference so they are shared. (Pooled arrays such as ``PoolByteArray`` are still passed as values.)" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:346 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:322 msgid "Basic built-in types" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:348 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:324 msgid "A variable in GDScript can be assigned to several built-in types." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:351 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:327 msgid "null" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:353 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:329 msgid "``null`` is an empty data type that contains no information and can not be assigned any other value." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:357 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:333 msgid ":ref:`bool `" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:359 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:335 msgid "Short for \"boolean\", it can only contain ``true`` or ``false``." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:362 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:338 msgid ":ref:`int `" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:364 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:340 msgid "Short for \"integer\", it stores whole numbers (positive and negative). It is stored as a 64-bit value, equivalent to \"int64_t\" in C++." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:368 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:344 msgid ":ref:`float `" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:370 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:346 msgid "Stores real numbers, including decimals, using floating-point values. It is stored as a 64-bit value, equivalent to \"double\" in C++. Note: Currently, data structures such as Vector2, Vector3, and PoolRealArray store 32-bit single-precision \"float\" values." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:376 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:352 msgid ":ref:`String `" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:378 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:354 msgid "A sequence of characters in `Unicode format `_. Strings can contain `standard C escape sequences `_. GDScript also supports :ref:`doc_gdscript_printf`." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:384 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:360 msgid "Vector built-in types" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:387 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:363 msgid ":ref:`Vector2 `" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:389 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:365 msgid "2D vector type containing ``x`` and ``y`` fields. Can also be accessed as an array." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:393 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:369 msgid ":ref:`Rect2 `" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:395 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:371 msgid "2D Rectangle type containing two vectors fields: ``position`` and ``size``. Also contains an ``end`` field which is ``position + size``." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:399 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:375 msgid ":ref:`Vector3 `" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:401 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:377 msgid "3D vector type containing ``x``, ``y`` and ``z`` fields. This can also be accessed as an array." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:405 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:381 msgid ":ref:`Transform2D `" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:407 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:383 msgid "3×2 matrix used for 2D transforms." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:410 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:386 msgid ":ref:`Plane `" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:412 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:388 msgid "3D Plane type in normalized form that contains a ``normal`` vector field and a ``d`` scalar distance." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:416 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:392 msgid ":ref:`Quat `" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:418 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:394 msgid "Quaternion is a datatype used for representing a 3D rotation. It's useful for interpolating rotations." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:422 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:398 msgid ":ref:`AABB `" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:424 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:400 msgid "Axis-aligned bounding box (or 3D box) contains 2 vectors fields: ``position`` and ``size``. Also contains an ``end`` field which is ``position + size``." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:429 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:405 msgid ":ref:`Basis `" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:431 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:407 msgid "3x3 matrix used for 3D rotation and scale. It contains 3 vector fields (``x``, ``y`` and ``z``) and can also be accessed as an array of 3D vectors." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:436 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:412 msgid ":ref:`Transform `" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:438 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:414 msgid "3D Transform contains a Basis field ``basis`` and a Vector3 field ``origin``." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:442 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:418 msgid "Engine built-in types" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:445 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:421 msgid ":ref:`Color `" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:447 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:423 msgid "Color data type contains ``r``, ``g``, ``b``, and ``a`` fields. It can also be accessed as ``h``, ``s``, and ``v`` for hue/saturation/value." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:451 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:427 msgid ":ref:`NodePath `" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:453 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:429 msgid "Compiled path to a node used mainly in the scene system. It can be easily assigned to, and from, a String." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:457 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:433 msgid ":ref:`RID `" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:459 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:435 msgid "Resource ID (RID). Servers use generic RIDs to reference opaque data." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:462 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:438 msgid ":ref:`Object `" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:464 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:440 msgid "Base class for anything that is not a built-in type." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:467 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:443 msgid "Container built-in types" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:470 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:446 msgid ":ref:`Array `" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:472 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:448 msgid "Generic sequence of arbitrary object types, including other arrays or dictionaries (see below). The array can resize dynamically. Arrays are indexed starting from index ``0``. Negative indices count from the end." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:486 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:462 msgid "GDScript arrays are allocated linearly in memory for speed. Large arrays (more than tens of thousands of elements) may however cause memory fragmentation. If this is a concern, special types of arrays are available. These only accept a single data type. They avoid memory fragmentation and use less memory, but are atomic and tend to run slower than generic arrays. They are therefore only recommended to use for large data sets:" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:493 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:469 msgid ":ref:`PoolByteArray `: An array of bytes (integers from 0 to 255)." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:494 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:470 msgid ":ref:`PoolIntArray `: An array of integers." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:495 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:471 msgid ":ref:`PoolRealArray `: An array of floats." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:496 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:472 msgid ":ref:`PoolStringArray `: An array of strings." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:497 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:473 msgid ":ref:`PoolVector2Array `: An array of :ref:`Vector2 ` objects." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:498 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:474 msgid ":ref:`PoolVector3Array `: An array of :ref:`Vector3 ` objects." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:499 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:475 msgid ":ref:`PoolColorArray `: An array of :ref:`Color ` objects." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:502 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:478 msgid ":ref:`Dictionary `" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:504 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:480 msgid "Associative container which contains values referenced by unique keys." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:517 -msgid "Lua-style table syntax is also supported. Lua-style uses ``=`` instead of ``:`` and doesn't use quotes to mark string keys (making for slightly less to write). Note however that like any GDScript identifier, keys written in this form cannot start with a digit." +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:493 +msgid "Lua-style table syntax is also supported. Lua-style uses ``=`` instead of ``:`` and doesn't use quotes to mark string keys (making for slightly less to write). However, keys written in this form can't start with a digit (like any GDScript identifier)." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:531 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:507 msgid "To add a key to an existing dictionary, access it like an existing key and assign to it::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:540 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:516 msgid "Data" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:543 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:519 msgid "Variables" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:545 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:521 msgid "Variables can exist as class members or local to functions. They are created with the ``var`` keyword and may, optionally, be assigned a value upon initialization." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:556 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:532 msgid "Variables can optionally have a type specification. When a type is specified, the variable will be forced to have always that same type, and trying to assign an incompatible value will raise an error." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:560 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:536 msgid "Types are specified in the variable declaration using a ``:`` (colon) symbol after the variable name, followed by the type." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:568 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:544 msgid "If the variable is initialized within the declaration, the type can be inferred, so it's possible to omit the type name::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:574 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:550 msgid "Type inference is only possible if the assigned value has a defined type, otherwise it will raise an error." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:577 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:553 msgid "Valid types are:" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:579 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:555 msgid "Built-in types (Array, Vector2, int, String, etc.)." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:580 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:556 msgid "Engine classes (Node, Resource, Reference, etc.)." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:581 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:557 msgid "Constant names if they contain a script resource (``MyScript`` if you declared ``const MyScript = preload(\"res://my_script.gd\")``)." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:582 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:558 msgid "Other classes in the same script, respecting scope (``InnerClass.NestedClass`` if you declared ``class NestedClass`` inside the ``class InnerClass`` in the same scope)." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:583 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:559 msgid "Script classes declared with the ``class_name`` keyword." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:586 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:562 msgid "Casting" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:588 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:564 msgid "Values assigned to typed variables must have a compatible type. If it's needed to coerce a value to be of a certain type, in particular for object types, you can use the casting operator ``as``." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:592 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:568 msgid "Casting between object types results in the same object if the value is of the same type or a subtype of the cast type." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:600 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:576 msgid "If the value is not a subtype, the casting operation will result in a ``null`` value." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:607 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:583 msgid "For built-in types, they will be forcibly converted if possible, otherwise the engine will raise an error." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:616 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:592 msgid "Casting is also useful to have better type-safe variables when interacting with the scene tree::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:626 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:602 msgid "Constants" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:628 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:604 msgid "Constants are similar to variables, but must be constants or constant expressions and must be assigned on initialization." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:642 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:618 msgid "Although the type of constants is inferred from the assigned value, it's also possible to add explicit type specification::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:648 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:624 msgid "Assigning a value of an incompatible type will raise an error." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:651 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:627 msgid "Enums" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:653 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:629 msgid "Enums are basically a shorthand for constants, and are pretty useful if you want to assign consecutive integers to some constant." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:656 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:632 msgid "If you pass a name to the enum, it will put all the keys inside a constant dictionary of that name." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:659 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:635 msgid "In Godot 3.1 and later, keys in a named enum are not registered as global constants. They should be accessed prefixed by the enum's name (``Name.KEY``); see an example below." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:679 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:655 msgid "Functions" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:681 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:657 msgid "Functions always belong to a `class `_. The scope priority for variable look-up is: local → class member → global. The ``self`` variable is always available and is provided as an option for accessing class members, but is not always required (and should *not* be sent as the function's first argument, unlike Python)." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:694 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:670 msgid "A function can ``return`` at any point. The default return value is ``null``." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:696 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:672 msgid "Functions can also have type specification for the arguments and for the return value. Types for arguments can be added in a similar way to variables::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:702 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:678 msgid "If a function argument has a default value, it's possible to infer the type::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:707 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:683 msgid "The return type of the function can be specified after the arguments list using the arrow token (``->``)::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:713 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:689 msgid "Functions that have a return type **must** return a proper value. Setting the type as ``void`` means the function doesn't return anything. Void functions can return early with the ``return`` keyword, but they can't return any value." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:722 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:698 msgid "Non-void functions must **always** return a value, so if your code has branching statements (such as an ``if``/``else`` construct), all the possible paths must have a return. E.g., if you have a ``return`` inside an ``if`` block but not after it, the editor will raise an error because if the block is not executed, the function won't have a valid value to return." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:730 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:706 msgid "Referencing functions" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:732 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:708 msgid "Contrary to Python, functions are *not* first-class objects in GDScript. This means they cannot be stored in variables, passed as an argument to another function or be returned from other functions. This is for performance reasons." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:736 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:712 msgid "To reference a function by name at run-time, (e.g. to store it in a variable, or pass it to another function as an argument) one must use the ``call`` or ``funcref`` helpers::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:750 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:726 msgid "Static functions" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:752 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:728 msgid "A function can be declared static. When a function is static, it has no access to the instance member variables or ``self``. This is mainly useful to make libraries of helper functions::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:761 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:737 msgid "Statements and control flow" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:763 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:739 msgid "Statements are standard and can be assignments, function calls, control flow structures, etc (see below). ``;`` as a statement separator is entirely optional." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:768 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:744 msgid "if/else/elif" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:770 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:746 msgid "Simple conditions are created by using the ``if``/``else``/``elif`` syntax. Parenthesis around conditions are allowed, but not required. Given the nature of the tab-based indentation, ``elif`` can be used instead of ``else``/``if`` to maintain a level of indentation." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:784 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:760 msgid "Short statements can be written on the same line as the condition::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:791 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:767 msgid "Sometimes, you might want to assign a different initial value based on a boolean expression. In this case, ternary-if expressions come in handy::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:800 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:776 msgid "Simple loops are created by using ``while`` syntax. Loops can be broken using ``break`` or continued using ``continue``:" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:811 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:787 msgid "To iterate through a range, such as an array or table, a *for* loop is used. When iterating over an array, the current array element is stored in the loop variable. When iterating over a dictionary, the *index* is stored in the loop variable." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:846 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:822 msgid "A ``match`` statement is used to branch execution of a program. It's the equivalent of the ``switch`` statement found in many other languages, but offers some additional features." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:849 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:825 msgid "Basic syntax::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:860 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:836 msgid "**Crash-course for people who are familiar with switch statements**:" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:862 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:838 msgid "Replace ``switch`` with ``match``." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:863 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:839 msgid "Remove ``case``." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:864 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:840 msgid "Remove any ``break``\\ s. If you don't want to ``break`` by default, you can use ``continue`` for a fallthrough." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:865 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:841 msgid "Change ``default`` to a single underscore." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:868 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:844 msgid "**Control flow**:" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:870 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:846 msgid "The patterns are matched from top to bottom. If a pattern matches, the corresponding block will be executed. After that, the execution continues below the ``match`` statement. If you want to have a fallthrough, you can use ``continue`` to stop execution in the current block and check the ones below it." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:874 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:850 msgid "There are 6 pattern types:" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:886 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:862 msgid "Constant pattern" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:877 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:853 msgid "Constant primitives, like numbers and strings::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:898 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:874 msgid "Variable pattern" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:889 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:865 msgid "Matches the contents of a variable/enum::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:912 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:888 msgid "Wildcard pattern" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:901 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:877 msgid "This pattern matches everything. It's written as a single underscore." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:903 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:879 msgid "It can be used as the equivalent of the ``default`` in a ``switch`` statement in other languages::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:925 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:901 msgid "Binding pattern" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:915 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:891 msgid "A binding pattern introduces a new variable. Like the wildcard pattern, it matches everything - and also gives that value a name. It's especially useful in array and dictionary patterns::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:946 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:922 msgid "Array pattern" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:928 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:904 msgid "Matches an array. Every single element of the array pattern is a pattern itself, so you can nest them." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:930 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:906 msgid "The length of the array is tested first, it has to be the same size as the pattern, otherwise the pattern doesn't match." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:932 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:908 msgid "**Open-ended array**: An array can be bigger than the pattern by making the last subpattern ``..``." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:934 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:910 msgid "Every subpattern has to be comma-separated." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:973 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:949 msgid "Dictionary pattern" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:949 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:925 msgid "Works in the same way as the array pattern. Every key has to be a constant pattern." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:951 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:927 msgid "The size of the dictionary is tested first, it has to be the same size as the pattern, otherwise the pattern doesn't match." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:953 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:929 msgid "**Open-ended dictionary**: A dictionary can be bigger than the pattern by making the last subpattern ``..``." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:955 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:931 msgid "Every subpattern has to be comma separated." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:957 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:933 msgid "If you don't specify a value, then only the existence of the key is checked." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:959 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:935 msgid "A value pattern is separated from the key pattern with a ``:``." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:986 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:962 msgid "Multiple patterns" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:976 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:952 msgid "You can also specify multiple patterns separated by a comma. These patterns aren't allowed to have any bindings in them." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:989 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:965 msgid "Classes" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:991 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:967 msgid "By default, all script files are unnamed classes. In this case, you can only reference them using the file's path, using either a relative or an absolute path. For example, if you name a script file ``character.gd``::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1004 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:980 msgid "Instead, you can give your class a name to register it as a new type in Godot's editor. For that, you use the ``class_name`` keyword. You can add an optional comma followed by a path to an image, to use it as an icon. Your class will then appear with its new icon in the editor::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1017 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:993 msgid "Here's a class file example:" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1036 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1012 msgid "Godot's class syntax is compact: it can only contain member variables or functions. You can use static functions, but not static member variables. In the same way, the engine initializes variables every time you create an instance, and this includes arrays and dictionaries. This is in the spirit of thread safety, since scripts can be initialized in separate threads without the user knowing." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1044 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1020 msgid "Inheritance" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1046 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1022 msgid "A class (stored as a file) can inherit from:" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1048 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1024 msgid "A global class." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1049 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1025 msgid "Another class file." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1050 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1026 msgid "An inner class inside another class file." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1052 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1028 msgid "Multiple inheritance is not allowed." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1054 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1030 msgid "Inheritance uses the ``extends`` keyword::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1066 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1042 msgid "To check if a given instance inherits from a given class, the ``is`` keyword can be used::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1078 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1054 msgid "To call a function in a *parent class* (i.e. one ``extend``-ed in your current class), prepend ``.`` to the function name::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1083 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1059 msgid "This is especially useful because functions in extending classes replace functions with the same name in their parent classes. If you still want to call them, you can prefix them with ``.`` (like the ``super`` keyword in other languages)::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1091 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1067 msgid "Default functions like ``_init``, and most notifications such as ``_enter_tree``, ``_exit_tree``, ``_process``, ``_physics_process``, etc. are called in all parent classes automatically. There is no need to call them explicitly when overloading them." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1098 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1074 msgid "Class Constructor" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1100 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1076 msgid "The class constructor, called on class instantiation, is named ``_init``. As mentioned earlier, the constructors of parent classes are called automatically when inheriting a class. So, there is usually no need to call ``._init()`` explicitly." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1105 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1081 msgid "Unlike the call of a regular function, like in the above example with ``.some_func``, if the constructor from the inherited class takes arguments, they are passed like this::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1112 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1088 msgid "This is better explained through examples. Consider this scenario::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1132 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1108 msgid "There are a few things to keep in mind here:" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1134 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1110 msgid "If the inherited class (``State.gd``) defines a ``_init`` constructor that takes arguments (``e`` in this case), then the inheriting class (``Idle.gd``) *must* define ``_init`` as well and pass appropriate parameters to ``_init`` from ``State.gd``." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1137 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1113 msgid "``Idle.gd`` can have a different number of arguments than the parent class ``State.gd``." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1138 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1114 msgid "In the example above, ``e`` passed to the ``State.gd`` constructor is the same ``e`` passed in to ``Idle.gd``." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1140 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1116 msgid "If ``Idle.gd``'s ``_init`` constructor takes 0 arguments, it still needs to pass some value to the ``State.gd`` parent class, even if it does nothing. This brings us to the fact that you can pass literals in the base constructor as well, not just variables. eg.::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1150 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1126 msgid "Inner classes" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1152 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1128 msgid "A class file can contain inner classes. Inner classes are defined using the ``class`` keyword. They are instanced using the ``ClassName.new()`` function." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1174 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1150 msgid "Classes as resources" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1176 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1152 msgid "Classes stored as files are treated as :ref:`resources `. They must be loaded from disk to access them in other classes. This is done using either the ``load`` or ``preload`` functions (see below). Instancing of a loaded class resource is done by calling the ``new`` function on the class object::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1192 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1168 msgid "Exports" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1196 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1172 msgid "Documentation about exports has been moved to :ref:`doc_gdscript_exports`." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1199 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1175 msgid "Setters/getters" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1201 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1177 msgid "It is often useful to know when a class' member variable changes for whatever reason. It may also be desired to encapsulate its access in some way." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1204 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1180 msgid "For this, GDScript provides a *setter/getter* syntax using the ``setget`` keyword. It is used directly after a variable definition:" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1211 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1187 msgid "Whenever the value of ``variable`` is modified by an *external* source (i.e. not from local usage in the class), the *setter* function (``setterfunc`` above) will be called. This happens *before* the value is changed. The *setter* must decide what to do with the new value. Vice versa, when ``variable`` is accessed, the *getter* function (``getterfunc`` above) must ``return`` the desired value. Below is an example::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1225 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1201 msgid "Either of the *setter* or *getter* functions can be omitted::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1232 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1208 msgid "Setters and getters are useful when :ref:`exporting variables ` to the editor in tool scripts or plugins, for validating input." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1235 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1211 msgid "As said, *local* access will *not* trigger the setter and getter. Here is an illustration of this:" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1252 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1228 msgid "Tool mode" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1254 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1230 msgid "By default, scripts don't run inside the editor and only the exported properties can be changed. In some cases, it is desired that they do run inside the editor (as long as they don't execute game code or manually avoid doing so). For this, the ``tool`` keyword exists and must be placed at the top of the file::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1267 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1243 msgid "See :ref:`doc_running_code_in_the_editor` for more information." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1269 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1245 msgid "Be cautious when freeing nodes with ``queue_free()`` or ``free()`` in a tool script (especially the script's owner itself). As tool scripts run their code in the editor, misusing them may lead to crashing the editor." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1275 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1251 msgid "Memory management" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1277 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1253 msgid "If a class inherits from :ref:`class_Reference`, then instances will be freed when no longer in use. No garbage collector exists, just reference counting. By default, all classes that don't define inheritance extend **Reference**. If this is not desired, then a class must inherit :ref:`class_Object` manually and must call instance.free(). To avoid reference cycles that can't be freed, a ``weakref`` function is provided for creating weak references." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1285 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1261 msgid "Alternatively, when not using references, the ``is_instance_valid(instance)`` can be used to check if an object has been freed." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1292 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1268 msgid "Signals" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1294 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1270 msgid "Signals are a tool to emit messages from an object that other objects can react to. To create custom signals for a class, use the ``signal`` keyword." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1306 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1282 msgid "Signals are a `Callback `_ mechanism. They also fill the role of Observers, a common programming pattern. For more information, read the `Observer tutorial `_ in the Game Programming Patterns ebook." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1313 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1289 msgid "You can connect these signals to methods the same way you connect built-in signals of nodes like :ref:`class_Button` or :ref:`class_RigidBody`." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1316 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1292 msgid "In the example below, we connect the ``health_depleted`` signal from a ``Character`` node to a ``Game`` node. When the ``Character`` node emits the signal, the game node's ``_on_Character_health_depleted`` is called::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1329 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1305 msgid "You can emit as many arguments as you want along with a signal." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1331 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1307 msgid "Here is an example where this is useful. Let's say we want a life bar on screen to react to health changes with an animation, but we want to keep the user interface separate from the player in our scene tree." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1335 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1311 msgid "In our ``Character.gd`` script, we define a ``health_changed`` signal and emit it with :ref:`Object.emit_signal() `, and from a ``Game`` node higher up our scene tree, we connect it to the ``Lifebar`` using the :ref:`Object.connect() ` method::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1375 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1351 msgid "To use signals, your class has to extend the ``Object`` class or any type extending it like ``Node``, ``KinematicBody``, ``Control``..." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1378 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1354 msgid "In the ``Game`` node, we get both the ``Character`` and ``Lifebar`` nodes, then connect the character, that emits the signal, to the receiver, the ``Lifebar`` node in this case." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1392 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1368 msgid "This allows the ``Lifebar`` to react to health changes without coupling it to the ``Character`` node." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1395 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1371 msgid "You can write optional argument names in parentheses after the signal's definition::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1401 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1377 msgid "These arguments show up in the editor's node dock, and Godot can use them to generate callback functions for you. However, you can still emit any number of arguments when you emit signals; it's up to you to emit the correct values." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1407 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1383 msgid "GDScript can bind an array of values to connections between a signal and a method. When the signal is emitted, the callback method receives the bound values. These bound arguments are unique to each connection, and the values will stay the same." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1412 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1388 msgid "You can use this array of values to add extra constant information to the connection if the emitted signal itself doesn't give you access to all the data that you need." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1416 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1392 msgid "Building on the example above, let's say we want to display a log of the damage taken by each character on the screen, like ``Player1 took 22 damage.``. The ``health_changed`` signal doesn't give us the name of the character that took damage. So when we connect the signal to the in-game console, we can add the character's name in the binds array argument::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1430 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1406 msgid "Our ``BattleLog`` node receives each element in the binds array as an extra argument::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1443 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1419 msgid "Coroutines with yield" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1445 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1421 msgid "GDScript offers support for `coroutines `_ via the :ref:`yield` built-in function. Calling ``yield()`` will immediately return from the current function, with the current frozen state of the same function as the return value. Calling ``resume()`` on this resulting object will continue execution and return whatever the function returns. Once resumed, the state object becomes invalid. Here is an example::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1465 -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1485 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1441 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1461 msgid "Will print::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1471 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1447 msgid "It is also possible to pass values between ``yield()`` and ``resume()``, for example::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1491 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1467 msgid "Remember to save the new function state, when using multiple ``yield``\\s::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1505 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1481 msgid "Coroutines & signals" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1507 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1483 msgid "The real strength of using ``yield`` is when combined with signals. ``yield`` can accept two arguments, an object and a signal. When the signal is received, execution will recommence. Here are some examples::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1520 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1496 msgid "Coroutines themselves use the ``completed`` signal when they transition into an invalid state, for example::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1531 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1507 msgid "``my_func`` will only continue execution once both buttons have been pressed." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1534 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1510 msgid "Onready keyword" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1536 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1512 msgid "When using nodes, it's common to desire to keep references to parts of the scene in a variable. As scenes are only warranted to be configured when entering the active scene tree, the sub-nodes can only be obtained when a call to ``Node._ready()`` is made." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1548 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1524 msgid "This can get a little cumbersome, especially when nodes and external references pile up. For this, GDScript has the ``onready`` keyword, that defers initialization of a member variable until ``_ready()`` is called. It can replace the above code with a single line::" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1556 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1532 msgid "Assert keyword" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1558 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1534 msgid "The ``assert`` keyword can be used to check conditions in debug builds. These assertions are ignored in non-debug builds. This means that the expression passed as argument won't be evaluated in a project exported in release mode. Due to this, assertions must **not** contain expressions that have side effects. Otherwise, the behavior of the script would vary depending on whether the project is run in a debug build." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1570 +#: ../../docs/getting_started/scripting/gdscript/gdscript_basics.rst:1546 msgid "When running a project from the editor, the project will be paused if an assertion error occurs." msgstr "" diff --git a/sphinx/templates/getting_started/scripting/gdscript/gdscript_exports.pot b/sphinx/templates/getting_started/scripting/gdscript/gdscript_exports.pot index 5f1963d6e2..69e829e970 100644 --- a/sphinx/templates/getting_started/scripting/gdscript/gdscript_exports.pot +++ b/sphinx/templates/getting_started/scripting/gdscript/gdscript_exports.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -76,3 +76,11 @@ msgstr "" msgid "Exporting arrays works, but with an important caveat: while regular arrays are created local to every class instance, exported arrays are *shared* between all instances. This means that editing them in one instance will cause them to change in all other instances. Exported arrays can have initializers, but they must be constant expressions." msgstr "" +#: ../../docs/getting_started/scripting/gdscript/gdscript_exports.rst:186 +msgid "Setting exported variables from a tool script" +msgstr "" + +#: ../../docs/getting_started/scripting/gdscript/gdscript_exports.rst:188 +msgid "When changing an exported variable's value from a script in :ref:`doc_gdscript_tool_mode`, the value in the inspector won't be updated automatically. To update it, call :ref:`property_list_changed_notify() ` after setting the exported variable's value." +msgstr "" + diff --git a/sphinx/templates/getting_started/scripting/gdscript/gdscript_format_string.pot b/sphinx/templates/getting_started/scripting/gdscript/gdscript_format_string.pot index 27929b8470..27a17f02e6 100644 --- a/sphinx/templates/getting_started/scripting/gdscript/gdscript_format_string.pot +++ b/sphinx/templates/getting_started/scripting/gdscript/gdscript_format_string.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "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/scripting/gdscript/gdscript_styleguide.pot b/sphinx/templates/getting_started/scripting/gdscript/gdscript_styleguide.pot index 3ca6f75559..c209ad30d6 100644 --- a/sphinx/templates/getting_started/scripting/gdscript/gdscript_styleguide.pot +++ b/sphinx/templates/getting_started/scripting/gdscript/gdscript_styleguide.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -86,7 +86,7 @@ msgstr "" #: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:327 #: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:347 #: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:373 -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:662 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:675 msgid "**Good**:" msgstr "" @@ -100,7 +100,7 @@ msgstr "" #: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:334 #: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:354 #: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:383 -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:670 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:683 msgid "**Bad**:" msgstr "" @@ -348,51 +348,67 @@ msgstr "" msgid "The GDScript compiler evaluates onready variables right before the ``_ready`` callback. You can use that to cache node dependencies, that is to say, to get child nodes in the scene that your class relies on. This is what the example above shows." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:600 -msgid "Methods and static functions" +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:599 +msgid "Member variables" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:602 -msgid "After the class's properties come the methods." +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:601 +msgid "Don't declare member variables if they are only used locally in a method, as it makes the code more difficult to follow. Instead, declare them as local variables in the method's body." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:604 -msgid "Start with the ``_init()`` callback method, that the engine will call upon creating the object in memory. Follow with the ``_ready()`` callback, that Godot calls when it adds a node to the scene tree." +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:606 +msgid "Local variables" msgstr "" #: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:608 -msgid "These function should come first because they show how the object is initialized." +msgid "Declare local variables as close as possible to their first use. This makes it easier to follow the code, without having to scroll too much to find where the variable was declared." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:611 -msgid "Other built-in virtual callbacks, like ``_unhandled_input()`` and ``_physics_process``, should come next. These control the object's main loop and interactions with the game engine." +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:613 +msgid "Methods and static functions" msgstr "" #: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:615 +msgid "After the class's properties come the methods." +msgstr "" + +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:617 +msgid "Start with the ``_init()`` callback method, that the engine will call upon creating the object in memory. Follow with the ``_ready()`` callback, that Godot calls when it adds a node to the scene tree." +msgstr "" + +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:621 +msgid "These function should come first because they show how the object is initialized." +msgstr "" + +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:624 +msgid "Other built-in virtual callbacks, like ``_unhandled_input()`` and ``_physics_process``, should come next. These control the object's main loop and interactions with the game engine." +msgstr "" + +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:628 msgid "The rest of the class's interface, public and private methods, come after that, in that order." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:652 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:665 msgid "Static typing" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:654 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:667 msgid "Since Godot 3.1, GDScript supports :ref:`optional static typing`." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:657 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:670 msgid "Type hints" msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:659 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:672 msgid "Place the colon right after the variable's name, without a space, and let the GDScript compiler infer the variable's type when possible." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:678 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:691 msgid "When you let the compiler infer the type hint, write the colon and equal signs together: ``:=``." msgstr "" -#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:684 +#: ../../docs/getting_started/scripting/gdscript/gdscript_styleguide.rst:697 msgid "Add a space on either sides of the return type arrow when defining functions." msgstr "" diff --git a/sphinx/templates/getting_started/scripting/gdscript/index.pot b/sphinx/templates/getting_started/scripting/gdscript/index.pot index 4d9097848e..549d71a719 100644 --- a/sphinx/templates/getting_started/scripting/gdscript/index.pot +++ b/sphinx/templates/getting_started/scripting/gdscript/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "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/scripting/gdscript/static_typing.pot b/sphinx/templates/getting_started/scripting/gdscript/static_typing.pot index 6725c9e8a7..4b38afbc88 100644 --- a/sphinx/templates/getting_started/scripting/gdscript/static_typing.pot +++ b/sphinx/templates/getting_started/scripting/gdscript/static_typing.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -49,11 +49,11 @@ msgid "A brief look at static typing" msgstr "" #: ../../docs/getting_started/scripting/gdscript/static_typing.rst:25 -msgid "With typed GDScript, Godot can detect even more errors as you write code! It gives you and your teammates more information as you’re working, as the arguments’ types show up when you call a method." +msgid "With typed GDScript, Godot can detect even more errors as you write code! It gives you and your teammates more information as you're working, as the arguments' types show up when you call a method." msgstr "" #: ../../docs/getting_started/scripting/gdscript/static_typing.rst:29 -msgid "Imagine you’re programming an inventory system. You code an ``Item`` node, then an ``Inventory``. To add items to the inventory, the people who work with your code should always pass an ``Item`` to the ``Inventory.add`` method. With types, you can enforce this:" +msgid "Imagine you're programming an inventory system. You code an ``Item`` node, then an ``Inventory``. To add items to the inventory, the people who work with your code should always pass an ``Item`` to the ``Inventory.add`` method. With types, you can enforce this:" msgstr "" #: ../../docs/getting_started/scripting/gdscript/static_typing.rst:49 @@ -65,11 +65,11 @@ msgid "Static types also give you better code completion options. Below, you can msgstr "" #: ../../docs/getting_started/scripting/gdscript/static_typing.rst:59 -msgid "You’ve probably stored a node in a variable before, and typed a dot to be left with no autocomplete suggestions:" +msgid "You've probably stored a node in a variable before, and typed a dot to be left with no autocomplete suggestions:" msgstr "" #: ../../docs/getting_started/scripting/gdscript/static_typing.rst:65 -msgid "This is due to dynamic code. Godot cannot know what node or value type you’re passing to the function. If you write the type explicitly however, you will get all public methods and variables from the node:" +msgid "This is due to dynamic code. Godot cannot know what node or value type you're passing to the function. If you write the type explicitly however, you will get all public methods and variables from the node:" msgstr "" #: ../../docs/getting_started/scripting/gdscript/static_typing.rst:72 @@ -77,7 +77,7 @@ msgid "In the future, typed GDScript will also increase code performance: Just-I msgstr "" #: ../../docs/getting_started/scripting/gdscript/static_typing.rst:76 -msgid "Overall, typed programming gives you a more structured experience. It helps prevent errors and improves the self-documenting aspect of your scripts. This is especially helpful when you’re working in a team or on a long-term project: studies have shown that developers spend most of their time reading other people’s code, or scripts they wrote in the past and forgot about. The clearer and the more structured the code, the faster it is to understand, the faster you can move forward." +msgid "Overall, typed programming gives you a more structured experience. It helps prevent errors and improves the self-documenting aspect of your scripts. This is especially helpful when you're working in a team or on a long-term project: studies have shown that developers spend most of their time reading other people's code, or scripts they wrote in the past and forgot about. The clearer and the more structured the code, the faster it is to understand, the faster you can move forward." msgstr "" #: ../../docs/getting_started/scripting/gdscript/static_typing.rst:85 @@ -85,7 +85,7 @@ msgid "How to use static typing" msgstr "" #: ../../docs/getting_started/scripting/gdscript/static_typing.rst:87 -msgid "To define the type of a variable or a constant, write a colon after the variable’s name, followed by its type. E.g. ``var health: int``. This forces the variable's type to always stay the same:" +msgid "To define the type of a variable or a constant, write a colon after the variable's name, followed by its type. E.g. ``var health: int``. This forces the variable's type to always stay the same:" msgstr "" #: ../../docs/getting_started/scripting/gdscript/static_typing.rst:96 @@ -145,7 +145,7 @@ msgid "You can check if this ``PhysicsBody2D`` is your Player with the ``as`` ca msgstr "" #: ../../docs/getting_started/scripting/gdscript/static_typing.rst:172 -msgid "As we’re dealing with a custom type, if the ``body`` doesn’t extend ``PlayerController``, the ``player``\\ variable will be set to ``null``. We can use this to check if the body is the player or not. We will also get full autocompletion on the player variable thanks to that cast." +msgid "As we're dealing with a custom type, if the ``body`` doesn't extend ``PlayerController``, the ``player``\\ variable will be set to ``null``. We can use this to check if the body is the player or not. We will also get full autocompletion on the player variable thanks to that cast." msgstr "" #: ../../docs/getting_started/scripting/gdscript/static_typing.rst:179 @@ -157,11 +157,11 @@ msgid "Safe lines" msgstr "" #: ../../docs/getting_started/scripting/gdscript/static_typing.rst:184 -msgid "You can also use casting to ensure safe lines. Safe lines are a new tool in Godot 3.1 to tell you when ambiguous lines of code are type-safe. As you can mix and match typed and dynamic code, at times, Godot doesn’t have enough information to know if an instruction will trigger an error or not at runtime." +msgid "You can also use casting to ensure safe lines. Safe lines are a new tool in Godot 3.1 to tell you when ambiguous lines of code are type-safe. As you can mix and match typed and dynamic code, at times, Godot doesn't have enough information to know if an instruction will trigger an error or not at runtime." msgstr "" #: ../../docs/getting_started/scripting/gdscript/static_typing.rst:190 -msgid "This happens when you get a child node. Let’s take a timer for example: with dynamic code, you can get the node with ``$Timer``. GDScript supports `duck-typing `__, so even if your timer is of type ``Timer``, it is also a ``Node`` and an ``Object``, two classes it extends. With dynamic GDScript, you also don’t care about the node’s type as long as it has the methods you need to call." +msgid "This happens when you get a child node. Let's take a timer for example: with dynamic code, you can get the node with ``$Timer``. GDScript supports `duck-typing `__, so even if your timer is of type ``Timer``, it is also a ``Node`` and an ``Object``, two classes it extends. With dynamic GDScript, you also don't care about the node's type as long as it has the methods you need to call." msgstr "" #: ../../docs/getting_started/scripting/gdscript/static_typing.rst:198 @@ -169,7 +169,7 @@ msgid "You can use casting to tell Godot the type you expect when you get a node msgstr "" #: ../../docs/getting_started/scripting/gdscript/static_typing.rst:206 -msgid "Safe vs Unsafe Line" +msgid "Unsafe line (line 7) vs Safe Lines (line 6 and 8)" msgstr "" #: ../../docs/getting_started/scripting/gdscript/static_typing.rst:210 @@ -197,11 +197,11 @@ msgid "Typed or dynamic: stick to one style" msgstr "" #: ../../docs/getting_started/scripting/gdscript/static_typing.rst:250 -msgid "Typed GDScript and dynamic GDScript can coexist in the same project. But I recommended to stick to either style for consistency in your codebase, and for your peers. It’s easier for everyone to work together if you follow the same guidelines, and faster to read and understand other people’s code." +msgid "Typed GDScript and dynamic GDScript can coexist in the same project. But I recommended to stick to either style for consistency in your codebase, and for your peers. It's easier for everyone to work together if you follow the same guidelines, and faster to read and understand other people's code." msgstr "" #: ../../docs/getting_started/scripting/gdscript/static_typing.rst:256 -msgid "Typed code takes a little more writing, but you get the benefits we discussed above. Here’s an example of the same, empty script, in a dynamic style:" +msgid "Typed code takes a little more writing, but you get the benefits we discussed above. Here's an example of the same, empty script, in a dynamic style:" msgstr "" #: ../../docs/getting_started/scripting/gdscript/static_typing.rst:272 @@ -209,7 +209,7 @@ msgid "And with static typing:" msgstr "" #: ../../docs/getting_started/scripting/gdscript/static_typing.rst:286 -msgid "As you can see, you can also use types with the engine’s virtual methods. Signal callbacks, like any methods, can also use types. Here’s a ``body_entered`` signal in a dynamic style:" +msgid "As you can see, you can also use types with the engine's virtual methods. Signal callbacks, like any methods, can also use types. Here's a ``body_entered`` signal in a dynamic style:" msgstr "" #: ../../docs/getting_started/scripting/gdscript/static_typing.rst:295 @@ -217,11 +217,11 @@ msgid "And the same callback, with type hints:" msgstr "" #: ../../docs/getting_started/scripting/gdscript/static_typing.rst:302 -msgid "You’re free to replace, e.g. the ``CollisionObject2D``, with your own type, to cast parameters automatically:" +msgid "You're free to replace, e.g. the ``CollisionObject2D``, with your own type, to cast parameters automatically:" msgstr "" #: ../../docs/getting_started/scripting/gdscript/static_typing.rst:313 -msgid "The ``bullet`` variable could hold any ``CollisionObject2D`` here, but we make sure it is our ``Bullet``, a node we created for our project. If it’s anything else, like an ``Area2D``, or any node that doesn’t extend ``Bullet``, the ``bullet`` variable will be ``null``." +msgid "The ``bullet`` variable could hold any ``CollisionObject2D`` here, but we make sure it is our ``Bullet``, a node we created for our project. If it's anything else, like an ``Area2D``, or any node that doesn't extend ``Bullet``, the ``bullet`` variable will be ``null``." msgstr "" #: ../../docs/getting_started/scripting/gdscript/static_typing.rst:319 @@ -229,7 +229,7 @@ msgid "Warning system" msgstr "" #: ../../docs/getting_started/scripting/gdscript/static_typing.rst:321 -msgid "The warning system complements typed GDScript. It’s here to help you avoid mistakes that are hard to spot during development, and that may lead to runtime errors." +msgid "The warning system complements typed GDScript. It's here to help you avoid mistakes that are hard to spot during development, and that may lead to runtime errors." msgstr "" #: ../../docs/getting_started/scripting/gdscript/static_typing.rst:325 @@ -241,7 +241,7 @@ msgid "warning system project settings" msgstr "" #: ../../docs/getting_started/scripting/gdscript/static_typing.rst:333 -msgid "You can find a list of warnings for the active GDScript file in the script editor’s status bar. The example below has 3 warnings:" +msgid "You can find a list of warnings for the active GDScript file in the script editor's status bar. The example below has 3 warnings:" msgstr "" #: ../../docs/getting_started/scripting/gdscript/static_typing.rst:339 @@ -249,7 +249,7 @@ msgid "warning system example" msgstr "" #: ../../docs/getting_started/scripting/gdscript/static_typing.rst:341 -msgid "To ignore specific warnings in one file, insert a special comment of the form ``# warning-ignore:warning-id``, or click on the ignore link to the right of the warning’s description. Godot will add a comment above the corresponding line and the code won’t trigger the corresponding warning anymore:" +msgid "To ignore specific warnings in one file, insert a special comment of the form ``# warning-ignore:warning-id``, or click on the ignore link to the right of the warning's description. Godot will add a comment above the corresponding line and the code won't trigger the corresponding warning anymore:" msgstr "" #: ../../docs/getting_started/scripting/gdscript/static_typing.rst:350 @@ -261,7 +261,7 @@ msgid "You can also choose to ignore not just one but all warnings of a certain msgstr "" #: ../../docs/getting_started/scripting/gdscript/static_typing.rst:356 -msgid "Warnings won’t prevent the game from running, but you can turn them into errors if you’d like. This way your game won’t compile unless you fix all warnings. Head to the ``GDScript`` section of the Project Settings to turn on this option. Here’s the same file as the previous example with warnings as errors turned on:" +msgid "Warnings won't prevent the game from running, but you can turn them into errors if you'd like. This way your game won't compile unless you fix all warnings. Head to the ``GDScript`` section of the Project Settings to turn on this option. Here's the same file as the previous example with warnings as errors turned on:" msgstr "" #: ../../docs/getting_started/scripting/gdscript/static_typing.rst:365 @@ -269,27 +269,27 @@ msgid "warnings as errors" msgstr "" #: ../../docs/getting_started/scripting/gdscript/static_typing.rst:368 -msgid "Cases where you can’t specify types" +msgid "Cases where you can't specify types" msgstr "" #: ../../docs/getting_started/scripting/gdscript/static_typing.rst:370 -msgid "To wrap up this introduction, let’s cover a few cases where you can’t use type hints. All the examples below **will trigger errors**." +msgid "To wrap up this introduction, let's cover a few cases where you can't use type hints. All the examples below **will trigger errors**." msgstr "" #: ../../docs/getting_started/scripting/gdscript/static_typing.rst:373 -msgid "You can’t use Enums as types:" +msgid "You can't use Enums as types:" msgstr "" #: ../../docs/getting_started/scripting/gdscript/static_typing.rst:380 -msgid "You can’t specify the type of individual members in an array. This will give you an error:" +msgid "You can't specify the type of individual members in an array. This will give you an error:" msgstr "" #: ../../docs/getting_started/scripting/gdscript/static_typing.rst:387 -msgid "You can’t force the assignment of types in a ``for`` loop, as each element the ``for`` keyword loops over already has a different type. So you **cannot** write:" +msgid "You can't force the assignment of types in a ``for`` loop, as each element the ``for`` keyword loops over already has a different type. So you **cannot** write:" msgstr "" #: ../../docs/getting_started/scripting/gdscript/static_typing.rst:397 -msgid "Two scripts can’t depend on each other in a cyclic fashion:" +msgid "Two scripts can't depend on each other in a cyclic fashion:" msgstr "" #: ../../docs/getting_started/scripting/gdscript/static_typing.rst:420 diff --git a/sphinx/templates/getting_started/scripting/index.pot b/sphinx/templates/getting_started/scripting/index.pot index eba978f644..4504ffd89d 100644 --- a/sphinx/templates/getting_started/scripting/index.pot +++ b/sphinx/templates/getting_started/scripting/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "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/scripting/visual_script/custom_visualscript_nodes.pot b/sphinx/templates/getting_started/scripting/visual_script/custom_visualscript_nodes.pot new file mode 100644 index 0000000000..1dbe4b9287 --- /dev/null +++ b/sphinx/templates/getting_started/scripting/visual_script/custom_visualscript_nodes.pot @@ -0,0 +1,78 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2014-2020, 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: 2020-04-27 12:19+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/getting_started/scripting/visual_script/custom_visualscript_nodes.rst:4 +msgid "Custom VisualScript nodes" +msgstr "" + +#: ../../docs/getting_started/scripting/visual_script/custom_visualscript_nodes.rst:6 +msgid "Custom nodes are written in GDScript and can then be used in VisualScript. This is useful for offloading complex code to GDScript and reusing it." +msgstr "" + +#: ../../docs/getting_started/scripting/visual_script/custom_visualscript_nodes.rst:10 +msgid "Creating a custom node" +msgstr "" + +#: ../../docs/getting_started/scripting/visual_script/custom_visualscript_nodes.rst:12 +msgid "Create a new script that extends :ref:`class_VisualScriptCustomNode` and put a ``tool`` keyword at the top. This is needed for the script to run in the editor." +msgstr "" + +#: ../../docs/getting_started/scripting/visual_script/custom_visualscript_nodes.rst:14 +msgid "There are some functions that can be implemented to set parameters of the custom node. Only add functions that are needed, a ``_has_input_sequence_port`` function is not necessary if it should return ``false`` for example." +msgstr "" + +#: ../../docs/getting_started/scripting/visual_script/custom_visualscript_nodes.rst:17 +msgid "The most important part of a custom node is the ``_step`` function. The logic of the node is defined there." +msgstr "" + +#: ../../docs/getting_started/scripting/visual_script/custom_visualscript_nodes.rst:19 +msgid "The ``inputs`` parameter holds the value of the input ports." +msgstr "" + +#: ../../docs/getting_started/scripting/visual_script/custom_visualscript_nodes.rst:21 +msgid "The ``outputs`` parameter is an array where the indices represent the output port ids. It can be modified to set the values of the output ports." +msgstr "" + +#: ../../docs/getting_started/scripting/visual_script/custom_visualscript_nodes.rst:23 +msgid "``start_mode`` can be checked to see if it is the first time ``_step`` is called." +msgstr "" + +#: ../../docs/getting_started/scripting/visual_script/custom_visualscript_nodes.rst:25 +msgid "``working_mem`` is persistent each ``_step`` call. It can be used to store information." +msgstr "" + +#: ../../docs/getting_started/scripting/visual_script/custom_visualscript_nodes.rst:27 +msgid "If you want to throw an error, for example if the input types are incorrect, you can return the error message as a string. When everything goes right, return the id of the sequence port which should be called next. If your custom node doesn't have any, just return 0." +msgstr "" + +#: ../../docs/getting_started/scripting/visual_script/custom_visualscript_nodes.rst:31 +msgid "Example:" +msgstr "" + +#: ../../docs/getting_started/scripting/visual_script/custom_visualscript_nodes.rst:94 +msgid "Using a custom node" +msgstr "" + +#: ../../docs/getting_started/scripting/visual_script/custom_visualscript_nodes.rst:96 +msgid "To use the script, add a ``CustomNode``, select it and drag your custom node script into the ``script`` property shown in the inspector." +msgstr "" + +#: ../../docs/getting_started/scripting/visual_script/custom_visualscript_nodes.rst:100 +msgid "Result:" +msgstr "" + diff --git a/sphinx/templates/getting_started/scripting/visual_script/getting_started.pot b/sphinx/templates/getting_started/scripting/visual_script/getting_started.pot index fd7ed366af..a81520c4e8 100644 --- a/sphinx/templates/getting_started/scripting/visual_script/getting_started.pot +++ b/sphinx/templates/getting_started/scripting/visual_script/getting_started.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "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/scripting/visual_script/index.pot b/sphinx/templates/getting_started/scripting/visual_script/index.pot index b23d397bc2..17519806ea 100644 --- a/sphinx/templates/getting_started/scripting/visual_script/index.pot +++ b/sphinx/templates/getting_started/scripting/visual_script/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "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/scripting/visual_script/nodes_purposes.pot b/sphinx/templates/getting_started/scripting/visual_script/nodes_purposes.pot index 9b6a2f0633..1a4fda588a 100644 --- a/sphinx/templates/getting_started/scripting/visual_script/nodes_purposes.pot +++ b/sphinx/templates/getting_started/scripting/visual_script/nodes_purposes.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "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/scripting/visual_script/what_is_visual_scripting.pot b/sphinx/templates/getting_started/scripting/visual_script/what_is_visual_scripting.pot index 1a097b05d9..c1668f628a 100644 --- a/sphinx/templates/getting_started/scripting/visual_script/what_is_visual_scripting.pot +++ b/sphinx/templates/getting_started/scripting/visual_script/what_is_visual_scripting.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "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/animations.pot b/sphinx/templates/getting_started/step_by_step/animations.pot index 441dcd4ac7..8138a09eba 100644 --- a/sphinx/templates/getting_started/step_by_step/animations.pot +++ b/sphinx/templates/getting_started/step_by_step/animations.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "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/exporting.pot b/sphinx/templates/getting_started/step_by_step/exporting.pot index 99e97ae59a..4626f496ca 100644 --- a/sphinx/templates/getting_started/step_by_step/exporting.pot +++ b/sphinx/templates/getting_started/step_by_step/exporting.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -245,6 +245,6 @@ msgid "The console window beneath the game tells you if anything goes wrong. You msgstr "" #: ../../docs/getting_started/step_by_step/exporting.rst:420 -msgid "While WASM is supported in all major browsers, it is still an emerging technology and you may find some things that don't work. Make sure you have updated your browser to the most recent version, and report any bugs you find at the `Godot Github repository `_." +msgid "While WASM is supported in all major browsers, it is still an emerging technology and you may find some things that don't work. Make sure you have updated your browser to the most recent version, and report any bugs you find at the `Godot GitHub repository `_." msgstr "" diff --git a/sphinx/templates/getting_started/step_by_step/filesystem.pot b/sphinx/templates/getting_started/step_by_step/filesystem.pot index 0ed886bc82..88febed122 100644 --- a/sphinx/templates/getting_started/step_by_step/filesystem.pot +++ b/sphinx/templates/getting_started/step_by_step/filesystem.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "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/godot_design_philosophy.pot b/sphinx/templates/getting_started/step_by_step/godot_design_philosophy.pot index 09d7c42678..db5caa38d0 100644 --- a/sphinx/templates/getting_started/step_by_step/godot_design_philosophy.pot +++ b/sphinx/templates/getting_started/step_by_step/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: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,7 +17,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" #: ../../docs/getting_started/step_by_step/godot_design_philosophy.rst:4 -msgid "Godot’s design philosophy" +msgid "Godot's design philosophy" msgstr "" #: ../../docs/getting_started/step_by_step/godot_design_philosophy.rst:6 @@ -25,7 +25,7 @@ msgid "Now that you've gotten your hands wet, let's talk about Godot's design." msgstr "" #: ../../docs/getting_started/step_by_step/godot_design_philosophy.rst:8 -msgid "**Every game engine is different and fits different needs.** Not only do they offer a range of features, but the design of each engine is unique. This leads to different workflows and different ways to form your games’ structures. This all stems from their respective design philosophies." +msgid "**Every game engine is different and fits different needs.** Not only do they offer a range of features, but the design of each engine is unique. This leads to different workflows and different ways to form your games' structures. This all stems from their respective design philosophies." msgstr "" #: ../../docs/getting_started/step_by_step/godot_design_philosophy.rst:13 @@ -53,11 +53,11 @@ msgid "On top of that, you can **inherit** from any scene." msgstr "" #: ../../docs/getting_started/step_by_step/godot_design_philosophy.rst:38 -msgid "A Godot scene could be a Weapon, a Character, an Item, a Door, a Level, part of a level… anything you’d like. It works like a class in pure code, except you’re free to design it by using the editor, using only the code, or mixing and matching the two." +msgid "A Godot scene could be a Weapon, a Character, an Item, a Door, a Level, part of a level… anything you'd like. It works like a class in pure code, except you're free to design it by using the editor, using only the code, or mixing and matching the two." msgstr "" #: ../../docs/getting_started/step_by_step/godot_design_philosophy.rst:43 -msgid "It’s different from prefabs you find in several 3D engines, as you can then inherit from and extend those scenes. You may create a Magician that extends your Character. Modify the Character in the editor and the Magician will update as well. It helps you build your projects so that their structure matches the game’s design." +msgid "It's different from prefabs you find in several 3D engines, as you can then inherit from and extend those scenes. You may create a Magician that extends your Character. Modify the Character in the editor and the Magician will update as well. It helps you build your projects so that their structure matches the game's design." msgstr "" #: ../../docs/getting_started/step_by_step/godot_design_philosophy.rst:49 @@ -65,7 +65,7 @@ msgid "|image0|" msgstr "" #: ../../docs/getting_started/step_by_step/godot_design_philosophy.rst:51 -msgid "Also note that Godot offers many different types of objects called nodes, each with a specific purpose. Nodes are part of a tree and always inherit from their parents up to the Node class. Although the engine does feature components like collision shapes, they’re the exception, not the norm." +msgid "Also note that Godot offers many different types of objects called nodes, each with a specific purpose. Nodes are part of a tree and always inherit from their parents up to the Node class. Although the engine does feature components like collision shapes, they're the exception, not the norm." msgstr "" #: ../../docs/getting_started/step_by_step/godot_design_philosophy.rst:57 @@ -93,7 +93,7 @@ msgid "The goal is to offer a full package to create games and a continuous user msgstr "" #: ../../docs/getting_started/step_by_step/godot_design_philosophy.rst:78 -msgid "That is also partly why Godot offers its own programming languages GDscript and VisualScript, along with C#. They’re designed for the needs of game developers and game designers, and they’re tightly integrated in the engine and the editor." +msgid "That is also partly why Godot offers its own programming languages GDscript and VisualScript, along with C#. They're designed for the needs of game developers and game designers, and they're tightly integrated in the engine and the editor." msgstr "" #: ../../docs/getting_started/step_by_step/godot_design_philosophy.rst:83 @@ -113,7 +113,7 @@ msgid "*VisualScript is a node-based programming language that integrates well i msgstr "" #: ../../docs/getting_started/step_by_step/godot_design_philosophy.rst:97 -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." +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/step_by_step/godot_design_philosophy.rst:102 @@ -129,19 +129,19 @@ msgid "Open source" msgstr "" #: ../../docs/getting_started/step_by_step/godot_design_philosophy.rst:110 -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." +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/step_by_step/godot_design_philosophy.rst:115 -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." +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/step_by_step/godot_design_philosophy.rst:120 -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." +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/step_by_step/godot_design_philosophy.rst:126 -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." +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/step_by_step/godot_design_philosophy.rst:130 @@ -149,11 +149,11 @@ msgid "Community-driven" msgstr "" #: ../../docs/getting_started/step_by_step/godot_design_philosophy.rst:132 -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." +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/step_by_step/godot_design_philosophy.rst:137 -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." +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/step_by_step/godot_design_philosophy.rst:144 @@ -161,7 +161,7 @@ msgid "The Godot editor is a Godot game" msgstr "" #: ../../docs/getting_started/step_by_step/godot_design_philosophy.rst:146 -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.**" +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/step_by_step/godot_design_philosophy.rst:151 @@ -173,7 +173,7 @@ msgid "|image5|" msgstr "" #: ../../docs/getting_started/step_by_step/godot_design_philosophy.rst:156 -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.*" +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/step_by_step/godot_design_philosophy.rst:160 diff --git a/sphinx/templates/getting_started/step_by_step/index.pot b/sphinx/templates/getting_started/step_by_step/index.pot index f2bc9ea1b8..1f68079fde 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: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "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 bed6a2277f..b64e6f39e8 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: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -85,7 +85,7 @@ msgid "Multiple instances" msgstr "" #: ../../docs/getting_started/step_by_step/instancing.rst:80 -msgid "You can add as many instances as you like to a scene, either by using the \"Instance\" button again, or by clicking on the ball instance and pressing \"Duplicate\" (:kbd:`Ctrl + D`):" +msgid "You can add as many instances as you like to a scene, either by using the \"Instance\" button again, or by clicking on the ball instance and pressing :kbd:`Ctrl + D` (:kbd:`Cmd + D` on macOS) to duplicate it:" msgstr "" #: ../../docs/getting_started/step_by_step/instancing.rst:86 diff --git a/sphinx/templates/getting_started/step_by_step/instancing_continued.pot b/sphinx/templates/getting_started/step_by_step/instancing_continued.pot index e7baf8f594..ec9641e324 100644 --- a/sphinx/templates/getting_started/step_by_step/instancing_continued.pot +++ b/sphinx/templates/getting_started/step_by_step/instancing_continued.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "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/intro_to_the_editor_interface.pot b/sphinx/templates/getting_started/step_by_step/intro_to_the_editor_interface.pot index 99925e935d..8005e6773e 100644 --- a/sphinx/templates/getting_started/step_by_step/intro_to_the_editor_interface.pot +++ b/sphinx/templates/getting_started/step_by_step/intro_to_the_editor_interface.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,11 +17,11 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" #: ../../docs/getting_started/step_by_step/intro_to_the_editor_interface.rst:4 -msgid "Introduction to Godot’s editor" +msgid "Introduction to Godot's editor" msgstr "" #: ../../docs/getting_started/step_by_step/intro_to_the_editor_interface.rst:6 -msgid "This tutorial will run you through Godot’s interface. We’re going to look at the **Project Manager, docks, workspaces** and everything you need to know to get started with the engine." +msgid "This tutorial will run you through Godot's interface. We're going to look at the **Project Manager, docks, workspaces** and everything you need to know to get started with the engine." msgstr "" #: ../../docs/getting_started/step_by_step/intro_to_the_editor_interface.rst:11 @@ -29,7 +29,7 @@ msgid "Project manager" msgstr "" #: ../../docs/getting_started/step_by_step/intro_to_the_editor_interface.rst:13 -msgid "When you launch Godot, the first window you’ll see is the Project Manager. Since you have no projects there will be a popup asking if you want to open the asset library, just click cancel, we'll look at it later." +msgid "When you launch Godot, the first window you'll see is the Project Manager. Since you have no projects there will be a popup asking if you want to open the asset library, just click cancel, we'll look at it later." msgstr "" #: ../../docs/getting_started/step_by_step/intro_to_the_editor_interface.rst:19 @@ -37,7 +37,7 @@ msgid "Now you should see the project manager. It lets you create, remove, impor msgstr "" #: ../../docs/getting_started/step_by_step/intro_to_the_editor_interface.rst:24 -msgid "In the top-right corner you’ll find a drop-down menu to change the editor’s language." +msgid "In the top-right corner you'll find a drop-down menu to change the editor's language." msgstr "" #: ../../docs/getting_started/step_by_step/intro_to_the_editor_interface.rst:29 @@ -53,7 +53,7 @@ msgid "To create a new project, click the ``New Project`` button on the right. H msgstr "" #: ../../docs/getting_started/step_by_step/intro_to_the_editor_interface.rst:46 -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." +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/getting_started/step_by_step/intro_to_the_editor_interface.rst:51 @@ -69,7 +69,7 @@ msgid "Once you are done click ``Create & Edit``. Godot will create the project msgstr "" #: ../../docs/getting_started/step_by_step/intro_to_the_editor_interface.rst:64 -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." +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/getting_started/step_by_step/intro_to_the_editor_interface.rst:69 @@ -81,11 +81,11 @@ msgid "When the folder path is correct, you'll see a green checkmark." msgstr "" #: ../../docs/getting_started/step_by_step/intro_to_the_editor_interface.rst:80 -msgid "Your first look at Godot’s editor" +msgid "Your first look at Godot's editor" msgstr "" #: ../../docs/getting_started/step_by_step/intro_to_the_editor_interface.rst:82 -msgid "Welcome to Godot! With your project open, you should see the editor’s interface with menus along the top of the interface and docks along the far extremes of the interface on either side of the viewport." +msgid "Welcome to Godot! With your project open, you should see the editor's interface with menus along the top of the interface and docks along the far extremes of the interface on either side of the viewport." msgstr "" #: ../../docs/getting_started/step_by_step/intro_to_the_editor_interface.rst:88 @@ -93,19 +93,19 @@ msgid "At the top, from left to right, you can see the **main menus**, the **wor msgstr "" #: ../../docs/getting_started/step_by_step/intro_to_the_editor_interface.rst:91 -msgid "The **FileSystem dock** is where you’ll manage your project files and assets." +msgid "The **FileSystem dock** is where you'll manage your project files and assets." msgstr "" #: ../../docs/getting_started/step_by_step/intro_to_the_editor_interface.rst:95 -msgid "The **Scene dock** lists the active scene’s content and the **Inspector** allows for the management of the properties of a scene's content." +msgid "The **Scene dock** lists the active scene's content and the **Inspector** allows for the management of the properties of a scene's content." msgstr "" #: ../../docs/getting_started/step_by_step/intro_to_the_editor_interface.rst:100 -msgid "In the center, you have the **Toolbar** at the top, where you’ll find tools to move, scale or lock your scene’s objects. It changes as you jump to different workspaces." +msgid "In the center, you have the **Toolbar** at the top, where you'll find tools to move, scale or lock your scene's objects. It changes as you jump to different workspaces." msgstr "" #: ../../docs/getting_started/step_by_step/intro_to_the_editor_interface.rst:106 -msgid "The **Bottom Panel** is the host for the debug console, the animation editor, the audio mixer… They are wide and can take precious space. That’s why they’re folded by default." +msgid "The **Bottom Panel** is the host for the debug console, the animation editor, the audio mixer… They are wide and can take precious space. That's why they're folded by default." msgstr "" #: ../../docs/getting_started/step_by_step/intro_to_the_editor_interface.rst:113 @@ -117,7 +117,7 @@ msgid "You can see four workspace buttons at the top: 2D, 3D, Script and AssetLi msgstr "" #: ../../docs/getting_started/step_by_step/intro_to_the_editor_interface.rst:118 -msgid "You’ll use the **2D workspace** for all types of games. In addition to 2D games, the 2D workspace is where you'll build your interfaces. Press :kbd:`F1` (or :kbd:`Alt + 1` on macOS) to access it." +msgid "You'll use the **2D workspace** for all types of games. In addition to 2D games, the 2D workspace is where you'll build your interfaces. Press :kbd:`F1` (or :kbd:`Alt + 1` on macOS) to access it." msgstr "" #: ../../docs/getting_started/step_by_step/intro_to_the_editor_interface.rst:124 @@ -137,30 +137,42 @@ msgid "The **Script** workspace is a complete code editor with a debugger, rich msgstr "" #: ../../docs/getting_started/step_by_step/intro_to_the_editor_interface.rst:142 -msgid "Finally the **AssetLib** is a library of Free add-ons, scripts and assets to use in your projects." -msgstr "" - -#: ../../docs/getting_started/step_by_step/intro_to_the_editor_interface.rst:146 -msgid "Modify the interface" +msgid "To search for information about a class, method, property, constant, or signal in the engine while you are writing a script, press the \"Search Help\" button at the top right of the Script workspace." msgstr "" #: ../../docs/getting_started/step_by_step/intro_to_the_editor_interface.rst:148 -msgid "Godot’s interface lives in a single window. You cannot split it across multiple screens although you can work with an external code editor like Atom or Visual Studio Code for instance." +msgid "A new window will pop up. Search for the item that you want to find information about." msgstr "" #: ../../docs/getting_started/step_by_step/intro_to_the_editor_interface.rst:153 +msgid "Click on the item you are looking for and press open. The documentation for the item will be displayed in the script workspace." +msgstr "" + +#: ../../docs/getting_started/step_by_step/intro_to_the_editor_interface.rst:158 +msgid "Finally, the **AssetLib** is a library of free and open source add-ons, scripts and assets to use in your projects." +msgstr "" + +#: ../../docs/getting_started/step_by_step/intro_to_the_editor_interface.rst:162 +msgid "Modify the interface" +msgstr "" + +#: ../../docs/getting_started/step_by_step/intro_to_the_editor_interface.rst:164 +msgid "Godot's interface lives in a single window. You cannot split it across multiple screens although you can work with an external code editor like Atom or Visual Studio Code for instance." +msgstr "" + +#: ../../docs/getting_started/step_by_step/intro_to_the_editor_interface.rst:169 msgid "Move and resize docks" msgstr "" -#: ../../docs/getting_started/step_by_step/intro_to_the_editor_interface.rst:155 +#: ../../docs/getting_started/step_by_step/intro_to_the_editor_interface.rst:171 msgid "Click and drag on the edge of any dock or panel to resize it horizontally or vertically." msgstr "" -#: ../../docs/getting_started/step_by_step/intro_to_the_editor_interface.rst:160 +#: ../../docs/getting_started/step_by_step/intro_to_the_editor_interface.rst:176 msgid "Click the three-dotted icon at the top of any dock to change its location." msgstr "" -#: ../../docs/getting_started/step_by_step/intro_to_the_editor_interface.rst:165 +#: ../../docs/getting_started/step_by_step/intro_to_the_editor_interface.rst:181 msgid "Go to the ``Editor`` menu and ``Editor Settings`` to fine-tune the look and feel of the editor." msgstr "" diff --git a/sphinx/templates/getting_started/step_by_step/resources.pot b/sphinx/templates/getting_started/step_by_step/resources.pot index 6d1b9694bd..fa26ae79fc 100644 --- a/sphinx/templates/getting_started/step_by_step/resources.pot +++ b/sphinx/templates/getting_started/step_by_step/resources.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "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/scene_tree.pot b/sphinx/templates/getting_started/step_by_step/scene_tree.pot index e9566f891a..098dea480b 100644 --- a/sphinx/templates/getting_started/step_by_step/scene_tree.pot +++ b/sphinx/templates/getting_started/step_by_step/scene_tree.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "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/scenes_and_nodes.pot b/sphinx/templates/getting_started/step_by_step/scenes_and_nodes.pot index 5a856e542b..cbea3afba0 100644 --- a/sphinx/templates/getting_started/step_by_step/scenes_and_nodes.pot +++ b/sphinx/templates/getting_started/step_by_step/scenes_and_nodes.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/sphinx/templates/getting_started/step_by_step/scripting.pot b/sphinx/templates/getting_started/step_by_step/scripting.pot index ab96cf738c..3081be8b51 100644 --- a/sphinx/templates/getting_started/step_by_step/scripting.pot +++ b/sphinx/templates/getting_started/step_by_step/scripting.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -121,7 +121,7 @@ msgid "Any C++ version can be used, and mixing compiler brands and versions for msgstr "" #: ../../docs/getting_started/step_by_step/scripting.rst:81 -msgid "This language is the best choice for performance and does not need to be used throughout an entire game, as other parts can be written in GDScript or Visual Script. However the API is clear and easy to use as it resembles, mostly, Godot's actual C++ API." +msgid "This language is the best choice for performance and does not need to be used throughout an entire game, as other parts can be written in GDScript or Visual Script. However, the API is clear and easy to use as it resembles, mostly, Godot's actual C++ API." msgstr "" #: ../../docs/getting_started/step_by_step/scripting.rst:86 diff --git a/sphinx/templates/getting_started/step_by_step/scripting_continued.pot b/sphinx/templates/getting_started/step_by_step/scripting_continued.pot index c920fdd3a4..7c735650ea 100644 --- a/sphinx/templates/getting_started/step_by_step/scripting_continued.pot +++ b/sphinx/templates/getting_started/step_by_step/scripting_continued.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\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 "It's important to bear in mind that the frequency with which ``_process() msgstr "" #: ../../docs/getting_started/step_by_step/scripting_continued.rst:40 -msgid "To help manage this variability the ``delta`` parameter contains the time elapsed in seconds, as a floating point, since the previous call to ``_process()``." +msgid "To help manage this variability, the ``delta`` parameter contains the time elapsed in seconds as a floating-point number since the previous call to ``_process()``." msgstr "" #: ../../docs/getting_started/step_by_step/scripting_continued.rst:43 @@ -53,7 +53,7 @@ msgid "This parameter can be used to make sure things always take the same amoun msgstr "" #: ../../docs/getting_started/step_by_step/scripting_continued.rst:46 -msgid "For example, movement is often multiplied with a time delta to make movement speed both constant and independent from the frame rate." +msgid "For example, movement is often multiplied with a time delta to make movement speed both constant and independent of the frame rate." msgstr "" #: ../../docs/getting_started/step_by_step/scripting_continued.rst:49 diff --git a/sphinx/templates/getting_started/step_by_step/signals.pot b/sphinx/templates/getting_started/step_by_step/signals.pot index 980ae77f79..d3e0361179 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: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -16,139 +16,143 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: ../../docs/getting_started/step_by_step/signals.rst:4 -msgid "Signals" +#: ../../docs/getting_started/step_by_step/signals.rst:1 +msgid "Signal" msgstr "" #: ../../docs/getting_started/step_by_step/signals.rst:7 +msgid "Signals" +msgstr "" + +#: ../../docs/getting_started/step_by_step/signals.rst:10 msgid "Introduction" msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:9 +#: ../../docs/getting_started/step_by_step/signals.rst:12 msgid "Signals are Godot's version of the *observer* pattern. They allow a node to send out a message that other nodes can listen for and respond to. For example, rather than continuously checking a button to see if it's being pressed, the button can emit a signal when it's pressed." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:14 -msgid "You can read more about the observer pattern here: http://gameprogrammingpatterns.com/observer.html" +#: ../../docs/getting_started/step_by_step/signals.rst:17 +msgid "You can read more about the observer pattern here: https://gameprogrammingpatterns.com/observer.html" msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:16 +#: ../../docs/getting_started/step_by_step/signals.rst:19 msgid "Signals are a way to *decouple* your game objects, which leads to better organized and more manageable code. Instead of forcing game objects to expect other objects to always be present, they can instead emit signals that all interested objects can subscribe to and respond to." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:21 +#: ../../docs/getting_started/step_by_step/signals.rst:24 msgid "Below you can see some examples of how you can use signals in your own projects." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:24 +#: ../../docs/getting_started/step_by_step/signals.rst:27 msgid "Timer example" msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:26 +#: ../../docs/getting_started/step_by_step/signals.rst:29 msgid "To see how signals work, let's try using a :ref:`Timer ` node. Create a new scene with a Node2D and two children: a Timer and a :ref:`Sprite `. In the Scene dock, rename Node2D to TimerExample." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:30 +#: ../../docs/getting_started/step_by_step/signals.rst:33 msgid "For the Sprite's texture, you can use the Godot icon, or any other image you like. Do so by selecting ``Load`` in the Sprite's Texture attribute drop-down menu. Attach a script to the root node, but don't add any code to it yet." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:34 +#: ../../docs/getting_started/step_by_step/signals.rst:37 msgid "Your scene tree should look like this:" msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:38 +#: ../../docs/getting_started/step_by_step/signals.rst:41 msgid "In the Timer node's properties, check the \"On\" box next to *Autostart*. This will cause the timer to start automatically when you run the scene. You can leave the *Wait Time* at 1 second." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:42 +#: ../../docs/getting_started/step_by_step/signals.rst:45 msgid "Next to the \"Inspector\" tab is a tab labeled \"Node\". Click on this tab and you'll see all of the signals that the selected node can emit. In the case of the Timer node, the one we're concerned with is \"timeout\". This signal is emitted whenever the Timer reaches ``0``." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:49 +#: ../../docs/getting_started/step_by_step/signals.rst:52 msgid "Click on the \"timeout()\" signal and click \"Connect...\" at the bottom of the signals panel. You'll see the following window, where you can define how you want to connect the signal:" msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:55 +#: ../../docs/getting_started/step_by_step/signals.rst:58 msgid "On the left side, you'll see the nodes in your scene and can select the node that you want to \"listen\" for the signal. Note that the Timer node is blue, this is a visual indication that it's the node that is emitting the signal. Select the root node." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:60 +#: ../../docs/getting_started/step_by_step/signals.rst:63 msgid "The target node *must* have a script attached or you'll receive an error message." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:63 +#: ../../docs/getting_started/step_by_step/signals.rst:66 msgid "On the right side, you can bind an arbitrary number of arguments of (possibly) different types. This can be useful when you have more than one signal connected to the same method, as each signal propagation will result in different values for those extra call arguments." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:67 +#: ../../docs/getting_started/step_by_step/signals.rst:70 msgid "On the bottom of the window is a field labeled \"Receiver Method\". This is the name of the function in the target node's script that you want to use. By default, Godot will create this function using the naming convention ``_on__`` but you can change it if you wish." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:72 +#: ../../docs/getting_started/step_by_step/signals.rst:75 msgid "Click \"Connect\" and you'll see that the function has been created in the script:" msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:92 +#: ../../docs/getting_started/step_by_step/signals.rst:96 msgid "Now we can replace the placeholder code with whatever code we want to run when the signal is received. Let's make the Sprite blink:" msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:116 +#: ../../docs/getting_started/step_by_step/signals.rst:121 msgid "Run the scene and you'll see the Sprite blinking on and off every second. You can change the Timer's *Wait Time* property to alter this." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:120 +#: ../../docs/getting_started/step_by_step/signals.rst:125 msgid "Connecting signals in code" msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:122 +#: ../../docs/getting_started/step_by_step/signals.rst:127 msgid "You can also make the signal connection in code rather than with the editor. This is usually necessary when you're instancing nodes via code and so you can't use the editor to make the connection." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:126 +#: ../../docs/getting_started/step_by_step/signals.rst:131 msgid "First, disconnect the signal by selecting the connection in the Timer's \"Node\" tab and clicking disconnect." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:131 +#: ../../docs/getting_started/step_by_step/signals.rst:136 msgid "To make the connection in code, we can use the ``connect`` function. We'll put it in ``_ready()`` so that the connection will be made on run. The syntax of the function is ``.connect(, , )``. Here is the code for our Timer connection:" msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:164 +#: ../../docs/getting_started/step_by_step/signals.rst:171 msgid "Custom signals" msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:166 +#: ../../docs/getting_started/step_by_step/signals.rst:173 msgid "You can also declare your own custom signals in Godot:" msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:184 +#: ../../docs/getting_started/step_by_step/signals.rst:192 msgid "Once declared, your custom signals will appear in the Inspector and can be connected in the same way as a node's built-in signals." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:187 +#: ../../docs/getting_started/step_by_step/signals.rst:195 msgid "To emit a signal via code, use the ``emit_signal`` function:" msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:212 +#: ../../docs/getting_started/step_by_step/signals.rst:222 msgid "A signal can also optionally declare one or more arguments. Specify the argument names between parentheses:" msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:232 +#: ../../docs/getting_started/step_by_step/signals.rst:243 msgid "The signal arguments show up in the editor's node dock, and Godot can use them to generate callback functions for you. However, you can still emit any number of arguments when you emit signals. So it's up to you to emit the correct values." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:237 +#: ../../docs/getting_started/step_by_step/signals.rst:248 msgid "To pass values, add them as the second argument to the ``emit_signal`` function:" msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:263 +#: ../../docs/getting_started/step_by_step/signals.rst:276 msgid "Conclusion" msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:265 +#: ../../docs/getting_started/step_by_step/signals.rst:278 msgid "Many of Godot's built-in node types provide signals you can use to detect events. For example, an :ref:`Area2D ` representing a coin emits a ``body_entered`` signal whenever the player's physics body enters its collision shape, allowing you to know when the player collected it." msgstr "" -#: ../../docs/getting_started/step_by_step/signals.rst:270 +#: ../../docs/getting_started/step_by_step/signals.rst:283 msgid "In the next section, :ref:`doc_your_first_game`, you'll build a complete game including several uses of signals to connect different game components." msgstr "" diff --git a/sphinx/templates/getting_started/step_by_step/singletons_autoload.pot b/sphinx/templates/getting_started/step_by_step/singletons_autoload.pot index 482c7e4dc1..35fd44c306 100644 --- a/sphinx/templates/getting_started/step_by_step/singletons_autoload.pot +++ b/sphinx/templates/getting_started/step_by_step/singletons_autoload.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "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/splash_screen.pot b/sphinx/templates/getting_started/step_by_step/splash_screen.pot index 4ee5eeaf64..f9d8117b67 100644 --- a/sphinx/templates/getting_started/step_by_step/splash_screen.pot +++ b/sphinx/templates/getting_started/step_by_step/splash_screen.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "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/ui_code_a_life_bar.pot b/sphinx/templates/getting_started/step_by_step/ui_code_a_life_bar.pot index 8a590afe67..18dddfda4d 100644 --- a/sphinx/templates/getting_started/step_by_step/ui_code_a_life_bar.pot +++ b/sphinx/templates/getting_started/step_by_step/ui_code_a_life_bar.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -117,7 +117,7 @@ msgid "``tween`` is a component-style node that can animate and control any valu msgstr "" #: ../../docs/getting_started/step_by_step/ui_code_a_life_bar.rst:113 -msgid "The project uses a simple organisation that works for game jams and tiny games." +msgid "The project uses a simple organization that works for game jams and tiny games." msgstr "" #: ../../docs/getting_started/step_by_step/ui_code_a_life_bar.rst:115 @@ -193,7 +193,7 @@ msgid "On a given frame you may look at another node's property *before* it was msgstr "" #: ../../docs/getting_started/step_by_step/ui_code_a_life_bar.rst:215 -msgid "The Observer pattern, that signals derive from, still adds a bit of coupling between node branches. But it's generally lighter and more secure than accessing nodes directly to communicate between two separate classes. It can be okay for a parent node to get values from its children. But you'll want to favor signals if you're working with two separate branches. Read Game Programming Patterns for more information on the `Observer pattern `_. The `full book `_ is available online for free." +msgid "The Observer pattern, that signals derive from, still adds a bit of coupling between node branches. But it's generally lighter and more secure than accessing nodes directly to communicate between two separate classes. It can be okay for a parent node to get values from its children. But you'll want to favor signals if you're working with two separate branches. Read Game Programming Patterns for more information on the `Observer pattern `_. The `full book `_ is available online for free." msgstr "" #: ../../docs/getting_started/step_by_step/ui_code_a_life_bar.rst:219 diff --git a/sphinx/templates/getting_started/step_by_step/ui_game_user_interface.pot b/sphinx/templates/getting_started/step_by_step/ui_game_user_interface.pot index 363b3898ea..a5fcfb0410 100644 --- a/sphinx/templates/getting_started/step_by_step/ui_game_user_interface.pot +++ b/sphinx/templates/getting_started/step_by_step/ui_game_user_interface.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -50,7 +50,7 @@ msgid "Download the project files: :download:`ui_gui_design.zip `_." +msgid "You can watch this tutorial as a `video on YouTube `_." msgstr "" #: ../../docs/getting_started/step_by_step/ui_game_user_interface.rst:28 @@ -279,7 +279,7 @@ msgid "The nodes anchor to the entire Background, but their position is off" msgstr "" #: ../../docs/getting_started/step_by_step/ui_game_user_interface.rst:287 -msgid "Let's change the ``Number``'s align properties to move it to the left and center of the ``Background``. Select the ``Number`` node, change its ``Align`` property to left and the ``Valign`` property to centre. Then resize its left edge a little bit to add some padding between the left edge of the ``Background`` and the text." +msgid "Let's change the ``Number``'s align properties to move it to the left and center of the ``Background``. Select the ``Number`` node, change its ``Align`` property to left and the ``Valign`` property to centre. Then resize its left edge a bit to add some padding between the left edge of the ``Background`` and the text." msgstr "" #: ../../docs/getting_started/step_by_step/ui_game_user_interface.rst:295 @@ -455,7 +455,7 @@ msgid "The bomb counter is the same as the original Counter scene" msgstr "" #: ../../docs/getting_started/step_by_step/ui_game_user_interface.rst:531 -msgid "Go to ``Scene -> New Inherited Scene`` again and select ``Counter.tscn`` once more. Rename the root node ``EmeraldCounter`` and save the scene as ``EmeraldCounter.tscn``. For this one, we mainly need to replace the bomb icon with the emerald icon. In the FileSystem tab, drag the ``emeralds_icon.png`` onto the ``Icon`` node's ``Texture`` slot. ``Icon`` already anchors to the right edge of the ``Background`` node so we can change its position and it will scale and reposition with the ``EmeraldCounter`` container. Shift the emerald icon a little bit to the right and down. Use the Arrow Keys on the keyboard to nudge its position. Save, and we're done with all the UI elements." +msgid "Go to ``Scene -> New Inherited Scene`` again and select ``Counter.tscn`` once more. Rename the root node ``EmeraldCounter`` and save the scene as ``EmeraldCounter.tscn``. For this one, we mainly need to replace the bomb icon with the emerald icon. In the FileSystem tab, drag the ``emeralds_icon.png`` onto the ``Icon`` node's ``Texture`` slot. ``Icon`` already anchors to the right edge of the ``Background`` node so we can change its position and it will scale and reposition with the ``EmeraldCounter`` container. Shift the emerald icon a bit to the right and down. Use the Arrow Keys on the keyboard to nudge its position. Save, and we're done with all the UI elements." msgstr "" #: ../../docs/getting_started/step_by_step/ui_game_user_interface.rst:544 @@ -527,6 +527,6 @@ msgid "Congratulations for getting to the end of this long tutorial. You can fin msgstr "" #: ../../docs/getting_started/step_by_step/ui_game_user_interface.rst:625 -msgid "**A final note about Responsive Design**. If you resize the GUI, you'll see the nodes move, but the textures and text won't scale. The GUI also has a minimum size, based on the textures inside of it. In games, we don’t need the interface to be as flexible as that of a website. You almost never want to support both landscape and portrait screen orientations. It’s one or the other. In landscape orientation, the most common ratios range from 4:3 to 16:9. They are close to one another. That's why it’s enough for the GUI elements to only move horizontally when we change the window size." +msgid "**A final note about Responsive Design**. If you resize the GUI, you'll see the nodes move, but the textures and text won't scale. The GUI also has a minimum size, based on the textures inside of it. In games, we don't need the interface to be as flexible as that of a website. You almost never want to support both landscape and portrait screen orientations. It's one or the other. In landscape orientation, the most common ratios range from 4:3 to 16:9. They are close to one another. That's why it's enough for the GUI elements to only move horizontally when we change the window size." msgstr "" diff --git a/sphinx/templates/getting_started/step_by_step/ui_introduction_to_the_ui_system.pot b/sphinx/templates/getting_started/step_by_step/ui_introduction_to_the_ui_system.pot index 8dd1184c4b..f1f5d5f5b2 100644 --- a/sphinx/templates/getting_started/step_by_step/ui_introduction_to_the_ui_system.pot +++ b/sphinx/templates/getting_started/step_by_step/ui_introduction_to_the_ui_system.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "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/ui_main_menu.pot b/sphinx/templates/getting_started/step_by_step/ui_main_menu.pot index 3fc921a923..b6490b4cda 100644 --- a/sphinx/templates/getting_started/step_by_step/ui_main_menu.pot +++ b/sphinx/templates/getting_started/step_by_step/ui_main_menu.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\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 "Download the project files: :download:`ui_main_menu_design.zip \n" "Language-Team: LANGUAGE \n" @@ -193,7 +193,7 @@ msgid "You can detect whether a key is pressed using ``Input.is_action_pressed() msgstr "" #: ../../docs/getting_started/step_by_step/your_first_game.rst:290 -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* than if it just moved horizontally." +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* than if it just moved horizontally." msgstr "" #: ../../docs/getting_started/step_by_step/your_first_game.rst:297 @@ -244,524 +244,524 @@ msgstr "" msgid "The boolean assignments in the code above are a common shorthand for programmers. Consider this code versus the shortened boolean assignment above:" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:405 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:409 msgid "Play the scene again and check that the animations are correct in each of the directions. 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/step_by_step/your_first_game.rst:420 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:424 msgid "Preparing for collisions" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:422 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:426 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/step_by_step/your_first_game.rst:426 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:430 msgid "Add the following at the top of the script, after ``extends Area2d``:" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:440 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:444 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/step_by_step/your_first_game.rst:447 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:451 msgid "Notice our custom \"hit\" signal is there as well! Since our enemies are going to be ``RigidBody2D`` nodes, we want the ``body_entered( Object body )`` signal; this will be emitted when a body contacts the player. Click \"Connect..\" and then \"Connect\" again on the \"Connecting Signal\" window. We don't need to change any of these settings - Godot will automatically create a function in your player's script. This function will be called whenever the signal is emitted - it *handles* the signal." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:456 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:460 msgid "When connecting a signal, instead of having Godot create a function for you, you can also give the name of an existing function that you want to link the signal to." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:460 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:464 msgid "Add this code to the function:" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:479 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:483 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/step_by_step/your_first_game.rst:483 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:487 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()`` allows us to have Godot wait to disable the shape until it's safe to do so." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:488 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:492 msgid "The last piece for our player is to add a function we can call to reset the player when starting a new game." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:509 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:513 msgid "Enemy scene" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:511 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:515 msgid "Now it's time to make the enemies our player will have to dodge. Their behavior will not be very complex: mobs will spawn randomly at the edges of the screen and move in a random direction in a straight line, then despawn when they go offscreen." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:516 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:520 msgid "We will build this into a ``Mob`` scene, which we can then *instance* to create any number of independent mobs in the game." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:520 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:524 msgid "Node setup" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:522 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:526 msgid "Click Scene -> New Scene and we'll create the Mob." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:524 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:528 msgid "The Mob scene will use the following nodes:" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:526 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:530 msgid ":ref:`RigidBody2D ` (named ``Mob``)" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:528 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:532 msgid ":ref:`AnimatedSprite `" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:529 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:533 msgid ":ref:`CollisionShape2D `" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:530 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:534 msgid ":ref:`VisibilityNotifier2D ` (named ``Visibility``)" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:532 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:536 msgid "Don't forget to set the children so they can't be selected, like you did with the Player scene." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:535 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:539 msgid "In the :ref:`RigidBody2D ` properties, set ``Gravity Scale`` to ``0``, so the mob will not fall downward. In addition, under the ``PhysicsBody2D`` section, click the ``Mask`` property and uncheck the first box. This will ensure the mobs do not collide with each other." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:542 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:546 msgid "Set up the :ref:`AnimatedSprite ` like you did for the player. This time, we have 3 animations: ``fly``, ``swim``, and ``walk``. Set the ``Playing`` property in the Inspector to \"On\" and adjust the \"Speed (FPS)\" setting as shown below. We'll select one of these animations randomly so that the mobs will have some variety." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:549 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:553 msgid "``fly`` should be set to 3 FPS, with ``swim`` and ``walk`` set to 4 FPS." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:551 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:555 msgid "Like the player images, these mob images need to be scaled down. Set the ``AnimatedSprite``'s ``Scale`` property to ``(0.75, 0.75)``." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:554 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:558 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 ``Node2D``." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:559 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:563 msgid "Enemy script" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:561 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:565 msgid "Add a script to the ``Mob`` and add the following member variables:" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:587 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:591 msgid "When we spawn a mob, we'll pick a random value between ``min_speed`` and ``max_speed`` for how fast each mob will move (it would be boring if they were all moving at the same speed). We also have an array containing the names of the three animations, which we'll use to select a random one. Make sure you've spelled these the same in the script and in the SpriteFrames resource." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:593 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:597 msgid "Now let's look at the rest of the script. In ``_ready()`` we randomly choose one of the three animation types:" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:612 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:616 msgid "You must use ``randomize()`` if you want your sequence of \"random\" numbers to be different every time you run the scene. We're going to use ``randomize()`` in our ``Main`` scene, so we won't need it here. ``randi() % n`` is the standard way to get a random integer between ``0`` and ``n-1``." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:618 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:622 msgid "The last piece is to make the mobs delete themselves when they leave the screen. Connect the ``screen_exited()`` signal of the ``Visibility`` node and add this code:" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:635 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:639 msgid "This completes the `Mob` scene." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:638 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:642 msgid "Main scene" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:640 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:644 msgid "Now it's time to bring it all together. Create a new scene and add a :ref:`Node ` named ``Main``. Click the \"Instance\" button and select your saved ``Player.tscn``." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:646 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:650 msgid "See :ref:`doc_instancing` to learn more about instancing." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:648 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:652 msgid "Now, add the following nodes as children of ``Main``, and name them as shown (values are in seconds):" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:651 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:655 msgid ":ref:`Timer ` (named ``MobTimer``) - to control how often mobs spawn" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:652 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:656 msgid ":ref:`Timer ` (named ``ScoreTimer``) - to increment the score every second" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:653 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:657 msgid ":ref:`Timer ` (named ``StartTimer``) - to give a delay before starting" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:654 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:658 msgid ":ref:`Position2D ` (named ``StartPosition``) - to indicate the player's start position" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:656 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:660 msgid "Set the ``Wait Time`` property of each of the ``Timer`` nodes as follows:" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:659 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:663 msgid "``MobTimer``: ``0.5``" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:660 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:664 msgid "``ScoreTimer``: ``1``" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:661 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:665 msgid "``StartTimer``: ``2``" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:663 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:667 msgid "In addition, set the ``One Shot`` property of ``StartTimer`` to \"On\" and set ``Position`` of the ``StartPosition`` node to ``(240, 450)``." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:667 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:671 msgid "Spawning mobs" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:669 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:673 msgid "The Main node will be spawning new mobs, and we want them to appear at a random location on the edge of the screen. Add a :ref:`Path2D ` node named ``MobPath`` as a child of ``Main``. When you select ``Path2D``, you will see some new buttons at the top of the editor:" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:676 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:680 msgid "Select the middle one (\"Add Point\") and draw the path by clicking to add the points at the corners shown. To have the points snap to the grid, make sure \"Use Grid Snap\" is selected. This option can be found to the left of the \"Lock\" button, appearing as a magnet next to some intersecting lines." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:683 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:687 msgid "Draw the path in *clockwise* order, or your mobs will spawn pointing *outwards* instead of *inwards*!" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:686 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:690 msgid "After placing point ``4`` in the image, click the \"Close Curve\" button and your curve will be complete." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:689 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:693 msgid "Now that the path is defined, add a :ref:`PathFollow2D ` node as a child of ``MobPath`` and name it ``MobSpawnLocation``. This node will automatically rotate and follow the path as it moves, so we can use it to select a random position and direction along the path." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:695 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:699 msgid "Main script" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:697 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:701 msgid "Add a script to ``Main``. At the top of the script, we use ``export (PackedScene)`` to allow us to choose the Mob scene we want to instance." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:737 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:741 msgid "Drag ``Mob.tscn`` from the \"FileSystem\" panel and drop it in the ``Mob`` property under the Script Variables of the ``Main`` node." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:740 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:744 msgid "Next, click on the Player and connect the ``hit`` signal. 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 \"Connecting Signal\" window. Add the following code, as well as a ``new_game`` function to set everything up for a new game:" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:777 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:781 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/step_by_step/your_first_game.rst:804 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:808 msgid "In ``_on_MobTimer_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." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:810 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:814 msgid "Note that a new instance must be added to the scene using ``add_child()``." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:859 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:863 msgid "In functions requiring angles, GDScript uses *radians*, not degrees. If you're more comfortable working with degrees, you'll need to use the ``deg2rad()`` and ``rad2deg()`` functions to convert between the two." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:865 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:869 msgid "HUD" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:867 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:871 msgid "The final piece our game needs is a UI: an interface to display things like score, a \"game over\" message, and a restart button. 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." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:873 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:877 msgid "The :ref:`CanvasLayer ` node lets us draw our UI elements on a layer above the rest of the game, so that the information it displays isn't covered up by any game elements like the player or mobs." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:877 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:881 msgid "The HUD displays the following information:" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:879 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:883 msgid "Score, changed by ``ScoreTimer``." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:880 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:884 msgid "A message, such as \"Game Over\" or \"Get Ready!\"" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:881 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:885 msgid "A \"Start\" button to begin the game." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:883 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:887 msgid "The basic node for UI elements is :ref:`Control `. To create our UI, we'll use two types of :ref:`Control ` nodes: :ref:`Label ` and :ref:`Button `." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:887 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:891 msgid "Create the following as children of the ``HUD`` node:" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:889 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:893 msgid ":ref:`Label ` named ``ScoreLabel``." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:890 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:894 msgid ":ref:`Label ` named ``MessageLabel``." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:891 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:895 msgid ":ref:`Button ` named ``StartButton``." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:892 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:896 msgid ":ref:`Timer ` named ``MessageTimer``." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:894 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:898 msgid "Click on the ``ScoreLabel`` and type a number into the *Text* field in the Inspector. The default font for ``Control`` nodes is small and doesn't scale well. There is a font file included in the game assets called \"Xolonium-Regular.ttf\". To use this font, do the following for each of the three ``Control`` nodes:" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:900 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:904 msgid "Under \"Custom Fonts\", choose \"New DynamicFont\"" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:904 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:908 msgid "Click on the \"DynamicFont\" you added, and under \"Font/Font Data\", choose \"Load\" and select the \"Xolonium-Regular.ttf\" file. You must also set the font's ``Size``. A setting of ``64`` works well." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:910 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:914 msgid "**Anchors and Margins:** ``Control`` nodes have a position and size, but they also have anchors and margins. Anchors define the origin - the reference point for the edges of the node. Margins update automatically when you move or resize a control node. They represent the distance from the control node's edges to its anchor. See :ref:`doc_design_interfaces_with_the_control_nodes` for more details." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:917 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:921 msgid "Arrange the nodes as shown below. Click the \"Layout\" button to set a Control node's layout:" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:922 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:926 msgid "You can drag the nodes to place them manually, or for more precise placement, use the following settings:" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:926 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:930 msgid "ScoreLabel" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:928 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:932 msgid "*Text* : ``0``" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:929 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:933 msgid "*Layout* : \"Top Wide\"" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:930 -#: ../../docs/getting_started/step_by_step/your_first_game.rst:937 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:934 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:941 msgid "*Align* : \"Center\"" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:933 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:937 msgid "MessageLabel" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:935 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:939 msgid "*Text* : ``Dodge the Creeps!``" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:936 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:940 msgid "*Layout* : \"HCenter Wide\"" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:938 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:942 msgid "*Autowrap* : \"On\"" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:941 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:945 msgid "StartButton" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:943 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:947 msgid "*Text* : ``Start``" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:944 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:948 msgid "*Layout* : \"Center Bottom\"" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:945 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:949 msgid "*Margin* :" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:947 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:951 msgid "Top: ``-200``" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:948 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:952 msgid "Bottom: ``-100``" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:950 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:954 msgid "Now add this script to ``HUD``:" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:969 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:973 msgid "The ``start_game`` signal tells the ``Main`` node that the button has been pressed." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:991 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:995 msgid "This function is called when we want to display a message temporarily, such as \"Get Ready\". On the ``MessageTimer``, set the ``Wait Time`` to ``2`` and set the ``One Shot`` property to \"On\"." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1026 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1030 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/step_by_step/your_first_game.rst:1030 -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 delay, such as in the above code, where we want to wait a little bit of time before showing the \"Start\" button." +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1034 +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/step_by_step/your_first_game.rst:1048 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1052 msgid "This function is called by ``Main`` whenever the score changes." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1050 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1054 msgid "Connect the ``timeout()`` signal of ``MessageTimer`` and the ``pressed()`` signal of ``StartButton``." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1077 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1081 msgid "Connecting HUD to Main" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1079 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1083 msgid "Now that we're done creating the ``HUD`` scene, save it and go back to ``Main``. Instance the ``HUD`` scene in ``Main`` like you did the ``Player`` scene, and place it at the bottom of the tree. The full tree should look like this, so make sure you didn't miss anything:" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1086 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1090 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/step_by_step/your_first_game.rst:1089 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1093 msgid "In the Node tab, connect the HUD's ``start_game`` signal to the ``new_game()`` function of the Main node." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1092 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1096 msgid "In ``new_game()``, update the score display and show the \"Get Ready\" message:" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1107 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1111 msgid "In ``game_over()`` we need to call the corresponding ``HUD`` function:" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1118 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1122 msgid "Finally, add this to ``_on_ScoreTimer_timeout()`` to keep the display in sync with the changing score:" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1130 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1134 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/step_by_step/your_first_game.rst:1134 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1138 msgid "Removing old creeps" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1136 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1140 msgid "If you play until \"Game Over\" and then start a new game the creeps from the previous game are still on screen. It would be better if they all disappeared at the start of a new game." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1140 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1144 msgid "We'll use the ``start_game`` signal that's already being emitted by the ``HUD`` node to remove the remaining creeps. We can't use the editor to connect the signal to the mobs in the way we need because there are no ``Mob`` nodes in the ``Main`` scene tree until we run the game. Instead we'll use code." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1145 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1149 msgid "Start by adding a new function to ``Mob.gd``. ``queue_free()`` will delete the current node at the end of the current frame." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1161 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1165 msgid "Then in ``Main.gd`` add a new line inside the ``_on_MobTimer_timeout()`` function, at the end." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1173 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1177 msgid "This line tells the new Mob node (referenced by the ``mob`` variable) to respond to any ``start_game`` signal emitted by the ``HUD`` node by running its ``_on_start_game()`` function." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1178 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1182 msgid "Finishing up" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1180 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1184 msgid "We have now completed all the functionality for our game. Below are some remaining steps to add a bit more \"juice\" to improve the game experience. Feel free to expand the gameplay with your own ideas." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1185 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1189 msgid "Background" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1187 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1191 msgid "The default gray background is not very appealing, so let's change its color. One way to do this is to use a :ref:`ColorRect ` node. Make it the first node under ``Main`` so that it will be drawn behind the other nodes. ``ColorRect`` only has one property: ``Color``. Choose a color you like and drag the size of the ``ColorRect`` so that it covers the screen." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1194 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1198 msgid "You could also add a background image, if you have one, by using a ``Sprite`` node." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1198 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1202 msgid "Sound effects" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1200 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1204 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." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1205 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1209 msgid "Add two :ref:`AudioStreamPlayer ` nodes as children of ``Main``. Name one of them ``Music`` and the other ``DeathSound``. On each one, click on the ``Stream`` property, select \"Load\", and choose the corresponding audio file." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1210 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1214 msgid "To play the music, add ``$Music.play()`` in the ``new_game()`` function and ``$Music.stop()`` in the ``game_over()`` function." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1213 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1217 msgid "Finally, add ``$DeathSound.play()`` in the ``game_over()`` function." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1216 -msgid "Keyboard Shortcut" -msgstr "" - -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1218 -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. One way to do this is using the \"Shortcut\" property of the ``Button`` node." +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1220 +msgid "Keyboard shortcut" msgstr "" #: ../../docs/getting_started/step_by_step/your_first_game.rst:1222 +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. One way to do this is using the \"Shortcut\" property of the ``Button`` node." +msgstr "" + +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1226 msgid "In the ``HUD`` scene, select the ``StartButton`` and find its *Shortcut* property in the Inspector. Select \"New Shortcut\" and click on the \"Shortcut\" item. A second *Shortcut* property will appear. Select \"New InputEventAction\" and click the new \"InputEvent\". Finally, in the *Action* property, type the name ``ui_select``. This is the default input event associated with the spacebar." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1230 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1234 msgid "Now when the start button appears, you can either click it or press :kbd:`Space` to start the game." msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1234 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1238 msgid "Project files" msgstr "" @@ -769,11 +769,11 @@ msgstr "" msgid "You can find a completed version of this project at these locations:" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1237 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1241 msgid "https://github.com/kidscancode/Godot3_dodge/releases" msgstr "" -#: ../../docs/getting_started/step_by_step/your_first_game.rst:1238 +#: ../../docs/getting_started/step_by_step/your_first_game.rst:1242 msgid "https://github.com/godotengine/godot-demo-projects" msgstr "" diff --git a/sphinx/templates/getting_started/workflow/assets/escn_exporter/animation.pot b/sphinx/templates/getting_started/workflow/assets/escn_exporter/animation.pot index 05b1acd324..db7d23e439 100644 --- a/sphinx/templates/getting_started/workflow/assets/escn_exporter/animation.pot +++ b/sphinx/templates/getting_started/workflow/assets/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: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -125,6 +125,6 @@ msgid "**Mode 'Animation as Action with Squash'**" msgstr "" #: ../../docs/getting_started/workflow/assets/escn_exporter/animation.rst:84 -msgid "This mode has very similar behaviour of mode 'Animation as Action', but it can generate fewer AnimationPlayers; objects in parent-children relationship would share their AnimationPlayer. It is useful when you have several rigs, and each Skeleton and Mesh has actions; then one rig would have just one AnimationPlayer." +msgid "This mode has very similar behavior of mode 'Animation as Action', but it can generate fewer AnimationPlayers; objects in parent-children relationship would share their AnimationPlayer. It is useful when you have several rigs, and each Skeleton and Mesh has actions; then one rig would have just one AnimationPlayer." msgstr "" diff --git a/sphinx/templates/getting_started/workflow/assets/escn_exporter/index.pot b/sphinx/templates/getting_started/workflow/assets/escn_exporter/index.pot index cc3148fed9..11898848cd 100644 --- a/sphinx/templates/getting_started/workflow/assets/escn_exporter/index.pot +++ b/sphinx/templates/getting_started/workflow/assets/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: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "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/workflow/assets/escn_exporter/lights.pot b/sphinx/templates/getting_started/workflow/assets/escn_exporter/lights.pot index fb7805277b..219a13fe8a 100644 --- a/sphinx/templates/getting_started/workflow/assets/escn_exporter/lights.pot +++ b/sphinx/templates/getting_started/workflow/assets/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: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "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/workflow/assets/escn_exporter/material.pot b/sphinx/templates/getting_started/workflow/assets/escn_exporter/material.pot index 7a26acc0b5..7f34d26336 100644 --- a/sphinx/templates/getting_started/workflow/assets/escn_exporter/material.pot +++ b/sphinx/templates/getting_started/workflow/assets/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: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "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/workflow/assets/escn_exporter/mesh.pot b/sphinx/templates/getting_started/workflow/assets/escn_exporter/mesh.pot index fce9b3e79a..ae05add92e 100644 --- a/sphinx/templates/getting_started/workflow/assets/escn_exporter/mesh.pot +++ b/sphinx/templates/getting_started/workflow/assets/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: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "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/workflow/assets/escn_exporter/physics.pot b/sphinx/templates/getting_started/workflow/assets/escn_exporter/physics.pot index 37ed5d97da..c4836e9b7c 100644 --- a/sphinx/templates/getting_started/workflow/assets/escn_exporter/physics.pot +++ b/sphinx/templates/getting_started/workflow/assets/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: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\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 "Collision geometry only" msgstr "" #: ../../docs/getting_started/workflow/assets/escn_exporter/physics.rst:49 -msgid "Frequently you want different geometry for your collision meshes and your graphical meshes, but by default the exporter will export a mesh along with the collision shape. To only export the collision shape, set the object's maximum draw type to Wire:" +msgid "Frequently you want different geometry for your collision meshes and your graphical meshes, but by default, the exporter will export a mesh along with the collision shape. To only export the collision shape, set the object's maximum draw type to Wire:" msgstr "" #: ../../docs/getting_started/workflow/assets/escn_exporter/physics.rst:56 diff --git a/sphinx/templates/getting_started/workflow/assets/escn_exporter/skeleton.pot b/sphinx/templates/getting_started/workflow/assets/escn_exporter/skeleton.pot index 7304e3f57c..92b33486fc 100644 --- a/sphinx/templates/getting_started/workflow/assets/escn_exporter/skeleton.pot +++ b/sphinx/templates/getting_started/workflow/assets/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: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "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/workflow/assets/import_process.pot b/sphinx/templates/getting_started/workflow/assets/import_process.pot index ad889b0a5c..2da1544463 100644 --- a/sphinx/templates/getting_started/workflow/assets/import_process.pot +++ b/sphinx/templates/getting_started/workflow/assets/import_process.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "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/workflow/assets/importing_audio_samples.pot b/sphinx/templates/getting_started/workflow/assets/importing_audio_samples.pot index 4e521ae30a..8b740b8319 100644 --- a/sphinx/templates/getting_started/workflow/assets/importing_audio_samples.pot +++ b/sphinx/templates/getting_started/workflow/assets/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: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "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/workflow/assets/importing_images.pot b/sphinx/templates/getting_started/workflow/assets/importing_images.pot index ca311cdba1..1f2f13aa8c 100644 --- a/sphinx/templates/getting_started/workflow/assets/importing_images.pot +++ b/sphinx/templates/getting_started/workflow/assets/importing_images.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "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/workflow/assets/importing_scenes.pot b/sphinx/templates/getting_started/workflow/assets/importing_scenes.pot index 3c396d3f13..37458d70a3 100644 --- a/sphinx/templates/getting_started/workflow/assets/importing_scenes.pot +++ b/sphinx/templates/getting_started/workflow/assets/importing_scenes.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\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 "ESCN, a Godot specific format that Blender can export with a plugin." msgstr "" #: ../../docs/getting_started/workflow/assets/importing_scenes.rst:20 -msgid "FBX, supported via the Open Asset Import library. However, FBX is proprietary so we recommend using other formats listed above, if suitable for your workflow." +msgid "FBX, supported via the Open Asset Import library. However, FBX is proprietary, so we recommend using other formats listed above, if suitable for your workflow." msgstr "" #: ../../docs/getting_started/workflow/assets/importing_scenes.rst:23 @@ -200,398 +200,398 @@ msgstr "" msgid "Create a script like this:" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:136 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:137 msgid "The ``post_import`` 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. It can be a different one." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:141 -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:160 -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:215 -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:307 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:142 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:161 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:216 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:308 msgid "Storage" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:143 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:144 msgid "By default, Godot imports a single scene. This option allows specifying that nodes below the root will each be a separate scene and instanced into the imported one." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:147 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:148 msgid "Of course, instancing such imported scenes in other places manually works, too." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:151 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:152 msgid "Materials" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:154 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:155 msgid "Location" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:156 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:157 msgid "Godot supports materials in meshes or nodes. By default, materials will be put on each node." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:162 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:163 msgid "Materials can be stored within the scene or in external files. By default, they are stored in external files so editing them is possible. This is because most 3D DCCs don't have the same material options as those present in Godot." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:166 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:167 msgid "When materials are built-in, they will be lost each time the source scene is modified and re-imported." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:170 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:171 msgid "Keep On Reimport" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:172 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:173 msgid "Once materials are edited to use Godot features, the importer will keep the edited ones and ignore the ones coming from the source scene. This option is only present if materials are saved as files." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:177 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:178 msgid "Meshes" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:180 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:181 msgid "Compress" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:182 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:183 msgid "Makes meshes use less precise numbers for multiple aspects of the mesh in order to save space." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:195 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:196 msgid "These are:" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:186 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:187 msgid "Transform Matrix (Location, rotation, and scale) : 32-bit float to 16-bit signed integer." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:187 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:188 msgid "Vertices : 32-bit float to 16-bit signed integer." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:188 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:189 msgid "Normals : 32-bit float to 32-bit unsigned integer." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:189 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:190 msgid "Tangents : 32-bit float to 32-bit unsigned integer." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:190 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:191 msgid "Vertex Colors : 32-bit float to 32-bit unsigned integer." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:191 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:192 msgid "UV : 32-bit float to 32-bit unsigned integer." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:192 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:193 msgid "UV2 : 32-bit float to 32-bit unsigned integer." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:193 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:194 msgid "Vertex weights : 32-bit float to 16-bit unsigned integer." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:194 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:195 msgid "Armature bones : 32-bit float to 16-bit unsigned integer." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:195 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:196 msgid "Array index : 32-bit or 16-bit unsigned integer based on how many elements there are." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:199 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:200 msgid "Additional info:" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:198 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:199 msgid "UV2 = The second UV channel for detail textures and baked lightmap textures." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:199 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:200 msgid "Array index = An array of numbers that number each element of the arrays above; i.e. they number the vertices and normals." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:201 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:202 msgid "In some cases, this might lead to loss of precision, so disabling this option may be needed. For instance, if a mesh is very big or there are multiple meshes being imported that cover a large area, compressing the import of this mesh(es) may lead to gaps in geometry or vertices not being exactly where they should be." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:207 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:208 msgid "Ensure Tangents" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:209 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:210 msgid "If textures with normal mapping are to be used, meshes need to have tangent arrays. This option ensures that these are generated if not present in the source scene. Godot uses Mikktspace for this, but it's always better to have them generated in the exporter." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:217 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:218 msgid "Meshes can be stored in separate files (resources) instead of built-in. This does not have much practical use unless one wants to build objects with them directly." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:220 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:221 msgid "This option is provided to help those who prefer working directly with meshes instead of scenes." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:224 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:225 msgid "Light Baking" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:226 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:227 msgid "Whether or not the mesh is used in baked lightmaps." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:228 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:229 msgid "**Disabled:** The mesh is not used in baked lightmaps." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:229 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:230 msgid "**Enable:** The mesh is used in baked lightmaps." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:230 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:231 msgid "**Gen Lightmaps:** The mesh is used in baked lightmaps, and unwraps a second UV layer for lightmaps." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:232 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:233 msgid "For more information on light baking see :ref:`doc_baked_lightmaps`." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:235 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:236 msgid "External Files" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:237 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:238 msgid "Generated meshes and materials can be optionally stored in a subdirectory with the name of the scene." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:241 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:242 msgid "Animation options" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:243 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:244 msgid "Godot provides many options regarding how animation data is dealt with. Some exporters (such as Blender) can generate many animations in a single file. Others, such as 3DS Max or Maya, need many animations put into the same timeline or, at worst, put each animation in a separate file." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:250 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:251 msgid "Import of animations is enabled by default." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:253 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:254 msgid "FPS" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:255 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:256 msgid "Most 3D export formats store animation timeline in seconds instead of frames. To ensure animations are imported as faithfully as possible, please specify the frames per second used to edit them. Failing to do this may result in shaky animations." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:260 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:261 msgid "Filter Script" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:262 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:263 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/getting_started/workflow/assets/importing_scenes.rst:265 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:266 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, using ``?`` and ``*`` wildcards (using ``String.matchn()`` under the hood)." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:271 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:272 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/getting_started/workflow/assets/importing_scenes.rst:277 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:278 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/getting_started/workflow/assets/importing_scenes.rst:283 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:284 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/getting_started/workflow/assets/importing_scenes.rst:287 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:288 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/getting_started/workflow/assets/importing_scenes.rst:292 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:293 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/getting_started/workflow/assets/importing_scenes.rst:301 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:302 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/getting_started/workflow/assets/importing_scenes.rst:304 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:305 msgid "Any track filter lines that do not begin with a ``+`` or ``-`` are ignored." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:309 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:310 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/getting_started/workflow/assets/importing_scenes.rst:313 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:314 msgid "Optimizer" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:315 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:316 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/getting_started/workflow/assets/importing_scenes.rst:319 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:320 msgid "Clips" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:321 -msgid "It is possible to specify multiple animations from a single timeline as clips. Specify from which frame to which frame each clip must be taken (and, of course, don't forget to specify the FPS option above)." +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:322 +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/getting_started/workflow/assets/importing_scenes.rst:325 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:331 msgid "Scene inheritance" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:327 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:333 msgid "In many cases, it may be desired to make modifications to the imported scene. By default, this is not possible because if the source asset changes (source ``.dae``, ``.gltf``, ``.obj`` file re-exported from 3D modelling app), Godot will re-import the whole scene." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:330 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:336 msgid "It is possible, however, to make local modifications by using *Scene Inheritance*. Try to open the imported scene and the following dialog will appear:" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:335 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:341 msgid "In inherited scenes, the only limitations for modifications are:" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:337 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:343 msgid "Nodes can't be removed (but can be added anywhere)." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:338 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:344 msgid "Sub-Resources can't be edited (save them externally as described above for this)" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:340 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:346 msgid "Other than that, everything is allowed!" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:343 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:349 msgid "Import hints" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:345 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:351 msgid "Many times, when editing a scene, there are common tasks that need to be done after exporting:" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:347 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:353 msgid "Adding collision detection to objects" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:348 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:354 msgid "Setting objects as navigation meshes" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:349 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:355 msgid "Deleting nodes that are not used in the game engine (like specific lights used for modelling)" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:351 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:357 msgid "To simplify this workflow, Godot offers a few suffixes that can be added to the names of the objects in your 3D modelling software. When imported, Godot will detect them and perform actions automatically:" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:356 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:362 msgid "Remove nodes (-noimp)" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:358 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:364 msgid "Node names that have this suffix will be removed at import time, no matter what their type is. They will not appear in the imported scene." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:362 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:368 msgid "Create collisions (-col, -colonly, -convcolonly)" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:364 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:370 msgid "Option \"-col\" will work only for Mesh nodes. If it is detected, a child static collision node will be added, using the same geometry as the mesh." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:367 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:373 msgid "However, it is often the case that the visual geometry is too complex or too un-smooth for collisions, which ends up not working well." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:370 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:376 msgid "To solve this, the \"-colonly\" modifier exists, which will remove the mesh upon import and create a :ref:`class_staticbody` collision instead. This helps the visual mesh and actual collision to be separated." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:374 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:380 msgid "Option \"-convcolonly\" will create a :ref:`class_convexpolygonshape` instead of a :ref:`class_concavepolygonshape`." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:376 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:382 msgid "Option \"-colonly\" can also be used with Blender's empty objects. On import, it will create a :ref:`class_staticbody` 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/getting_started/workflow/assets/importing_scenes.rst:383 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:389 msgid "Single arrow will create a :ref:`class_rayshape`" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:384 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:390 msgid "Cube will create a :ref:`class_boxshape`" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:385 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:391 msgid "Image will create a :ref:`class_planeshape`" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:386 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:392 msgid "Sphere (and the others not listed) will create a :ref:`class_sphereshape`" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:388 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:394 msgid "For better visibility in Blender's editor, the user can set \"X-Ray\" option on collision empties and set some distinct color for them in User Preferences / Themes / 3D View / Empty." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:392 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:398 msgid "Create navigation (-navmesh)" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:394 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:400 msgid "A mesh node with this suffix will be converted to a navigation mesh. Original Mesh node will be removed." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:398 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:404 msgid "Create a VehicleBody (-vehicle)" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:400 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:406 msgid "A mesh node with this suffix will be imported as a child to a :ref:`VehicleBody ` node." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:403 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:409 msgid "Create a VehicleWheel (-wheel)" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:405 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:411 msgid "A mesh node with this suffix will be imported as a child to a :ref:`VehicleWheel ` node." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:408 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:414 msgid "Rigid Body (-rigid)" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:410 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:416 msgid "Creates a rigid body from this mesh." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:413 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:419 msgid "Animation loop (-loop, -cycle)" msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:415 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:421 msgid "Animation clips in the COLLADA document that start or end with the token \"loop\" or \"cycle\" will be imported as a Godot Animation with the loop flag set. This is case-sensitive and does not require a hyphen." msgstr "" -#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:419 +#: ../../docs/getting_started/workflow/assets/importing_scenes.rst:425 msgid "In Blender, this requires using the NLA Editor and naming the Action with the \"loop\" or \"cycle\" prefix or suffix." msgstr "" diff --git a/sphinx/templates/getting_started/workflow/assets/importing_translations.pot b/sphinx/templates/getting_started/workflow/assets/importing_translations.pot index f59c7d8737..8101564c6e 100644 --- a/sphinx/templates/getting_started/workflow/assets/importing_translations.pot +++ b/sphinx/templates/getting_started/workflow/assets/importing_translations.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "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/workflow/assets/index.pot b/sphinx/templates/getting_started/workflow/assets/index.pot index c278d2a929..681ce51987 100644 --- a/sphinx/templates/getting_started/workflow/assets/index.pot +++ b/sphinx/templates/getting_started/workflow/assets/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "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/workflow/best_practices/autoloads_versus_internal_nodes.pot b/sphinx/templates/getting_started/workflow/best_practices/autoloads_versus_internal_nodes.pot index 046dcecb3d..e379ffd29b 100644 --- a/sphinx/templates/getting_started/workflow/best_practices/autoloads_versus_internal_nodes.pot +++ b/sphinx/templates/getting_started/workflow/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: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "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/workflow/best_practices/data_preferences.pot b/sphinx/templates/getting_started/workflow/best_practices/data_preferences.pot index 4d1a78f620..fc165d6b74 100644 --- a/sphinx/templates/getting_started/workflow/best_practices/data_preferences.pot +++ b/sphinx/templates/getting_started/workflow/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: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -177,7 +177,7 @@ msgid "The reason it starts with 1000 records, and the reason it forces large ga msgstr "" #: ../../docs/getting_started/workflow/best_practices/data_preferences.rst:130 -msgid "As one might be able to tell, Dictionaries specialize in tasks that Arrays aren't. An overview of their operational details is as follows:" +msgid "As one might be able to tell, Dictionaries specialize in tasks that Arrays do not. An overview of their operational details is as follows:" msgstr "" #: ../../docs/getting_started/workflow/best_practices/data_preferences.rst:133 @@ -285,7 +285,7 @@ msgid "Enumerations: int vs. string" msgstr "" #: ../../docs/getting_started/workflow/best_practices/data_preferences.rst:276 -msgid "Most languages offer an enumeration type option. GDScript is no different, but unlike most other languages, it allows one to use either integers or strings for the enum values. The question then arises, \"which should one use?\"" +msgid "Most languages offer an enumeration type option. GDScript is no different, but unlike most other languages, it allows one to use either integers or strings for the enum values (the latter only when using the ``export`` keyword in GDScript). The question then arises, \"which should one use?\"" msgstr "" #: ../../docs/getting_started/workflow/best_practices/data_preferences.rst:281 diff --git a/sphinx/templates/getting_started/workflow/best_practices/godot_interfaces.pot b/sphinx/templates/getting_started/workflow/best_practices/godot_interfaces.pot index bf4de7079a..1857efe0c0 100644 --- a/sphinx/templates/getting_started/workflow/best_practices/godot_interfaces.pot +++ b/sphinx/templates/getting_started/workflow/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: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "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/workflow/best_practices/godot_notifications.pot b/sphinx/templates/getting_started/workflow/best_practices/godot_notifications.pot index f979b4e66e..70211a7d02 100644 --- a/sphinx/templates/getting_started/workflow/best_practices/godot_notifications.pot +++ b/sphinx/templates/getting_started/workflow/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: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "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/workflow/best_practices/index.pot b/sphinx/templates/getting_started/workflow/best_practices/index.pot index f874493f6c..b857499a9b 100644 --- a/sphinx/templates/getting_started/workflow/best_practices/index.pot +++ b/sphinx/templates/getting_started/workflow/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: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "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/workflow/best_practices/introduction_best_practices.pot b/sphinx/templates/getting_started/workflow/best_practices/introduction_best_practices.pot index 768e107882..02b922c0cc 100644 --- a/sphinx/templates/getting_started/workflow/best_practices/introduction_best_practices.pot +++ b/sphinx/templates/getting_started/workflow/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: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "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/workflow/best_practices/logic_preferences.pot b/sphinx/templates/getting_started/workflow/best_practices/logic_preferences.pot index 90983e8ccc..a6b74a7144 100644 --- a/sphinx/templates/getting_started/workflow/best_practices/logic_preferences.pot +++ b/sphinx/templates/getting_started/workflow/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: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "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/workflow/best_practices/node_alternatives.pot b/sphinx/templates/getting_started/workflow/best_practices/node_alternatives.pot index 4aa9d89d97..2e2f1a7f8e 100644 --- a/sphinx/templates/getting_started/workflow/best_practices/node_alternatives.pot +++ b/sphinx/templates/getting_started/workflow/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: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "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/workflow/best_practices/scene_organization.pot b/sphinx/templates/getting_started/workflow/best_practices/scene_organization.pot index 3309726bee..f731d60b14 100644 --- a/sphinx/templates/getting_started/workflow/best_practices/scene_organization.pot +++ b/sphinx/templates/getting_started/workflow/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: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "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/workflow/best_practices/scenes_versus_scripts.pot b/sphinx/templates/getting_started/workflow/best_practices/scenes_versus_scripts.pot index 6d1acacd05..56ad61c202 100644 --- a/sphinx/templates/getting_started/workflow/best_practices/scenes_versus_scripts.pot +++ b/sphinx/templates/getting_started/workflow/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: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "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/workflow/best_practices/what_are_godot_classes.pot b/sphinx/templates/getting_started/workflow/best_practices/what_are_godot_classes.pot index 76dc277e3b..62c405dfcf 100644 --- a/sphinx/templates/getting_started/workflow/best_practices/what_are_godot_classes.pot +++ b/sphinx/templates/getting_started/workflow/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: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "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/workflow/export/android_custom_build.pot b/sphinx/templates/getting_started/workflow/export/android_custom_build.pot index 48b3fb56be..c8ce6d5f77 100644 --- a/sphinx/templates/getting_started/workflow/export/android_custom_build.pot +++ b/sphinx/templates/getting_started/workflow/export/android_custom_build.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "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/workflow/export/changing_application_icon_for_windows.pot b/sphinx/templates/getting_started/workflow/export/changing_application_icon_for_windows.pot index 6d4b2161bf..59c0932d40 100644 --- a/sphinx/templates/getting_started/workflow/export/changing_application_icon_for_windows.pot +++ b/sphinx/templates/getting_started/workflow/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: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "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/workflow/export/exporting_for_android.pot b/sphinx/templates/getting_started/workflow/export/exporting_for_android.pot index 61c15eb286..3e964178ab 100644 --- a/sphinx/templates/getting_started/workflow/export/exporting_for_android.pot +++ b/sphinx/templates/getting_started/workflow/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: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -77,7 +77,7 @@ msgid "Setting it up in Godot" msgstr "" #: ../../docs/getting_started/workflow/export/exporting_for_android.rst:49 -msgid "Enter the Editor Settings screen. This screen contains the editor settings for the user account in the computer (it's independent from the project)." +msgid "Enter the Editor Settings screen. This screen contains the editor settings for the user account in the computer (it's independent of the project)." msgstr "" #: ../../docs/getting_started/workflow/export/exporting_for_android.rst:55 @@ -93,7 +93,7 @@ msgid "The ``adb`` executable (``adb.exe`` on Windows) - It can usually be found msgstr "" #: ../../docs/getting_started/workflow/export/exporting_for_android.rst:64 -msgid "The ``jarsigner`` executable (from JDK 6 or 8) - On Windows, OpenJDK installs to a dir like ``%PROGRAMFILES%\\ojdkbuild\\java-1.8.0-openjdk-1.8.0.232-2\\bin``. The exact path may vary depending on the OpenJDK update you've installed." +msgid "The ``jarsigner`` executable (from JDK 6 or 8) - On Windows, OpenJDK installs to a dir like ``%PROGRAMFILES%\\ojdkbuild\\java-1.8.0-openjdk-1.8.0.232-2\\bin``. On Linux, it typically installs to a dir like ``/usr/bin/jarsigner``. The exact path may vary depending on the OpenJDK update you've installed and your machine's operating system." msgstr "" #: ../../docs/getting_started/workflow/export/exporting_for_android.rst:67 @@ -117,7 +117,7 @@ msgid "There are two types of icons required by Godot:" msgstr "" #: ../../docs/getting_started/workflow/export/exporting_for_android.rst:79 -msgid "**Main Icon:**: The \"classic\" icon. This will be used on all Android versions up to Android 8 (Oreo), exclusive. Must be at least 192×192 px." +msgid "**Main Icon:** The \"classic\" icon. This will be used on all Android versions up to Android 8 (Oreo), exclusive. Must be at least 192×192 px." msgstr "" #: ../../docs/getting_started/workflow/export/exporting_for_android.rst:80 @@ -149,7 +149,7 @@ msgid "**Adaptive Icon Background:** Provided background icon -> Default Godot b msgstr "" #: ../../docs/getting_started/workflow/export/exporting_for_android.rst:92 -msgid "It's highly recommended to provide all of the requested icons, and at least with the specified resolutions. Only this way your application will look great on all the Android devices and versions." +msgid "It's highly recommended to provide all requested icons, and at least with the specified resolutions. Only this way your application will look great on all Android devices and versions." msgstr "" #: ../../docs/getting_started/workflow/export/exporting_for_android.rst:95 diff --git a/sphinx/templates/getting_started/workflow/export/exporting_for_ios.pot b/sphinx/templates/getting_started/workflow/export/exporting_for_ios.pot index 03c118000b..1edaf84dcb 100644 --- a/sphinx/templates/getting_started/workflow/export/exporting_for_ios.pot +++ b/sphinx/templates/getting_started/workflow/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: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\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 "The following export options are required. Leaving any blank will cause t msgstr "" #: ../../docs/getting_started/workflow/export/exporting_for_ios.rst:25 -msgid "In the **Application** category * **App Store Team ID**" +msgid "In the **Application** category * **App Store Team ID** and (Bundle) **Identifier**" msgstr "" #: ../../docs/getting_started/workflow/export/exporting_for_ios.rst:27 diff --git a/sphinx/templates/getting_started/workflow/export/exporting_for_pc.pot b/sphinx/templates/getting_started/workflow/export/exporting_for_pc.pot index 85da9d22bd..9990718a7d 100644 --- a/sphinx/templates/getting_started/workflow/export/exporting_for_pc.pot +++ b/sphinx/templates/getting_started/workflow/export/exporting_for_pc.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "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/workflow/export/exporting_for_uwp.pot b/sphinx/templates/getting_started/workflow/export/exporting_for_uwp.pot index e03d9c7700..f1922c940a 100644 --- a/sphinx/templates/getting_started/workflow/export/exporting_for_uwp.pot +++ b/sphinx/templates/getting_started/workflow/export/exporting_for_uwp.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine latest\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "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/workflow/export/exporting_for_web.pot b/sphinx/templates/getting_started/workflow/export/exporting_for_web.pot index bb734ae888..340c415870 100644 --- a/sphinx/templates/getting_started/workflow/export/exporting_for_web.pot +++ b/sphinx/templates/getting_started/workflow/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: 2020-03-13 17:49+0100\n" +"POT-Creation-Date: 2020-04-27 12:19+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -33,242 +33,246 @@ msgid "Many browsers, including Firefox and Chromium-based browsers, will not lo msgstr "" #: ../../docs/getting_started/workflow/export/exporting_for_web.rst:19 -msgid "Python offers an easy method to start a local server. Use ``python -m SimpleHTTPServer`` with Python 2 or ``python -m http.server`` with Python 3 to serve the current working directory at ``http://localhost:8000``." +msgid "Python offers an easy method to start a local server. Use ``python -m http.server`` with Python 3 to serve the current working directory at ``http://localhost:8000``." msgstr "" -#: ../../docs/getting_started/workflow/export/exporting_for_web.rst:25 +#: ../../docs/getting_started/workflow/export/exporting_for_web.rst:23 +msgid "`There are significant bugs when running HTML5 projects on iOS `__ (regardless of the browser). We recommend using :ref:`iOS' native export functionality ` instead, as it will also result in better performance." +msgstr "" + +#: ../../docs/getting_started/workflow/export/exporting_for_web.rst:29 msgid "WebGL 2" msgstr "" -#: ../../docs/getting_started/workflow/export/exporting_for_web.rst:27 +#: ../../docs/getting_started/workflow/export/exporting_for_web.rst:31 msgid "Until the *OpenGL ES 3* renderer is removed from Godot in favor of *Vulkan*, HTML5 export uses *WebGL 2* when the *GLES3* option is selected." msgstr "" -#: ../../docs/getting_started/workflow/export/exporting_for_web.rst:30 -msgid "Usage of WebGL 2 is not recommended due to its expected removal from Godot without replacement." +#: ../../docs/getting_started/workflow/export/exporting_for_web.rst:34 +msgid "Using WebGL 2 is not recommended due to its expected removal from Godot without replacement." msgstr "" -#: ../../docs/getting_started/workflow/export/exporting_for_web.rst:33 +#: ../../docs/getting_started/workflow/export/exporting_for_web.rst:37 msgid "WebGL 2 is not supported in all browsers. **Firefox** and **Chromium** (Chrome, Opera) are the most popular supported browsers, **Safari** and **Edge** do not work. On **iOS**, all browsers are based on WebKit (i.e. Safari), so they will also not work." msgstr "" -#: ../../docs/getting_started/workflow/export/exporting_for_web.rst:38 +#: ../../docs/getting_started/workflow/export/exporting_for_web.rst:42 msgid "Godot's WebGL 2 renderer has issues with 3D and is no longer maintained." msgstr "" -#: ../../docs/getting_started/workflow/export/exporting_for_web.rst:41 +#: ../../docs/getting_started/workflow/export/exporting_for_web.rst:45 msgid "Limitations" msgstr "" -#: ../../docs/getting_started/workflow/export/exporting_for_web.rst:43 +#: ../../docs/getting_started/workflow/export/exporting_for_web.rst:47 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/getting_started/workflow/export/exporting_for_web.rst:48 +#: ../../docs/getting_started/workflow/export/exporting_for_web.rst:52 msgid "Using cookies for data persistence" msgstr "" -#: ../../docs/getting_started/workflow/export/exporting_for_web.rst:50 +#: ../../docs/getting_started/workflow/export/exporting_for_web.rst:54 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/getting_started/workflow/export/exporting_for_web.rst:55 +#: ../../docs/getting_started/workflow/export/exporting_for_web.rst:59 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/getting_started/workflow/export/exporting_for_web.rst:60 +#: ../../docs/getting_started/workflow/export/exporting_for_web.rst:64 msgid "Full screen and mouse capture" msgstr "" -#: ../../docs/getting_started/workflow/export/exporting_for_web.rst:62 +#: ../../docs/getting_started/workflow/export/exporting_for_web.rst:66 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/getting_started/workflow/export/exporting_for_web.rst:69 +#: ../../docs/getting_started/workflow/export/exporting_for_web.rst:73 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/getting_started/workflow/export/exporting_for_web.rst:74 +#: ../../docs/getting_started/workflow/export/exporting_for_web.rst:78 msgid "Audio autoplay" msgstr "" -#: ../../docs/getting_started/workflow/export/exporting_for_web.rst:76 +#: ../../docs/getting_started/workflow/export/exporting_for_web.rst:80 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/getting_started/workflow/export/exporting_for_web.rst:79 +#: ../../docs/getting_started/workflow/export/exporting_for_web.rst:83 msgid "Google offers additional information about their `Web Audio autoplay policies `__." msgstr "" -#: ../../docs/getting_started/workflow/export/exporting_for_web.rst:83 +#: ../../docs/getting_started/workflow/export/exporting_for_web.rst:87 msgid ":ref:`class_HTTPClient` and :ref:`class_HTTPRequest`" msgstr "" -#: ../../docs/getting_started/workflow/export/exporting_for_web.rst:85 +#: ../../docs/getting_started/workflow/export/exporting_for_web.rst:89 msgid "The HTTP classes have several restrictions on the HTML5 platform:" msgstr "" -#: ../../docs/getting_started/workflow/export/exporting_for_web.rst:87 +#: ../../docs/getting_started/workflow/export/exporting_for_web.rst:91 msgid "Accessing or changing the ``StreamPeer`` is not possible" msgstr "" -#: ../../docs/getting_started/workflow/export/exporting_for_web.rst:88 +#: ../../docs/getting_started/workflow/export/exporting_for_web.rst:92 msgid "Threaded/Blocking mode is not available" msgstr "" -#: ../../docs/getting_started/workflow/export/exporting_for_web.rst:89 +#: ../../docs/getting_started/workflow/export/exporting_for_web.rst:93 msgid "Cannot progress more than once per frame, so polling in a loop will freeze" msgstr "" -#: ../../docs/getting_started/workflow/export/exporting_for_web.rst:90 +#: ../../docs/getting_started/workflow/export/exporting_for_web.rst:94 msgid "No chunked responses" msgstr "" -#: ../../docs/getting_started/workflow/export/exporting_for_web.rst:91 +#: ../../docs/getting_started/workflow/export/exporting_for_web.rst:95 msgid "Host verification cannot be disabled" msgstr "" -#: ../../docs/getting_started/workflow/export/exporting_for_web.rst:92 +#: ../../docs/getting_started/workflow/export/exporting_for_web.rst:96 msgid "Subject to `same-origin policy `__" msgstr "" -#: ../../docs/getting_started/workflow/export/exporting_for_web.rst:95 +#: ../../docs/getting_started/workflow/export/exporting_for_web.rst:99 msgid "Exported ``.html`` file must not be reused" msgstr "" -#: ../../docs/getting_started/workflow/export/exporting_for_web.rst:97 +#: ../../docs/getting_started/workflow/export/exporting_for_web.rst:101 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 the **generated HTML file** will be lost in future exports. To customize the generated file, see :ref:`doc_customizing_html5_shell`." msgstr "" -#: ../../docs/getting_started/workflow/export/exporting_for_web.rst:101 +#: ../../docs/getting_started/workflow/export/exporting_for_web.rst:105 msgid "Boot splash is not displayed" msgstr "" -#: ../../docs/getting_started/workflow/export/exporting_for_web.rst:103 +#: ../../docs/getting_started/workflow/export/exporting_for_web.rst:107 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/getting_started/workflow/export/exporting_for_web.rst:108 +#: ../../docs/getting_started/workflow/export/exporting_for_web.rst:112 msgid "Unimplemented functionality" msgstr "" -#: ../../docs/getting_started/workflow/export/exporting_for_web.rst:110 +#: ../../docs/getting_started/workflow/export/exporting_for_web.rst:114 msgid "The following functionality is currently unavailable on the HTML5 platform:" msgstr "" -#: ../../docs/getting_started/workflow/export/exporting_for_web.rst:112 +#: ../../docs/getting_started/workflow/export/exporting_for_web.rst:116 msgid "Threads" msgstr "" -#: ../../docs/getting_started/workflow/export/exporting_for_web.rst:113 +#: ../../docs/getting_started/workflow/export/exporting_for_web.rst:117 msgid "GDNative" msgstr "" -#: ../../docs/getting_started/workflow/export/exporting_for_web.rst:114 +#: ../../docs/getting_started/workflow/export/exporting_for_web.rst:118 msgid "C#" msgstr "" -#: ../../docs/getting_started/workflow/export/exporting_for_web.rst:115 -msgid "Clipboard synchronisation between engine and operating system" +#: ../../docs/getting_started/workflow/export/exporting_for_web.rst:119 +msgid "Clipboard synchronization between engine and operating system" msgstr "" -#: ../../docs/getting_started/workflow/export/exporting_for_web.rst:116 +#: ../../docs/getting_started/workflow/export/exporting_for_web.rst:120 msgid "Networking other than :ref:`class_HTTPClient` and :ref:`class_WebSocketClient`" msgstr "" -#: ../../docs/getting_started/workflow/export/exporting_for_web.rst:118 -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." +#: ../../docs/getting_started/workflow/export/exporting_for_web.rst:122 +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/getting_started/workflow/export/exporting_for_web.rst:124 +#: ../../docs/getting_started/workflow/export/exporting_for_web.rst:128 msgid "Serving the files" msgstr "" -#: ../../docs/getting_started/workflow/export/exporting_for_web.rst:126 +#: ../../docs/getting_started/workflow/export/exporting_for_web.rst:130 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/getting_started/workflow/export/exporting_for_web.rst:130 +#: ../../docs/getting_started/workflow/export/exporting_for_web.rst:134 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." msgstr "" -#: ../../docs/getting_started/workflow/export/exporting_for_web.rst:134 +#: ../../docs/getting_started/workflow/export/exporting_for_web.rst:138 msgid "The HTML page draws the game at maximum size within the browser window. This way it can be inserted into an ``